Почему сайт за 400к пришлось переписывать с нуля через 3 месяца. Разбор реального кейса
На прошлой неделе ко мне попал интернет-магазин одежды (назовем его Brand-X). Владелец был в ярости: сайт сдали в ноябре 2025-го, заплатили за него почти полмиллиона, а продажи упали в два раза по сравнению со старой версией на конструкторе.
Разработчики кормили завтраками: "Это сезонность", "Это алгоритмы Яндекса шалят". Я залез в код просто из интереса (знакомый попросил). И нашел причину падения продаж за 15 минут.
Это классический пример того, как красивая картинка скрывает техническую катастрофу. Делюсь деталями, чтобы вы знали, куда смотреть при приемке.
Ошибка 1. "Тяжелый люкс" (Проблема LCP)
На главной странице висело полноэкранное видео в 4K. Выглядело эффектно. Но на iPhone 15 через 4G сайт грузился 8.5 секунд.
В 2026-м стандарт e-commerce — 1.5 секунды. Всё, что дольше — это потеря 50% аудитории. Люди просто закрывали вкладку, думая, что сайт сломался.
- Что сделали: Загрузили видео весом 40 Мб прямо в body.
- Как надо: Использовать современные форматы (WebM), отложенную загрузку и "блюр" на старте.
Мы просто оптимизировали медиа-контент и пережали картинки. Скорость загрузки упала до 1.2 сек. График отказов в Метрике пошел вниз на следующий же день.
Ошибка 2. Сайт-невидимка (Проблема SSR)
Владелец жаловался, что новые товары не индексируются. Оказалось, сайт был сделан как SPA (Single Page Application) на старом стеке, но без нормального серверного рендеринга.
Простыми словами: для поискового робота (и для AI-поисковиков типа Perplexity) сайт был пустым белым листом. Контент появлялся только после выполнения скриптов, а роботы не всегда ждут.
- Решение: Переезд на Next.js. Теперь страница отдается роботам уже готовой, с текстом и ценами. AI-поисковики начали "видеть" товары.
Ошибка 3. "Хаос в базе" (Архитектурная ошибка)
Самое больное. Клиент захотел добавить блок "Похожие товары". Выяснилось, что связи между товарами не было. Цвета и размеры были просто текстовыми строчками, а не отдельными сущностями.
Чтобы сделать фильтр "Показать все красные футболки", разработчикам пришлось бы переписывать базу данных с нуля. Это и есть тот самый "технический долг", который закладывают на старте.
Итог
Клиент заплатил 400к за "красивый фасад", за которым скрывался гнилой фундамент. В итоге пришлось пересобирать ядро проекта, выкинув 70% старого кода.
Мораль: Принимая сайт, не смотрите на анимации. Смотрите на метрики.
- PageSpeed Insights (должен быть зеленым).
- Google Search Console (робот должен видеть контент).
- Масштабируемость (спросите: "как добавить новую категорию без программиста?").
P.S.
А если у вас есть похожая боль (сайт тормозит, не индексируется или его невозможно развивать) — пишите, посмотрим, что можно сделать, контакт: t.me/sergeev_danil_dev