Технический долг сайта: почему бизнес платит за разработку дважды
В 2019 году компания заказала сайт на WordPress за 300 000 ₽. К 2026 году она потратила ещё 2,4 млн ₽ на доработку сайта: исправления багов, обновления плагинов и «срочные» задачи по выходным. Сайт по-прежнему грузится 5 секунд на мобильных, не проходит аудит безопасности, а разработчик, который «знает как всё устроено», уволился год назад. Нового подрядчика нашли, но он посмотрел код и сказал: «Проще переписать с нуля, чем разбираться в этом».
Это типичная история технического долга. Я руковожу веб-студией АП-ИМ с 2008 года, и за 17 лет мы приняли десятки проектов, которые приходили к нам именно в таком состоянии. Компания заплатила за разработку один раз, потом годами платила за поддержку сайта, который становился всё дороже в обслуживании, а потом заплатила за разработку ещё раз — уже с нуля. Расскажу, как это происходит, сколько реально стоит и как не попасть в эту ловушку.
Что такое технический долг и почему он накапливается
Технический долг — это разница между тем, как сайт должен быть сделан, и тем, как он сделан на самом деле. Каждый раз, когда разработчик выбирает быстрое решение вместо правильного (потому что дедлайн, потому что бюджет, потому что «потом переделаем»), он берёт в долг у будущего. И этот долг растёт с процентами.
Типичные источники технического долга на сайтах среднего бизнеса:
Плагины вместо архитектуры. WordPress с 30-40 плагинами — классика. Каждый плагин решает одну задачу, но вместе они создают неуправляемую систему. Плагин контактных форм конфликтует с плагином кэширования. Плагин SEO тормозит страницу на 800 мс. Плагин безопасности блокирует плагин интеграции с CRM. Обновление одного ломает два других. Разработчик тратит 4 часа на то, что должно занимать 15 минут.
Кастомизация «коробки» вместо своей системы. Сайт на Битрикс с кастомными модулями, написанными тремя разными подрядчиками за 5 лет. Каждый писал в своём стиле, с разными подходами к безопасности и архитектуре. Код не документирован. Новый разработчик не может разобраться без автора. Автор уволился или закрыл компанию.
Устаревший стек. PHP 7.4 (поддержка закончилась в ноябре 2022), jQuery вместо современного фреймворка, MySQL без индексов, сервер на CentOS 7 (EOL — июнь 2024). Каждый из этих пунктов — это уязвимость сайта и потеря производительности. Хакеры целенаправленно ищут сайты на устаревших версиях PHP — это самый простой вектор атаки.
«Временные» решения. «Давайте пока захардкодим цены» → три года спустя менеджер звонит разработчику каждый раз, когда нужно поменять прайс. «Давайте пока без мобильной версии» → по нашим клиентам, от 60% до 80% трафика приходит с мобильных, и этот трафик уходит с неадаптированного сайта. «Давайте пока не будем делать тесты» → каждое обновление ломает что-то непредсказуемое.
Как выглядит технический долг изнутри: три кейса
Кейс 1: WordPress-сайт промышленной компании. Заказан в 2018 за 250 000 ₽. 42 плагина. TTFB (время до первого байта) — 3,2 секунды. PageSpeed Mobile — 18 из 100. За 6 лет потратили 1,8 млн ₽ на поддержку (в среднем 25 000 ₽/мес). При этом сайт не прошёл аудит безопасности: устаревшие версии PHP и плагинов, три известные уязвимости. Решение: переписали на Next.js + Express.js за 1,2 млн ₽. TTFB — 0,3 секунды. PageSpeed — 94. Стоимость поддержки — 12 000 ₽/мес. Экономия на поддержке — 13 000 ₽/мес, но главный эффект — рост конверсии и SEO-позиций после ускорения сайта. По нашему опыту, совокупный возврат инвестиций (экономия + рост заявок) занимает 10-14 месяцев.
Кейс 2: Интернет-магазин на Битрикс. Заказан в 2020 за 800 000 ₽. 1 200 товаров, интеграция с 1С. Через 3 года каталог вырос до 8 000 товаров, загрузка каталога — 12 секунд. Причина: запросы к базе данных не оптимизированы, нет кэширования, изображения не сжаты. Подрядчик предложил «оптимизацию» за 400 000 ₽. Мы провели аудит и выяснили: архитектура базы данных спроектирована под 500 товаров, масштабирование невозможно без переписывания. Решение: миграция на собственную CMS с API-интеграцией 1С. Стоимость: 2,1 млн ₽. Загрузка каталога: 0,8 секунды. По нашим замерам, конверсия выросла на 35% за первые 3 месяца — за счёт скорости и улучшенной навигации.
Кейс 3: корпоративный сайт на самописной CMS 2012 года. PHP 5.6, без фреймворка, без документации. Единственный разработчик — фрилансер, который писал всё 10 лет. Фрилансер ушёл. Новый подрядчик — 3 месяца на изучение кода, прежде чем смог внести первое изменение. Стоимость «изучения»: 180 000 ₽ (оплата рабочего времени разработчика). При этом сайт устарел визуально и технически, не адаптирован под мобильные, не проходит Core Web Vitals.
Формула: сколько вы реально платите за свой сайт
Стоимость владения сайтом за 5 лет (TCO) складывается из четырёх статей:
Начальная разработка: разовая оплата. Для среднего бизнеса — от 300 000 ₽ (конструктор/шаблон) до 3 000 000 ₽ (кастомная разработка).
Поддержка и доработки: ежемесячная оплата. Техническая поддержка сайта на WordPress или Битрикс обходится в 15 000-50 000 ₽/мес. За 5 лет: 900 000 - 3 000 000 ₽.
Скрытые затраты технического долга: внеплановые расходы. Экстренное восстановление после взлома (50 000-300 000 ₽), миграция при смене подрядчика (100 000-500 000 ₽), потерянные заявки из-за медленного сайта (невозможно точно посчитать, но по нашему опыту это 10-30% от потенциальных лидов), SEO-просадка из-за технических проблем (месяцы на восстановление позиций).
Редизайн или переписывание: когда долг копится до критической массы. От 500 000 ₽ (редизайн сайта на существующей платформе) до 3 000 000+ ₽ (переписывание с нуля на новом стеке).
Пример расчёта для WordPress-сайта за 5 лет: разработка 300К + поддержка 25К × 60 мес (1,5 млн) + внеплановые 200К + переписывание 1,2 млн = 3,2 млн ₽. При этом сайт на современном стеке с нуля стоит 1,5-2 млн ₽, а стоимость поддержки — 10-15К/мес. За те же 5 лет: 1,5 млн + 12К × 60 мес (720К) = 2,2 млн ₽. Разница — миллион рублей. И это без учёта потерянных заявок и SEO-просадки.
Пять признаков, что технический долг уже критический
Вы не можете внести простое изменение без разработчика. Поменять телефон на сайте, обновить цену, добавить фото в портфолио — каждая такая задача требует обращения к подрядчику, ожидания и оплаты. Это значит, что сайт не имеет нормальной системы управления контентом или она настолько сложная, что пользоваться ей невозможно.
Каждое обновление ломает что-то другое. Обновили плагин — перестала работать форма. Обновили PHP — сломался дизайн. Добавили новый раздел — упала скорость. Это классический признак связанного (coupled) кода, где всё зависит от всего.
Сайт грузится дольше 3 секунд на мобильных. Медленный сайт — это не только плохой UX, это прямая потеря денег. Низкая скорость загрузки сайта означает, что Google и Яндекс понижают вас в выдаче. По данным Google, 53% мобильных пользователей уходят, если сайт грузится дольше 3 секунд. Проверьте PageSpeed Insights — если мобильный Score ниже 50, у вас проблема.
Разработчик говорит «это невозможно сделать на текущей архитектуре». Если вы слышите эту фразу чаще раза в квартал — архитектура себя исчерпала. Это не значит, что разработчик плохой. Это значит, что платформа достигла потолка.
Вы боитесь трогать сайт. Менеджеры боятся обновлять CMS. Маркетологи боятся менять лендинги. Разработчики боятся рефакторить код. Страх что-то сломать — главный индикатор накопленного технического долга.
Что делать: три стратегии
Стратегия 1: плановый рефакторинг (долг умеренный). Если сайт в целом работает, но медленный и неудобный, можно провести точечную оптимизацию сайта: ускорение загрузки (оптимизация базы данных, сжатие изображений, удаление неиспользуемых плагинов), обновление серверного ПО, исправление критических уязвимостей. Ускорение сайта с 5 до 2 секунд загрузки — иногда всё, что нужно, чтобы вернуть конверсию. Стоимость: 100 000-300 000 ₽. Срок: 2-4 недели. Подходит, когда: архитектура в целом здоровая, проблемы точечные.
Стратегия 2: миграция на новую платформу (долг серьёзный). Если текущая CMS — потолок, но контент и логика бизнеса сохраняются. Перенос контента и интеграций на современный стек. Стоимость: 500 000-2 000 000 ₽ (зависит от объёма контента и сложности интеграций). Срок: 2-4 месяца. Подходит, когда: текущая CMS тормозит развитие, но бизнес-логика не меняется.
Стратегия 3: переписать с нуля (долг критический). Когда дешевле начать заново, чем лечить старое. Разработка сайта под ключ на новом стеке: архитектура, дизайн, интеграции, перенос контента. Стоимость: от 1 500 000 ₽. Срок: 3-6 месяцев. Подходит, когда: код не документирован, автор недоступен, платформа устарела, бизнес вырос из текущего сайта.
Как выбрать стратегию: закажите технический аудит сайта. За 2-3 дня опытный разработчик проверит код, серверную инфраструктуру, безопасность и производительность и скажет, что дешевле — лечить или переделать. Стоимость аудита: 30 000-80 000 ₽. Это в 10-50 раз дешевле, чем ошибиться со стратегией.
Как не накапливать долг в новом проекте
Выбирайте стек, за который отвечает не один человек. Если ваш сайт может поддерживать только конкретный разработчик — вы в зависимости. Современные фреймворки (React/Next.js, Vue/Nuxt) имеют огромное сообщество и документацию. Найти нового разработчика на Next.js — дело недели. Найти того, кто разберётся в самописной CMS без документации — дело месяцев.
Закладывайте бюджет на техническое обслуживание с первого дня. Стоимость поддержки сайта — это не «дополнительный расход», а часть стоимости владения. Для среднего бизнеса: 10-20% от стоимости разработки ежегодно. Если разработка стоила 2 млн ₽ — закладывайте 200-400К/год на поддержку. Эти деньги идут на обновления, оптимизацию, мониторинг безопасности и предотвращение технического долга.
Требуйте документацию. Архитектура, API-эндпоинты, процедура деплоя, список зависимостей. Если подрядчик говорит «это не нужно» — это первый звонок. Документация стоит 5-10% от бюджета проекта, но экономит миллионы при смене подрядчика.
Проводите технический аудит раз в год. Как техосмотр для автомобиля. 30 000-80 000 ₽ один раз в год, чтобы найти проблемы до того, как они станут критическими.
Итого
Технический долг — это не ошибка разработчика и не стечение обстоятельств. Это закономерный результат экономии на архитектуре, документации и обслуживании. Бизнес, который вложил 300 000 ₽ в «дешёвый» сайт и ещё почти 3 000 000 ₽ в поддержку, внеплановые расходы и переписывание за 5 лет, заплатил за разработку дважды. Бизнес, который вложил 1 500 000 ₽ в правильную архитектуру с первого раза, через 5 лет потратил в полтора раза меньше и получил сайт, который работает, масштабируется и не требует экстренных вызовов по ночам.
Если вы узнали свою ситуацию — начните с аудита. Не с переделки, не с «давайте сразу на новый стек», а с диагностики. Потратьте 30-80 тысяч на то, чтобы понять масштаб проблемы, прежде чем тратить миллионы на её решение.