Почему WooCommerce работает медленно
WooCommerce добавляет десятки AJAX-запросов, корзину и сессии — всё это нельзя кэшировать стандартными методами. Нужен особый подход.
⚠️ Не кэшируйте страницы корзины (/cart/), оформления заказа (/checkout/) и аккаунта (/my-account/) в полном кэше страниц.
Отключение ненужных скриптов
// functions.php — убираем скрипты WooCommerce на не-магазинных страницах
add_action('wp_enqueue_scripts', function() {
if (!is_woocommerce() && !is_cart() && !is_checkout()) {
wp_dequeue_style('woocommerce-general');
wp_dequeue_script('wc-cart-fragments');
}
}, 99);
Оптимизация изображений
| Инструмент | Метод | Снижение размера |
|---|---|---|
| ShortPixel | WebP + сжатие | 60–80% |
| Imagify | WebP + AVIF | 50–75% |
| cwebp CLI | WebP вручную | 40–70% |
Индексы базы данных для WooCommerce
-- Ускорение запросов к мета товаров
ALTER TABLE wp_postmeta ADD INDEX meta_key_value (meta_key, meta_value(20));
-- Ускорение истории заказов
ALTER TABLE wp_woocommerce_order_items ADD INDEX order_item_type (order_item_type);
💡 Используйте плагин WP-Sweep для очистки мусора в БД: ревизии, черновики, транзиенты — они замедляют запросы.