Главное Авторские колонки Вакансии Вопросы
😼
Выбор
редакции
377 0 В избр. Сохранено
Авторизуйтесь
Вход с паролем

Как мы помогли переработать сайт федеральному гипермаркету матрасов

Со временем даже сильные продуктовые команды сталкиваются с перегрузкой: задачи копятся, релизы замедляются, а архитектура перестает выдерживать рост проекта. В такой ситуации любое серьезное обновление превращается в риск — остановка сайта даже на короткое время напрямую влияет на выручку.
Мнение автора может не совпадать с мнением редакции

В какой-то момент команда Матрас.ру оказалась именно в такой ситуации. При растущей нагрузке сайт начал тормозить развитие бизнеса: новые функции внедрялись медленно, а часть идей вообще невозможно было реализовать.

При этом «переписать все» — означало бы на время заморозить продукт. Для e-commerce это прямые потери.

Матрас.ру — крупный интернет-магазин с федеральным охватом. Ассортимент включает как товары партнеров, так и продукцию собственных фабрик. Основная нагрузка — на онлайн-продажи, поэтому требования к стабильности и скорости высокие.


Лишь неполный список производителей матрасов, которые представлены на сайте-агрегаторе

Что было на старте

К моменту подключения нашей команды сайт существовал более 10 лет. За это время накопились следующие проблемы:

  1. внедрение новых функций стало затягиваться;
  2. страницы открывались заметно медленнее, чем у конкурентов;
  3. интерфейс устарел, но обновление откладывалось;
  4. архитектура мешала масштабированию.

Внутренняя разработка уже не справлялась с объемом задач — проект решили передать на аутсорс.

Почему сайт работал медленно

Аудит показал, что проблема не в отдельных участках, а в самой структуре системы.

Фактически сайт был собран из нескольких независимых частей:

  1. одна отвечала за часть интерфейса;
  2. другая — за серверный рендеринг;
  3. третья — за генерацию страниц на стороне backend.

Это означало, что любое изменение приходилось дублировать в нескольких местах. Даже простые задачи превращались в цепочку правок и деплоев.

Дополнительно страдала инфраструктура:

  1. база данных разрослась до десятков гигабайт;
  2. данные дублировались;
  3. для поддержания скорости приходилось использовать дорогие серверы.


Первый этап: не переписывать, а стабилизировать

Мы начали не с глобальных изменений, а с точечных доработок, которые сразу влияли на бизнес-процессы.

За несколько месяцев:

  1. автоматизировали отправку платежных ссылок и внедрили оплату частями;
  2. настроили обмен данными с 1С без ручного участия;
  3. перенесли видеоконтент с YouTube на VK Видео из-за нестабильности первого.

Эти изменения снизили нагрузку на процессы, но не решили фундаментальных проблем архитектуры.

Когда стало ясно: без переписывания не обойтись

Критической точкой стал запрос на развитие SEO-раздела со статьями. Выяснилось, что из-за особенностей URL и логики рендеринга внедрить нужные изменения практически невозможно.

Это был сигнал: дальнейшие доработки в текущей системе будут только усложнять ситуацию.

Мы предложили перейти к полной переработке:

  1. объединить фронтенд в единое SSR-приложение на Nuxt.js;
  2. привести backend к единому стеку на Go;
  3. отказаться от разрозненной логики и выстроить единую архитектуру.

Как не остановить продукт: два контура разработки

Главное ограничение со стороны бизнеса — сайт должен продолжать работать и развиваться.

Поэтому мы выстроили параллельный процесс:

  1. текущая версия продолжала поддерживаться;
  2. новая система разрабатывалась отдельно;
  3. ключевой функционал дублировался в обеих версиях.

Такой подход позволил не замораживать развитие и одновременно готовить новую архитектуру.

За следующие шесть месяцев в таком режиме работы удалось внедрить сразу несколько нововведений:

  1. автоматизировали загрузку данных с собственных производств;
  2. внедрили систему отзывов с рейтингами и пользовательским контентом;
  3. добавили удобную работу с поставщиками через админ-панель;
  4. переработали фильтрацию каталога;
  5. автоматизировали расчет скидок и акций.

Эти изменения напрямую повлияли на удобство пользователей и внутренние процессы.

Запуск новой версии

Релиз планировали как поэтапный, чтобы пользователи не заметили перехода. В целом это удалось, но не обошлось без технических сложностей:

  1. отсутствие отдельного QA-специалиста (заказчик решил не привлекать отдельного специалиста, чтобы уложиться в общий бюджет проекта) привело к багам после запуска;
  2. сторонний сервис защиты от ботов вызвал конфликт с сайтом;
  3. временно возникли проблемы с отображением страниц и индексацией.

Все критичные моменты были нами оперативно устранены.

Итог проекта

После перехода на новую архитектуру:

  1. скорость работы сайта увеличилась примерно в 3 раза;
  2. технический долг практически устранен;
  3. релизы ускорились в 4 раза;
  4. количество ошибок при загрузке снизилось на 90%;
  5. система стала масштабируемой и гибкой.

Пока что дизайн остался старым — новый будет внедрен в следующей версии.

До редизайна

После редизайна

Что дальше

Проект продолжает развиваться. В ближайших планах на 2026 год:

  1. убрать оставшийся технический долг
  2. внедрить новый дизайн сайта
  3. расширить функционал (способы оплаты, счетчики акций, ПВЗ и так далее);
  4. подключить автотестирование для мониторинга работы сайта в разных городах

0
В избр. Сохранено
Авторизуйтесь
Вход с паролем