WooCommerce имеет репутацию медленного движка. На деле магазин на нём может работать быстро, а тормозит обычно не он, а то, что вокруг него нарастили.
1. Изображения товаров
Самая частая причина и самая простая в исправлении. В каталог заливают фото прямо с фотоаппарата: 4 000 пикселей по ширине и несколько мегабайт весом. Браузер сжимает их до 300 пикселей на экране, но загружает полностью.
Что делать: формат WebP, разумные размеры под реальные места вывода, отложенная загрузка всего ниже первого экрана, и обязательно заданные ширина и высота, чтобы вёрстка не прыгала.
2. Плагины, которых тридцать
Каждый активный плагин подгружает свои стили и скрипты, и очень часто - на всех страницах подряд. Плагин для формы на странице контактов грузится и на карточке товара.
Что делать: инвентаризация. Всё, чем не пользуются, - удалить. Для остальных - ограничить загрузку теми страницами, где они нужны.
3. Корзина и обновление фрагментов
WooCommerce по умолчанию обновляет содержимое корзины запросом к серверу на каждой странице. На каталоге это заметная задержка именно там, где посетитель решает, покупать или нет.
Что делать: ограничить это поведение страницами, где корзина реально нужна.
4. Отсутствие кеширования
Каждый заход генерирует страницу заново. При этом страница товара меняется раз в месяц.
Что делать: страничный кеш для каталога и карточек. Корзина, оформление и личный кабинет из кеша исключаются - их кешировать нельзя. Это стандартная настройка, и именно её часто пропускают.
5. Хостинг
Магазин на самом дешёвом общем тарифе упирается в ресурсы сервера. Никакая оптимизация кода не компенсирует нехватку процессорного времени.
6. Тяжёлый конструктор на карточках товара
Если карточки собраны конструктором, к весу WooCommerce добавляется вес конструктора, и так на каждом товаре. Подробнее - в материале о конструкторе и кастомной теме.
С чего начинать. Сначала измерьте, потом правьте. Без измерения легко потратить день на оптимизацию того, что не влияет, и не заметить одну картинку на 4 мегабайта в шапке каталога.
Порядок, который даёт наибольший прирост
- Изображения: формат, размеры, отложенная загрузка.
- Кеширование страниц с правильными исключениями.
- Ревизия плагинов.
- Ограничение обновления корзины.
- Хостинг, если время ответа сервера остаётся высоким.
Первые два пункта обычно дают больше, чем все остальные вместе.
Коротко
WooCommerce тормозит из-за изображений, десятков плагинов, отсутствия кеша и слабого хостинга. Наибольший прирост дают правильные картинки и страничный кеш с исключениями для корзины и оформления.
Обсудить задачу
Напишите, что нужно сделать. Отвечу с оценкой сроков и стоимости.