Оптимізація інтернет-магазину (повільне додавання до кошика та оформлення замовлення на WooCommerce)

Одного разу компанія, яка виготовляє лаки для нігтів, вирішила перенести свій сайт із Magento на WooCommerce. Рішення було пов’язане з обмеженнями на Magento. Наші партнери перенесли сайт, але були необхідні технічні зміни та оптимізація веб-сторінки.

Рік тому клієнт зіткнувся з ситуацією, яка значно знизила прибуток компанії. Це була Чорна п’ятниця — можливість отримати максимальний профіт. Однак через повільне оформлення близько 15% замовлень просто губилися. Професійна оптимізація була необхідна для того, щоб ця історія не повторилася.

Крім того, одним із елементів цієї маркетингової кампанії є розсилка електронною поштою. У часи пік сайт відчував труднощі з навантаженнями, що негативно позначалося на продажах в торгові дні. Поштову розсилку потрібно було сегментувати та розділити за часом. Це значно ускладнювало маркетингові можливості.

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

Аудит: оцінка обсягу робіт

Перед початком оптимізації сайту WordPress ми провели детальний аудит. Було визначено два основних напрямки діяльності. Перший – це таблиця з оптимізацією замовлень, саме цей напрямок потрібно було опрацьовувати, щоб у майбутньому не допустити проблеми, яка сталася у Чорну п’ятницю. Другий напрямок діяльності нашої команди – пошук проблеми з кешуванням. Якщо є проблеми з ним, це негативно впливає на швидкість сторінки, а отже, на взаємодію з користувачем.

Як ми оптимізували веб-сайт WordPress

Оптимізація проходила в кілька етапів, сайт постійно тестувався на баги. Будь-яка помилка може коштувати кілька тисяч доларів у майбутньому. Що ми зробили для оптимізації сайту клієнта:

  • Оптимізація замовлення. Для замовлень клієнтів ми створили окрему таблицю, оптимізовану для MySQL. Вона замінила wp_posts + wp_postmeta, які були до оптимізації. В результаті замовлення не були втрачені, а значить, ризик пропустити клієнта був нульовим.
  • Збільшення швидкості веб-сайту для клієнтів, які ввійшли в систему, і клієнтів, які додали щось у кошик. На сайті встановлено платний плагін для постійних посилань. Він очищав кеш під час кожного завантаження сторінки. Отже, як тільки користувач додав щось у кошик, кеш для цього користувача більше не працював. Ми видалили його, додали кілька rewrite_rules за допомогою коду та додали тест, який завжди перевіряє їх повторно. В результаті абсолютно всі сторінки стали завантажуватися швидше ніж 500-600 мс.
  • Скасування переходу на масштабовану інфраструктуру на основі Kubernetes. Цей крок більше не потрібен. В результаті ми заощадили клієнту кілька тисяч доларів, адже така маніпуляція влітає в копійку.

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

У якості висновку

Загалом ми витратили близько тижня на перевірку та пошук проблем і кілька днів на їх усунення. В результаті зростання прибутку компанії склало приблизно 100 000 $ на першій рекламній кампанії, якщо порівнювати з попереднім досвідом за рівних умов за пропозиціями, цінами та іншими факторами. Твердження про повільну роботу WordPress є міфом. Його уповільнюють непрофесійні плагіни та теми, їх неправильна конфігурація, брудний код і аматорський підхід до програмування. Завдяки комплексному підходу нашого агентства розробки WordPress сайт клієнта працює набагато швидше, а ризик пропустити замовлення клієнта зник. Якщо ваш інтернет-магазин працює з перебоями, або сайт періодично дає збої, напишіть нам про свою проблему і ми знайдемо рішення, щоб покращити стан веб-сторінки!