Чому WooCommerce сповільнюється
Звичайний блог на WordPress може працювати майже на будь-якому хостингу. WooCommerce інший — кожне завантаження сторінки багаторазово звертається до бази даних, сесії кошика потрібно відстежувати для кожного відвідувача, а сторінка оформлення замовлення не може кешуватися.
Коли WooCommerce працює повільно, це майже ніколи не "просто хостинг". Зазвичай є конкретне вузьке місце.
Спочатку виміряй, потім виправляй
Перш ніж щось змінювати, виміряй. Потрібно знати, на що витрачається час.
Використовуй GTmetrix або Google PageSpeed Insights, щоб отримати базові показники. Зосередься на:
- Time to First Byte (TTFB) — час відповіді сервера. Понад 600 мс означає проблеми на стороні сервера (хостинг, кешування, PHP, база даних)
- Largest Contentful Paint (LCP) — коли з'являється основний контент. Впливають зображення, скрипти, що блокують рендеринг
- Total Blocking Time (TBT) — виконання JavaScript. Впливає надто багато плагінів, які завантажують скрипти
Поширене вузьке місце №1: Відсутність кешування сторінок (або неправильне кешування)
Сторінки WooCommerce можна кешувати — за важливими винятками.
Не можна кешувати:
- Сторінка кошика
- Сторінка оформлення замовлення
- Сторінка "Мій обліковий запис"
- Будь-яка сторінка з шорткодом WooCommerce, який змінюється залежно від користувача
Можна і потрібно кешувати:
- Сторінка магазину
- Сторінки категорій
- Сторінки товарів
- Головна сторінка
Встанови WP Rocket, W3 Total Cache або LiteSpeed Cache (якщо хостинг підтримує). Переконайся, що плагін налаштований виключати сторінки кошика, оформлення замовлення та облікового запису з кешування.
Якщо ти на керованому WooCommerce хостингу (наприклад, Kinsta або WP Engine), вони роблять це автоматично на рівні сервера.
Поширене вузьке місце №2: Неоптимізовані зображення
Зображення товарів зазвичай є найбільшим вбивцею продуктивності. WooCommerce створює кілька розмірів зображень для кожного товару — мініатюри, зображення для каталогу, окремі зображення товарів — і якщо оригінали величезні, вони залишаються такими.
Виправлення:
- Встанови ShortPixel або Imagify — стисни всі наявні зображення автоматично
- Встанови розумні розміри зображень у WooCommerce → Налаштування → Товари → Відображення
- Увімкни ліниве завантаження (WordPress робить це за замовчуванням з версії 5.5)
- Використовуй формат WebP (більшість сучасних хостингів та CDN його підтримують)
Поширене вузьке місце №3: Забагато плагінів, які завантажують скрипти всюди
Кожен плагін додає власні CSS та JavaScript. Багато плагінів завантажують ці файли на кожній сторінці — навіть там, де вони не потрібні.
Перевір, що завантажується на твоїй сторінці магазину: відкрий DevTools → Network → фільтр за JS/CSS. Ти можеш побачити скрипти від плагінів контактних форм, слайдерів або SEO, які завантажуються на сторінках товарів, де вони марні.
Виправлення за допомогою Asset CleanUp або оптимізації ресурсів у WP Rocket — вкажи кожному плагіну завантажуватися лише на сторінках, де він реально використовується.
Поширене вузьке місце №4: Повільні запити до бази даних
WooCommerce зберігає багато даних: замовлення, метадані товарів, дані клієнтів, сесії. З часом база даних зростає, а запити сповільнюються.
Швидкі виправлення:
-- Очистити прострочені сесії (виконати в phpMyAdmin або через WP-CLI)
DELETE FROM wp_woocommerce_sessions WHERE session_expiry < UNIX_TIMESTAMP();
-- Видалити старі транзієнти
DELETE FROM wp_options WHERE option_name LIKE '_transient_%' AND autoload = 'yes';
Або використовуй плагін на кшталт WP-Optimize, щоб очищати це через інтерфейс.
Також: переконайся, що твій хостинг використовує MySQL 8+ і що сервер має достатньо оперативної пам'яті для зберігання таблиць у пам'яті.
Поширене вузьке місце №5: Спільний хостинг під навантаженням
Спільний хостинг розміщує сотні сайтів на одному сервері. Якщо сусідній сайт отримує сплески трафіку, твій сповільнюється.
Ознаки того, що спільний хостинг вже не підходить:
- TTFB постійно перевищує 1 секунду, навіть з кешуванням
- Вранці продуктивність нормальна, а ввечері жахлива
- У тебе 500+ товарів або 100+ замовлень на день
Перехід на VPS або керований WooCommerce хостинг (Kinsta, Cloudways, WP Engine) дає кардинальне покращення. Очікуй ціну $25–80/місяць замість $5–15.
Поширене вузьке місце №6: Не увімкнено HPOS WooCommerce
Починаючи з WooCommerce 7.1, з'явилася нова система "High-Performance Order Storage" (HPOS), яка зберігає замовлення у власних таблицях замість post meta. Це значно швидше для магазинів з великою кількістю замовлень.
Увімкни її в WooCommerce → Налаштування → Розширені → Функції → Зберігання даних замовлень.
Спочатку перевір сумісність зі своїми плагінами — більшість основних уже підтримують це.
Короткий контрольний список для аудиту
- Кешування сторінок увімкнено, кошик/оформлення виключено
- Зображення стиснуті та мають ліниве завантаження
- TTFB менше 400 мс (перевір на GTmetrix)
- Непотрібні плагіни деактивовано та видалено
- Сесії та транзієнти WooCommerce очищено
- HPOS увімкнено (якщо WooCommerce 7.1+)
- PHP 8.1 або 8.2 (значне прискорення порівняно з 7.4)
Коли звертатися по допомогу
Якщо ти зробив усе вищевказане, а продуктивність все ще погана, проблема зазвичай або в конкретному повільному запиті до бази даних, або в плагіні з поганим кодом. І те, і інше потребує профілювання — інструменти на кшталт Query Monitor показують, який саме запит або функція забирають час.
Я оптимізував достатньо магазинів WooCommerce, щоб знати, куди зазвичай іде час. Якщо хочеш швидкий аудит твоєї конкретної ситуації, надішли мені звіт GTmetrix та список плагінів.