Красивая обёртка и гнилой код: как агентства прячут технический долг, и почему ваш сайт начнёт тормозить через полгода

Год назад ко мне пришёл клиент. Назовём его Дмитрием. Дима светился от счастья: крупная студия только что сдала ему интернет-магазин. Обошлось это чудо в 1,2 миллиона рублей. Дизайн — космос, шрифты подобраны идеально, анимация летает. Студия сдала проект, подписала акты и ушла праздновать.

Проблемы начались через четыре месяца. Сначала корзина стала открываться за 8,4 секунды. Клиенты начали уходить, не завершив покупку. Потом сайт и вовсе лёг на пару часов, а в логах посещений появились странные китайские IP-адреса. Студия развела руками: «У вас хостинг слабый, берите тариф дороже, а за аудит кода платите отдельно».

Мы залезли под капот. Мама дорогая. Под капотом лежал франкенштейн. Студия взяла готовый шаблон, натянула его на WordPress, воткнула 42 сторонних плагина (половина из которых дублировала функции друг друга) и закрыла глаза на безопасность. Всё это держалось на костылях из неотптимизированных SQL-запросов и устаревших библиотек. Красивая обёртка скрывала тонны технического долга. И это не исключение. Это стандарт индустрии.

Почему агентствам выгодно сдавать вам мусор

Бизнес агентств устроен просто: продать дороже, сделать быстрее, сдать проект до того, как полезут баги. Клиент оценивает глазами. Он видит цвета, кнопочки, скорость загрузки на чистом тестовом сервере без нагрузки. Никто из заказчиков не лезет в код, не проверяет заголовки безопасности и не смотрит на версии библиотек.

Разработчикам платят за фичи, а не за чистоту инфраструктуры. Зачем тратить три дня на оптимизацию базы данных и написание кастомного легковесного решения, если можно за пять минут поставить готовый плагин? То, что этот плагин не обновлялся три года и весит как чугунный мост, агентство не волнует. Проект сдадут, акты подпишут, а разгребать последствия будете вы.

Технический долг — это кредит под дикие проценты. Вы не платите за него в первый месяц. Но через полгода сайт начинает тупить, ломаться при обновлении PHP или просто ложится под минимальной нагрузкой.

Три всадника технического апокалипсиса

За годы работы я выделил три главные проблемы, которые агентства стабильно «забывают» решить перед сдачей проекта.

Первое — производительность. Обычно разработчики показывают клиенту зелёную зону в PageSpeed, тестируя пустую главную страницу без картинок и метрик. На реальном проекте всё иначе. Чтобы понять, где узкое место, нужен глубокий аудит скорости сайта с отчётом, который покажет время ответа сервера (TTFB) под нагрузкой, неоптимизированный JS-код и блокирующие рендеринг ресурсы. Если у вас на главной грузится 5 мегабайт несжатых картинок, никакой дорогой сервер вас не спасёт.

Второе — легаси-софт. Почти каждый сайт на CMS — это минное поле. Разработчики ставят плагины для всего подряд: от SEO до простых форм обратной связи. Проблема в том, что эти плагины быстро устаревают, а их авторы забивают на поддержку. В итоге у вас работает код, написанный в 2018 году. Чтобы найти эти слабые места, мы всегда составляем детальный отчёт по устаревшим плагинам и модулям. Это помогает понять, какие части системы пора переписать вручную, пока они не обрушили весь сайт.

Третье — уязвимости. Хакеры давно не взламывают сайты вручную. Они используют автоматических сканеров, которые ищут известные дыры в коде. Регулярный поиск уязвимостей сайта cve (Common Vulnerabilities and Exposures) — это гигиена. Если у вас стоит старая версия jQuery или CMS, ваш сайт взломают. Вопрос лишь в том, когда именно это произойдёт.

Как заставить разработчиков работать нормально

Не верьте словам. Верьте цифрам и независимым проверкам.

Перед тем как подписать финальный акт приемки и перевести последний транш, потребуйте у исполнителей отчёт о состоянии системы. А лучше — привлеките третью сторону для независимого аудита.

Когда у вас на руках есть независимый pdf отчёт по безопасности сайта и скорости его работы, разговор с агентством переходит в конструктивное русло. Вы больше не спорите на уровне «мне кажется, сайт тормозит». Вы показываете пальцем на конкретные незакрытые порты, устаревшие версии библиотек и проваленные тесты производительности. И агентство исправляет это за свой счёт, потому что деваться им некуда.

Если вы хотите проверить свой сайт прямо сейчас, убедиться, что разработчики не оставили вам «подарков», или подготовить аргументы для исправления косяков, мы в GuardLabs готовы помочь. Мы не занимаемся разработкой, поэтому судим непредвзято. Мы проведём глубокий технический аудит и пришлем вам понятный, наглядный PDF-отчёт по скорости и безопасности сайта с конкретным списком того, что нужно исправить, без сложной терминологии и воды.