Назад в кейсы

Bottva: ускорили сайт в 4 раза и избавились от сбоев в работе с внешними сервисами

Перевезли интернет-магазин на OpenCart и настроили интеграции с «МойСклад» и СДЭК

https://bottva.ru
Bottva: ускорили сайт в 4 раза и избавились от сбоев в работе с внешними сервисами

Клиент

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

 

Задача

Обеспечить стабильную работу интернет-магазина: устранить ошибки в синхронизации с внешними сервисами, ускорить загрузку и перенести проект на CMS, способную справляться с большим ассортиментом.

ЧТО БЫЛО НА СТАРТЕ

Изначально мы занимались поисковой оптимизацией сайта Bottva. Он работал на WordPress с плагином WooCommerce. К ресурсу были подключены внешние сервисы:

  • выгрузка данных из «МойСклад» — автоматическое отображение остатков товара на складе;
  • модуль СДЭК — для доставки заказов пользователям магазина;
  • блок с лентой из Instagram* — для публикации контента Bottva из соцсетей в новостном разделе сайта.

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

Некорректная синхронизация данных

Главной причиной для беспокойства стала интеграция с «МойСклад». Используемое решение давно не обновлялось, а API сервиса со временем изменился. Это привело к нарушениям в синхронизации: на сайте отображались неактуальные остатки, а пользователи могли оформить заказ на товар, которого фактически не было в наличии. Такие ошибки подрывали доверие к магазину и мешали продажам.

Дополнительные сложности возникли с блоком Instagram*. После запрета Meta (признана экстремистской и запрещена на территории РФ) модуль перестал получать новые публикации. В админке начали появляться ошибки, а на сайте оставались старые посты.

* Принадлежит компании Meta, признанной экстремистской и запрещенной на территории РФ

Производительность

Скорость загрузки страниц была низкой. Причиной стала чрезмерная нагрузка на сервер и неэффективные SQL-запросы. Особенно проблемной оказалась таблица wp_postmeta, где хранились метаполя: она содержала сотни тысяч строк. Это замедляло работу и периодически приводило к блокировкам со стороны хостинга.

Ограничения по функционалу

Поддержка плагинов, которые были установлены, прекратилась, а архитектура сайта не позволяла реализовывать новые задачи. Это привело к ограничениям по функционалу сайта. Стало очевидно, что точечные доработки не решат проблему. Чтобы обеспечить стабильную работу и развивать магазин дальше, потребовался полноценный перенос ресурса на другую CMS, более подходящую для интернет-торговли.

ЧТО МЫ СДЕЛАЛИ

Выбрали новый «движок»

Важно было, чтобы CMS легко справлялась с большим ассортиментом, поддерживала внешние интеграции и не требовала лишних вложений со стороны клиента. 

Мы выбрали OpenCart — систему, разработанную специально для интернет-магазинов. У неё открытый исходный код, большое сообщество и множество готовых модулей. По сравнению с WordPress она потребляет меньше ресурсов, быстрее работает и проще в администрировании. А ещё не требует платных лицензий, как, например, Bitrix. Для проекта с ограниченным бюджетом и высокой нагрузкой — это самое разумное решение.

Адаптировали дизайн без лишних затрат

Чтобы сэкономить время и средства, мы не разрабатывали дизайн заново. Вместо этого за основу взяли готовый шаблон из Figma. Он подошёл по общей логике и структуре, поэтому мы адаптировали его под задачи Bottva. А именно — изменили шрифты, цвета и элементы интерфейса, чтобы привести шаблон к фирменному стилю бренда.

Нажмите на изображение, чтобы увеличить его

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

Перенесли сайт на новую систему

После согласования макета мы приступили к верстке и посадке сайта на OpenCart. Типовые модули платформы использовали только там, где они соответствовали требованиям. В остальном, реализовали собственные решения. Например, контент пришлось переносить вручную. Причина в том, что у WordPress и OpenCart разная структура баз данных и стандартный экспорт не сработал. Мы написали скрипты, с помощью которых выгрузили карточки товаров, категории, изображения и т. д. Это помогло перенести всю информацию без потерь и сохранить структуру каталога.

Доработали интеграции

Особое внимание уделили синхронизации с сервисами, которые раньше были нестабильными. Например, для интеграции с «МойСклад» доработали отдельное решение от amgroup. Напомним, ранее на сайте выгружались неактуальные остатки, а данные обновлялись с ошибками. Мы настроили синхронизацию так, чтобы на сайт не попадали товары с пустым артикулом, единицы веса передавались корректно, а при обновлении изменялись только выбранные поля — например, цена и остаток.

Модуль доставки через СДЭК донастраивали с учетом структуры заказов Bottva. За основу также брали готовое решение.

Расширили функционал сайта

Одной из ключевых задач было сделать сайт удобным в управлении. Чтобы администраторы могли добавлять страницы, редактировать структуру и запускать рассылки без участия разработчиков, мы расширили базовый функционал OpenCart за счет собственных решений. Мы собрали модуль настроек сайта, в который вошли:

  • Система отзывов (в двух форматах: карточки и изображения);
  • Раздел контактов с поддержкой нескольких городов;
  • Произвольное меню с гибкой структурой;
  • Блок FAQ (вопросы и ответы);
  • Ссылки на соцсети;
  • Просмотр заявок, пришедших с форм;
  • Очистка кэша (в частности, кэш меню каталога);
  • Подписка на новости с возможностью рассылки;
  • Автоматическое отключение товаров без артикула.

Дополнительно мы внедрили кастомную фильтрацию товаров, разработанную с нуля. Она учитывает особенности каталога Bottva и не перегружает сервер, в отличие от стандартных решений с ограниченной гибкостью.

Еще одна важная функция, которую мы предусмотрели, — Flexible Content. Теперь администратор может собирать страницы из готовых блоков, не влезая в код. В библиотеку блоков вошли: врезка, преимущества, текст с изображением, форма, рекомендуемые товары, текстовый блок, отзывы и FAQ.

Завершили перенос и запустили сайт

После настройки основных процессов и переноса контента мы проверили структуру каталога и формы обратной связи. Когда основной сайт был готов, по аналогичной схеме мы перенесли региональный поддомен Тольятти. Вся логика и функциональность были сохранены.

Ключевые пункты разработки

  • Сменили WordPress на OpenCart;
  • Доработали шаблон под фирменный стиль и необходимый функционал;
  • Перенесли сайт вручную без потери данных;
  • Частично переписали интеграции с «МойСклад» и СДЭК;
  • Разработали модуль управления настройками сайта;
  • Добавили Flexible Content для самостоятельной сборки страниц;
  • Сделали кастомную фильтрацию товаров;
  • Перенесли функционал и на поддомен для Тольятти.

Результаты

Перенесли интернет-магазин на OpenCart, улучшили стабильность, ускорили работу сайта и добавили функционал для управления каталогом и контентом. Сейчас Bottva использует новую платформу без ограничений и технических сбоев, а мы продолжаем развивать проект.

В 4 раза

Увеличилась скорость загрузки

2 интеграции

Донастроили с учетом работы Bottva: «МойСклад» и СДЭК

~100 000 рублей

Сэкономили клиенту на дизайне

Дарим 8% скидки за любопытство!

Вы дочитали до конца и должны быть вознаграждены за интерес
Заберите свою скидку на любую ежемесячную услугу.

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