Техническая поддержка корпоративного сайта korona.by
Вводные данные о клиенте
Торговая сеть «Корона» — один из крупнейших ритейлеров Беларуси. В её состав входят 11 торговых центров и более 15 магазинов в восьми городах страны. Сеть объединяет продуктовые гипермаркеты, магазины одежды, бытовой техники и развлекательные зоны, предлагая покупателям всё необходимое в одном месте.
Беларусь
Ритейл
Руководитель проекта, Backend-разработчик, Frontend-разработчик, QA-инженер, дизайнер, БА
- React
- Laravel
- Vue
- Docker
Контекст и запрос
Сеть гипермаркетов и торговых центров «Корона» — один из самых узнаваемых ритейл-брендов Беларуси. Онлайн-платформа компании давно стала важной частью клиентского опыта: здесь покупатели узнают о новых акциях, следят за скидками и событиями в торговых центрах.
Команда «Короны» обратилась к нам с довольно распространённной проблемой. Сайт стало сложно администрировать: любые правки требовали времени и участия разработчиков, модули конфликтовали между собой, а скорость загрузки заметно упала.
Плюс со временем накопились ошибки в логике и структуре, из-за которых страдала стабильность и удобство для пользователей.
Команда «Короны» хотела вернуть сайту управляемость, стабильность и гибкость — чтобы он не просто выполнял базовые задачи, а помогал бизнесу расти.
Задачи
Обеспечить стабильность платформы
Провести технический аудит, устранить накопившиеся ошибки и конфликтующие модули. Сделать так, чтобы сайт работал предсказуемо, без сюрпризов и зависанийСделать сайт удобнее
Оптимизировать структуру, обновить навигацию и ускорить загрузку страниц. Сделать интерфейс понятным — как для посетителей, так и для команды «Короны»Подготовить платформу к развитию
Обновить архитектуру и технологии проекта, чтобы новые идеи и функции можно было запускать легко и без риска для текущего функционалаЧто сделали
Работу над сайтом мы начали с раздела «Акции» — именно он создавал больше всего сложностей и для команды, и для пользователей.
В административной панели не хватало гибкости: каждое изменение требовало участия разработчиков, а ошибки в фильтрах постоянно возвращались. Пользователям, в свою очередь, было непросто быстро найти нужное предложение — фильтры пересекались, акции дублировались по городам, структура выглядела перегруженной.
Мы начали с анализа поведения пользователей и логики работы раздела. На основе результатов перестроили всю архитектуру:
- Добавили новые уровни фильтрации — «Тип акции» и «Категорию второго уровня», чтобы сделать поиск по акциям интуитивным и разгрузить выдачу;
- Полностью переработали административную часть: теперь контент-команда может редактировать URL, заголовки, метаданные и SEO-настройки без помощи разработчиков;
- Создали новую вкладку «Подкатегории» — единое место, где можно управлять иерархией раздела, менять связи между категориями и контролировать SEO-параметры на уровне каждой страницы;
- Убрали дублирующие поля и добавили визуальные подсказки, чтобы редакторы сразу видели ошибки и могли быстро их исправить.
Оптимизация изображений
Параллельно мы провели аудит медиафайлов в разделе. Оказалось, что одно и то же изображение 760×760 px использовалось и в карточке, и в модальном окне. Из-за этого страницы подгружались дольше, особенно на мобильных устройствах.
Чтобы устранить проблему, мы:
- Настроили автоматическую генерацию изображений в двух форматах — .webp и .png, чтобы подбирать оптимальный вариант под браузер пользователя
- Добавили создание уменьшенной копии (220×220 px) для карточек — теперь они загружаются моментально, даже при слабом интернете
- Оставили полноразмерное изображение только для модального окна при клике, чтобы не нагружать страницу лишними данными
Результат
Раздел «Акции» стал чище и стабильнее: пользователи находят нужные предложения быстрее, а контент-менеджеры получили больше гибкости и контроля. Скорость загрузки сайта выросла, структура стала управляемой, а админка — удобной и безопасной для самостоятельной работы.
Работа с cookies и фикс более мелких ошибок
Дальше мы перешли к исправлению менее очевидных, но не менее критичных деталей интерфейса.
Во время аудита обнаружили, что часть элементов работала непредсказуемо: формы обратной связи отправляли сообщения без темы — поле просто не подтягивалось, а администраторы не могли изменить количество форм или добавить новую.
Некорректно вела себя и плашка cookies: в мобильной версии кнопка «Настройки cookies» перекрывала бургер-меню, но само модальное окно не открывалось. На первый взгляд — мелочь, но такие баги влияли и на пользовательский опыт, и на соблюдение требований по обработке персональных данных.
Что сделали
- Исправили логику работы cookies: теперь модальное окно корректно открывается поверх интерфейса на всех устройствах, а кнопка «Настройки cookies» не конфликтует с навигацией
- Вынесли тексты и параметры cookies в админку: теперь контент-менеджеры могут сами обновлять формулировки согласий, категории файлов и ссылки на политику конфиденциальности без участия разработчиков
- Переписали обработку форм обратной связи: тема сообщений теперь передаётся корректно во всех сценариях — от заявок с главной страницы до анкет в разделе «Вакансии»
- Добавили в админку управление формами: команда клиента может самостоятельно создавать новые формы, менять их поля, темы и получателей, не затрагивая код
Теперь интерфейс работает предсказуемо, все элементы отображаются корректно, а управление формами и cookies стало прозрачным и удобным — без лишней зависимости от разработчиков.
Проверка и дополнительная оптимизация сайта
После всех доработок мы протестировали сайт, чтобы убедиться: обновления не влияют на скорость и стабильность.
Особое внимание уделили модальным окнам и формам — элементам, с которыми пользователи взаимодействуют чаще всего. На этом этапе мы нашли дополнительный резерв для ускорения работы площадки.
Ранее часть модальных окон подгружалась сразу при открытии страницы и замедляла её рендер. Мы внедрили ленивую подгрузку (lazy load) — теперь окна загружаются только тогда, когда действительно нужны пользователю. Это снизило нагрузку на браузер и ускорило загрузку сайта, особенно на мобильных устройствах.
технологический стек
Cтек: ключевая сложность проекта
Когда мы взялись за «Корону», быстро стало ясно: дело не в отдельных багах — проблемы были заложены глубже, в архитектуре и выбранных технологиях. Из-за них даже небольшие доработки превращались в своеобразный квест с препятствиями.
Проблема 1 — фронт/админка
Публичная часть сайта и админка были сделаны на разных технологиях. По сути, это два отдельных интерфейса, которые должны были работать с одним бэкендом.
Из-за этого даже небольшие задачи превращались в цепочку действий. Например, чтобы просто добавить слайдер на страницу, нужно было:
- сначала подготовить данные и API на бэке,
- потом сверстать и прописать логику на публичной части,
- отдельно сделать интерфейс в админке, чтобы контент можно было менять.
В такой схеме задействуются 2–3 разных специалиста, каждый со своей зоной ответственности. Это значит — постоянные переключения, согласования, ожидания, как следствие, рост сроков и стоимости.
Как решили эту проблему
Чтобы убрать «перекидывания» задач между специалистами, мы подключили фулстек-разработчика, который владел всеми нужными технологиями. Он закрывал задачу целиком — от настройки API и логики до верстки и реализации интерфейса в админке. Так мы:
- убрали лишние согласования;
- ускорили процесс;
- снизили риск потери контекста и появления несостыковок между частями системы.
Проблема 2 — бэкенд
Бэкенд сайта был реализован не на чистом Laravel, а на его самописной надстройке — фреймворке под названием Tager.
У него нет официальной документации и единой архитектуры, поэтому понять, как именно фреймворк обрабатывает данные и куда потянется изменение, можно было только исследуя код вручную.
Как решили эту проблему
- Тестовая копия. Развернули полную копию проекта на отдельном стенде — все эксперименты проводились без риска для боевой версии;
- Reverse-engineering. Изучили структуру Tager и составили карту зависимостей: какие модули связаны между собой, где хранятся данные;
- Поэтапные правки. Вносили изменения по одному функциональному блоку за раз (фильтры → формы → модалки → изображения);
- Ручное тестирование. После каждой итерации проверяли ключевые сценарии — фильтрацию, отправку форм, обмены данных, авторизацию, отображение модальных окон.
Итоги
Проект для сети «Корона» стал примером того, как техническая поддержка может решать стратегические задачи бизнеса — не только устраняя ошибки, но и восстанавливая управляемость, архитектурную целостность и удобство администрирования.
За время проекта мы:
- провели аудит и устранили системные ошибки, влияющие на производительность и стабильность;
- перестроили архитектуру ключевых разделов, включая «Акции», и сделали админку гибкой и безопасной;
- внедрили ленивую подгрузку модальных окон и оптимизировали работу форм обратной связи;
- улучшили UX и скорость сайта, особенно на мобильных устройствах;
- создали базу знаний о внутреннем фреймворке Tager, чтобы дальнейшая поддержка и развитие проходили предсказуемо.
В целом сделали всё, чтобы вернуть клиенту контроль над платформой.
Такой формат работ подойдёт проектам, которые развиваются годами и постепенно теряют прозрачность: когда кодовая база усложнена, документации нет, а любое обновление становится риском.
В таких случаях техническая поддержка превращается в инженерную задачу — где важны не скорость, а понимание системы, аккуратность и точность решений.
-
Давайте знакомиться! Расскажите о своём проектеНе знаете, что рассказать нам о проекте?Тогда скачайте подготовленные нами вопросы, которые помогут нам лучше узнать Ваши требования к проекту.Скачать бриф-анкету на разработку сайта
-
Хотите больше узнать о нас? С радостью всё расскажем!