Планета Золота

Взяли на супровід працюючий ювелірний інтернет-магазин на Yii2 з каталогом на 2 300 товарів та двома мовними версіями — і за рік привели успадкований проєкт у порядок: переробили каталог і фільтрацію, усунули 518 битих сторінок, відновили інтеграцію з 1С і налагодили коректне ціноутворення.

Завдання

До нас звернувся власник ювелірного інтернет-магазину planeta-zolota.com.ua з уже працюючим, але проблемним сайтом на Yii2, який писала інша команда: без документації, з саморобною адмінкою без частини службових функцій і без налагодженого середовища для розробки. Потрібно було не переписувати сайт з нуля, а акуратно розібратися в чужому коді і розвивати магазин далі — привести в порядок каталог і навігацію, полагодити фільтрацію за ціною, вставками й металом, усунути помилки в ціноутворенні, відновити синхронізацію з 1С, прибрати сотні битих сторінок і налагодити доставку листів про замовлення — не зачепивши при цьому вже працюючий функціонал.

Результат

Каталог, меню і навігація. Переробили структуру каталогу і зібрали нове багаторівневе меню категорій та підкатегорій з коректним порядком пунктів і зображеннями. Каталог тут будується не з простих категорій, а з наборів фільтрів, тож будь-яка зміна вимагала акуратної звірки, щоб, наприклад, розділ «Весілля та заручини» не почав видавати ланцюжки й браслети. Додали перегляд виробів сіткою по три товари в ряд, закріпили в хедері кошик і контакти, переробили футер і блок контактів.

Система фільтрації. Магазин фільтрує товари за ціною, вставками, металом, пробою, статтю і типом виробу одночасно, і у успадкованому коді ця механіка працювала з помилками: фільтр за ціною захоплював товари дорожче заданого діапазону, фільтр за вставкою міг підтягнути не той камінь, при сортуванні зникала бокова фільтрація. Поетапно вичистили ці дефекти, налаштували фільтрацію за тією ж ціною, що виводиться на архівних сторінках, і стабілізували роботу випадного меню, яке раніше «залипало» при повторному відкритті розділу.

Картка товару і ціноутворення. Привели в порядок верстку карток — відступи, читабельність шрифту, «розлипання» кнопок і тексту. Розібрали алгоритм розрахунку ціни з урахуванням знижок і додаткової вартості за опції виробу та знайшли давню логічну помилку, через яку у товарів з опціями знижка не спрацьовувала і з'являлися нульові та некоректні ціни. На прохання клієнта реалізували механіку маркетингової знижки — закреслену «стару» ціну поруч із поточною, редаговану адміністратором.

SEO-доопрацювання. Разом із SEO-фахівцем замовника налаштували robots.txt, поправили атрибут lang для мультимовності, реалізували мікророзмітку schema.org для товарів і сторінок, прописали alt-атрибути зображенням, вбудували верифікацію Google Search Console. Найбільш масштабним завданням стало очищення битих сторінок: сканування виявило 518 URL з відповіддю 404, і ми, знайшовши першопричини в шаблонах — canonical у head, логіка пагінації, — послідовно звели їхню кількість до нуля.

Інтеграція з 1С. Найскладніший вузол проєкту: товари, ціни, метали та зображення синхронізуються з 1С автоматично раз на годину, і коли вивантаження почало давати збої — нові товари не з'являлися на сайті, ціна золота за грам переставала оновлюватися, — розплутувати довелося буквально по рядках JSON-відповідей сервера. Залучили окремого фахівця з Yii і разом із 1С-програмістом замовника провели глибокий розбір обміну: з'ясувалося, що вивантаження падало через метали без GUID у базі сайту та обов'язкові поля, що приходили порожніми для сталі й кераміки. Налагодили обробку цих випадків, розібралися з вивантаженням зображень на FTP і додали вивід усіх помилок імпорту — масові биті сторінки 404, що генерувалися саме через некоректні вивантаження, після стабілізації обміну зникли.

Кошик, замовлення і пошта. Відновили доставку листів про нові замовлення — причина виявилася в сервісі SendGrid, який раз за разом блокував поштову скриньку магазину. Реалізували валідацію номера телефону в кошику з масками для українських і російських номерів, щоб у заявки не потрапляли некоректні контакти під час рекламних кампаній.

Аналітика, хостинг і решта. Розділили Google Tag Manager і Google Analytics, підключили Search Console, встановили Facebook Pixel, прибрали конфліктуючі лічильники. Підключили онлайн-чат Replain з повідомленнями в Telegram. Усунули переповнення пам'яті при виведенні всіх 2 300 товарів в адмінці і запропонували збільшити оперативну пам'ять сервера.

Підсумок для клієнта. З набору розрізнених багів і «відвалюваних» механік магазин прийшов до передбачуваного, керованого стану: каталог і фільтри працюють коректно, ціни рахуються вірно, синхронізація з 1С стабільна, а замовник може спокійно запускати рекламу й розвивати продажі, не побоюючись, що сайт підведе в ключовий момент.

Каталог із 2 300 прикрас зручно гортати з будь-якого пристрою

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

Планета Золота
Сайт jetbit.pro використовує файли cookie для зберігання даних. Продовжуючи використання сайту, Ви даєте згоду працювати з цими файлами. Детальніше