WooCommerce має репутацію повільного рушія. Насправді магазин на ньому може працювати швидко, а гальмує зазвичай не він, а те, що навколо нього наростили.
Далі - реальні причини за частотою.
1. Зображення товарів
Найпоширеніша причина і найпростіша у виправленні. У каталог заливають фото прямо з фотоапарата: 4 000 пікселів по ширині і кілька мегабайт вагою. Браузер стискає їх до 300 пікселів на екрані, але завантажує повністю.
Що робити: формат WebP, розумні розміри під реальні місця виводу, відкладене завантаження всього, що нижче першого екрана, і обов'язково задані ширина і висота, щоб верстка не стрибала під час завантаження.
2. Плагіни, яких тридцять
Кожен активний плагін підвантажує свої стилі і скрипти, і дуже часто - на всіх сторінках підряд. Плагін для форми на сторінці контактів вантажиться і на картці товару.
Що робити: інвентаризація. Все, чим не користуються, - видалити. Для решти - обмежити завантаження тими сторінками, де вони справді потрібні.
3. Кошик і оновлення фрагментів
WooCommerce за замовчуванням оновлює вміст кошика запитом до сервера на кожній сторінці. На каталозі з великою кількістю товарів це помітна затримка, яку відвідувач відчуває саме там, де вирішує, купувати чи ні.
Що робити: обмежити цю поведінку сторінками, де кошик реально потрібен.
4. Відсутність кешування
Кожен захід генерує сторінку заново: PHP збирає її з бази. При цьому сторінка товару змінюється раз на місяць.
Що робити: сторінковий кеш для каталогу і карток товарів. Кошик, оформлення і особистий кабінет з кешу виключаються - їх кешувати не можна. Це стандартна настройка, і саме її часто пропускають.
5. Хостинг
Магазин на найдешевшому спільному тарифі впирається в ресурси сервера. Ніяка оптимізація коду не компенсує брак процесорного часу, коли на сервері одночасно живуть сотні сайтів.
Що робити: якщо після всіх оптимізацій сайт все одно повільний і час відповіді сервера високий - причина тут.
6. Важкий конструктор на картках товару
Якщо картки зібрані конструктором, до ваги WooCommerce додається вага конструктора, і так на кожному товарі. Детальніше про це - у матеріалі про конструктор і кастомну тему.
З чого починати. Спочатку виміряйте, потім правте. Без вимірювання легко витратити день на оптимізацію того, що не впливає, і не помітити одну картинку на 4 мегабайти в шапці каталогу.
Порядок, який дає найбільший приріст
- Зображення: формат, розміри, відкладене завантаження.
- Кешування сторінок з правильними винятками.
- Ревізія плагінів.
- Обмеження оновлення кошика.
- Хостинг, якщо час відповіді сервера залишається високим.
Перші два пункти зазвичай дають більше, ніж усі інші разом.
Коротко
WooCommerce гальмує через зображення, десятки плагінів, відсутність кешу і слабкий хостинг. Найбільший приріст дають правильні картинки і сторінковий кеш з винятками для кошика й оформлення.
Обговорити задачу
Напишіть, що потрібно зробити. Відповім з оцінкою термінів і вартості.