Как удалить по умолчанию скрипты и стили в WooCommerce для ускорения сайта

Диагностика проблемы: почему WooCommerce замедляет загрузку сайта

WooCommerce по умолчанию подключает множество скриптов и стилей на всех страницах сайта, даже если функционал магазина используется не везде. Это приводит к избыточной загрузке ресурсов, увеличивает время отклика и ухудшает пользовательский опыт. Чтобы определить, какие скрипты и стили WooCommerce загружаются на странице, используйте инструменты разработчика в браузере (DevTools) или плагины типа Query Monitor.

Например, в консоли можно увидеть загрузку таких файлов, как:

  • woocommerce.css
  • woocommerce-layout.css
  • wc-cart-fragments.js
  • jquery-blockui.js

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

Пошаговое решение: как отключить ненужные скрипты и стили WooCommerce

1. Отключение CSS WooCommerce на фронтенде

Для отключения стилей WooCommerce на страницах, где они не нужны, добавьте следующий код в functions.php вашей дочерней темы или в плагин функционала:

add_filter('woocommerce_enqueue_styles', '__return_empty_array');

Это полностью отключит все стили WooCommerce.

2. Условное отключение скриптов и стилей

Если стили и скрипты нужны только на страницах магазина, корзины и оформления заказа, примените условную проверку:

function wpaction_dequeue_woocommerce_assets() {
    if ( ! is_woocommerce() && ! is_cart() && ! is_checkout() ) {
        wp_dequeue_style('woocommerce-general');
        wp_dequeue_style('woocommerce-layout');
        wp_dequeue_style('woocommerce-smallscreen');
        wp_dequeue_script('wc-cart-fragments');
        wp_dequeue_script('woocommerce');
        wp_dequeue_script('wc-add-to-cart');
        wp_dequeue_script('jquery-blockui');
    }
}
add_action('wp_enqueue_scripts', 'wpaction_dequeue_woocommerce_assets', 99);

Эта функция отключит основные скрипты и стили WooCommerce на всех страницах, кроме страниц магазина, корзины и оформления заказа.

3. Отключение ajax обновления корзины (wc-cart-fragments.js)

Скрипт wc-cart-fragments.js отвечает за обновление корзины без перезагрузки страницы, но он может замедлять сайт. Если не используете динамическую корзину, отключите его:

function wpaction_disable_cart_fragments() {
    wp_dequeue_script('wc-cart-fragments');
}
add_action('wp_enqueue_scripts', 'wpaction_disable_cart_fragments', 99);

Проверка результата после внедрения

  • Откройте любую страницу сайта, где не используется WooCommerce, и проверьте через DevTools вкладку Network — скрипты и стили WooCommerce не должны загружаться.
  • Проверить работу магазина, корзины и оформления заказа — все функции должны работать без ошибок.
  • Для более точной проверки используйте плагин Query Monitor — в разделе «Скрипты и стили» убедитесь, что WooCommerce ресурсы отключены там, где не нужны.

Частые ошибки и как их исправить

  • Ошибка: Отключение стилей ломает верстку страниц WooCommerce.
    Причина: отключение стилей на страницах магазина или корзины.
    Решение: убедитесь, что условие is_woocommerce(), is_cart() и is_checkout() корректно настроено и стили отключаются только вне этих страниц.
  • Ошибка: После отключения wc-cart-fragments.js корзина не обновляется динамически.
    Причина: отключение ajax-обновления корзины.
    Решение: отключайте только если динамическое обновление корзины не требуется.
  • Ошибка: Скрипты WooCommerce все равно загружаются на страницах.
    Причина: хуки подключены с неправильным приоритетом.
    Решение: используйте приоритет 99 или выше в add_action('wp_enqueue_scripts', '...', 99).

Практические советы по производительности

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

Сравнение способов отключения скриптов и стилей WooCommerce

МетодОписаниеПлюсыМинусы
Фильтр woocommerce_enqueue_stylesПолное отключение всех стилей WooCommerceПросто реализовать, быстроОтключает стили во всех местах, может сломать магазин
Условное отключение через wp_dequeue_script/styleОтключение по страницам, где не нужен WooCommerceГибкое, сохраняет функционал магазинаТребует корректного определения страниц
Отключение только wc-cart-fragments.jsОтключение ajax-обновления корзиныСнижает нагрузку без потери стилейУбирает динамическое обновление корзины
Как добавить настройки для плагинов в WordPress с примерами кода
22.02.2026
Как использовать фильтры WooCommerce для изменения цены товара на лету
28.04.2026
Как удалить неиспользуемые медиафайлы в WordPress
02.12.2025
Как создать мультиязычный сайт на WordPress без плагинов
17.01.2026
Как использовать WPCommunity для создания собственного форума на WordPress
26.03.2026