Почему WooCommerce тормозит и что с этим делать

Червона стрілка вгору на світлій поверхні

WooCommerce имеет репутацию медленного движка. На деле магазин на нём может работать быстро, а тормозит обычно не он, а то, что вокруг него нарастили.

1. Изображения товаров

Самая частая причина и самая простая в исправлении. В каталог заливают фото прямо с фотоаппарата: 4 000 пикселей по ширине и несколько мегабайт весом. Браузер сжимает их до 300 пикселей на экране, но загружает полностью.

Что делать: формат WebP, разумные размеры под реальные места вывода, отложенная загрузка всего ниже первого экрана, и обязательно заданные ширина и высота, чтобы вёрстка не прыгала.

2. Плагины, которых тридцать

Каждый активный плагин подгружает свои стили и скрипты, и очень часто - на всех страницах подряд. Плагин для формы на странице контактов грузится и на карточке товара.

Что делать: инвентаризация. Всё, чем не пользуются, - удалить. Для остальных - ограничить загрузку теми страницами, где они нужны.

3. Корзина и обновление фрагментов

WooCommerce по умолчанию обновляет содержимое корзины запросом к серверу на каждой странице. На каталоге это заметная задержка именно там, где посетитель решает, покупать или нет.

Что делать: ограничить это поведение страницами, где корзина реально нужна.

4. Отсутствие кеширования

Каждый заход генерирует страницу заново. При этом страница товара меняется раз в месяц.

Что делать: страничный кеш для каталога и карточек. Корзина, оформление и личный кабинет из кеша исключаются - их кешировать нельзя. Это стандартная настройка, и именно её часто пропускают.

5. Хостинг

Магазин на самом дешёвом общем тарифе упирается в ресурсы сервера. Никакая оптимизация кода не компенсирует нехватку процессорного времени.

6. Тяжёлый конструктор на карточках товара

Если карточки собраны конструктором, к весу WooCommerce добавляется вес конструктора, и так на каждом товаре. Подробнее - в материале о конструкторе и кастомной теме.

С чего начинать. Сначала измерьте, потом правьте. Без измерения легко потратить день на оптимизацию того, что не влияет, и не заметить одну картинку на 4 мегабайта в шапке каталога.

Порядок, который даёт наибольший прирост

  1. Изображения: формат, размеры, отложенная загрузка.
  2. Кеширование страниц с правильными исключениями.
  3. Ревизия плагинов.
  4. Ограничение обновления корзины.
  5. Хостинг, если время ответа сервера остаётся высоким.

Первые два пункта обычно дают больше, чем все остальные вместе.

Коротко

WooCommerce тормозит из-за изображений, десятков плагинов, отсутствия кеша и слабого хостинга. Наибольший прирост дают правильные картинки и страничный кеш с исключениями для корзины и оформления.

Обсудить задачу

Напишите, что нужно сделать. Отвечу с оценкой сроков и стоимости.

Услуги