Проблемы старого сайта
За более чем 10 лет работы сайт накопил серьезный технический долг:
-
новые функции внедрялись с опозданием или не внедрялись вовсе из-за архитектурных ограничений;
-
страницы загружались медленно, уступая конкурентам;
-
дизайн устарел, но на его обновление не хватало ресурсов.
В итоге бизнес решил отказаться от внутренней разработки и передать проект на аутсорс.
После детального обсуждения с заказчиком и проведения аудита мы пришли к выводу: для достижения устойчивого результата необходима глубокая переработка сайта. Перед нами встал стратегический выбор.
С одной стороны, можно было разработать совершенно новую версию с нуля, но это означало бы заморозку развития текущей платформы на несколько месяцев. Важные функции остались бы недоступны, что не устраивало бизнес.
С другой стороны, существовал вариант планомерно устранять накопившийся технический долг и оперативно внедрять необходимые изменения в существующую систему.
В итоге было решено двигаться вторым путем, однако в процессе работы мы столкнулись с рядом нюансов, которые потребовали дополнительного внимания.
На первом этапе мы сосредоточились на устранении накопившихся проблем.
Суть проблемы заключалась в том, что сайт фактически состоял из трех независимых частей, которые отвечали за отображение разных страниц:
-
Фронтенд (Vue.js): отвечал только за главную страницу и поиск.
-
SSR-сервис: генерировал часть страниц на сервере.
-
Бэкенд (PHP): создавал остальные страницы с помощью обычного HTML-рендеринга.
Из-за такой структуры любое, даже самое простое изменение (например, поменять текст в шапке или цвет кнопки), нужно было вносить сразу в трех разных приложениях и трижды выкладывать обновление. Это сильно замедляло выпуск новых версий и повышало вероятность ошибок, особенно когда на сайт заходило много людей.
Сложности добавляла и неоптимальная инфраструктура. База данных раздулась до 23 Гб из-за дублирования информации и неэффективной работы. Мы подсчитали, что при грамотном подходе ее можно было бы сократить до 3 Гб. Чтобы сайт просто не «зависал», компании приходилось арендовать очень мощные и дорогие серверы.
Проанализировав ситуацию, мы сформировали команду из шести человек (фронтенд- и бэкенд-разработчики, а также руководители) и приступили к работе. Нам помогал DevOps-специалист из старой команды. В течение следующих месяцев мы в первую очередь занимались «лечением» текущей системы и исправлением самых критичных моментов.

-
Мы автоматизировали ручные процессы:
-
внедрили автоматическую отправку ссылок на оплату и функционал оплаты долями;
-
настроили интеграцию с 1С для обмена данными без участия бухгалтерии;
-
перевели все видео с YouTube на VK Видео, так как прежний сервис стал нестабильно работать в России.
Однако эти меры не решали коренных проблем: сайт оставался медленным и сложным в поддержке.
Новый этап: переписываем код
Когда заказчик попросил доработать раздел экспертных статей (важный источник SEO-трафика), выяснилось, что реализовать это невозможно из-за устаревшей архитектуры. Мы предложили полностью переписать код, перейти на единый SSR-фронтенд (Nuxt.js), унифицировать бэкенд на Go и внедрить современный дизайн.
Заказчик согласился, но с условием: старая версия должна поддерживаться до полного перехода.

Мы внедрили принцип параллельной поддержки: все новые функции сначала появлялись на старой версии, а затем переносились в новую. За полгода реализовали сразу несколько важных улучшений:
-
Автоматизация данных с собственных фабрик. Матрас.ру — это не только агрегатор, но и производитель. Раньше информация о ценах и характеристиках с заводов попадала в систему с ошибками. Мы настроили автоматический импорт, чтобы данные обновлялись на сайте мгновенно и без искажений.
-
Раздел отзывов. Мы добавили полноценный функционал для обратной связи. Теперь клиенты могут не просто ставить оценку, но и писать подробные комментарии, прикреплять фотографии и видеть, сколько человек уже посмотрело этот товар.
-
Работа с поставщиками. Появилась удобная панель управления, позволяющая администраторам быстро добавлять новых поставщиков. Для отслеживания аналитики трафиков и продаж была реализована интеграция с CPA-сетями.
-
Умная фильтрация. Поиск нужной модели стал проще. Мы добавили новые параметры фильтрации, привязанные к разным категориям, чтобы пользователи могли быстрее ориентироваться в каталоге.
-
Автоматизация скидок. Больше не нужно вручную менять цены для акций на разных страницах. Мы внедрили сложную логику, которая теперь рассчитывает стоимость автоматически.
Релиз новой версии: втрое быстрее
Когда новая версия была готова, мы спланировали плавный переход. Однако возникли сложности. Чтобы оптимизировать бюджет, заказчик отказался привлекать отдельно тестировщика, из-за чего некоторые функции после релиза работали со сбоями. Все исправляли оперативно. Кроме того, в день запуска обновился сторонний сервис для защиты сайта от ботов. Это обновление вызвало конфликт с кодом сайта: часть страниц перестала отображаться, а у Google возникли проблемы с индексацией. Нам пришлось оперативно отключить сервис и последовательно искать причину сбоя в коде.
Результаты
-
технический долг практически устранен;
-
скорость работы сайта выросла в 3 раза;
-
архитектура стала современной и гибкой;
-
скорость релизов увеличилась в 4 раза;
-
количество ошибок при загрузке страниц снизилось на 90%.
Переход прошел незаметно для пользователей. Новый дизайн будет внедрен в следующей версии.
Планы до конца 2026 года
-
полностью устранить оставшийся технический долг и оптимизировать базу данных;
-
внедрить новый дизайн сайта;
-
реализовать новые способы оплаты, счетчики акций, ПВЗ и тд.;
-
подключить автотестирование для отслеживания работы сайта по 200+ городам.
Мы готовы помочь и с вашим проектом — оставьте заявку для обсуждения деталей.

