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

Почему нужно отключать стандартные скрипты и стили WooCommerce

WooCommerce подключает множество скриптов и стилей на всех страницах сайта, даже если функционал магазина используется частично или вы хотите кастомизировать фронтенд. Это может значительно замедлять загрузку страниц и увеличивать объем передаваемых данных. Удаление ненужных CSS и JS повышает скорость, снижает нагрузку на сервер и улучшает пользовательский опыт.

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

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

  • Откройте любую страницу в браузере и включите инструменты разработчика (F12).
  • Перейдите во вкладку Network или Sources.
  • Отфильтруйте запросы по типу js и css.
  • Обратите внимание на файлы с префиксом woocommerce или связанные с плагином.

Часто WooCommerce подключает стили и скрипты даже на страницах, где магазин не отображается — например, на главной или блоговых записях.

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

1. Отключение через хуки WordPress

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

add_action('wp_enqueue_scripts', 'disable_woocommerce_assets', 99);
function disable_woocommerce_assets() {
    if (!is_woocommerce() && !is_cart() && !is_checkout() && !is_account_page()) {
        // Отключаем стили
        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('wc-checkout');
        wp_dequeue_script('wc-single-product');
        wp_dequeue_script('wc-cart');
    }
}

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

2. Тонкая настройка отключения для отдельных страниц

Если у вас есть кастомные страницы с элементами WooCommerce или вы используете AJAX-виджеты, возможно, стоит дополнительно указать условия, в которых скрипты должны оставаться подключенными:

function disable_woocommerce_assets_custom() {
    if (!is_woocommerce() && !is_cart() && !is_checkout() && !is_account_page() && !is_page('custom-shop')) {
        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');
    }
}
add_action('wp_enqueue_scripts', 'disable_woocommerce_assets_custom', 99);

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

Чтобы убедиться, что отключение скриптов и стилей прошло успешно:

  • Очистите кэш браузера и, если используете кэширование на сайте, сбросьте его.
  • Откройте страницы, где скрипты должны быть отключены, и проверьте через инструменты разработчика наличие или отсутствие файлов WooCommerce CSS/JS.
  • Перейдите на страницы магазина, корзины и оформления заказа — убедитесь, что стили и скрипты WooCommerce загружаются, а функционал работает корректно.
  • Проверьте, что не нарушена работа AJAX обновления корзины и других элементов WooCommerce.

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

  • Скрипты отключены на страницах корзины или оформления заказа — магазин ломается: Проверьте условия в if, возможно, неправильно указаны функции is_cart(), is_checkout(), is_account_page().
  • Кэш мешает увидеть изменения: Очистите весь кэш, включая плагин кэширования и CDN.
  • Фрагменты корзины не обновляются: Не отключайте скрипт wc-cart-fragments на страницах, где есть корзина или виджет корзины в шапке.
  • Ошибка в консоли JavaScript после отключения: Возможно, какой-то ваш кастомный код зависит от скриптов WooCommerce. Перепроверьте зависимости и корректность кода.

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

  • Отключайте ресурсы только после полного тестирования, чтобы не нарушить работу магазина.
  • Используйте дочернюю тему или отдельный плагин для таких кастомизаций — это позволит безопасно обновлять WooCommerce и тему.
  • Для дополнительного ускорения используйте асинхронную или отложенную загрузку JS, а также минификацию CSS/JS.
  • Используйте инструмент Query Monitor для отладки и поиска проблем с подключением скриптов.

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

МетодПреимуществаНедостатки
Отключение через wp_dequeue_style/scriptКонтроль, гибкость, бесплатное решение без плагиновТребует знаний PHP, риски при неправильных условиях
Плагины оптимизации (например, Clearfy Pro)Простой интерфейс, дополнительные функции оптимизацииПлатные или ограниченные бесплатные версии, меньше гибкости
Отключение через настройки темы (если поддерживается)Удобство, интеграция с темойЗависит от темы, не всегда есть нужные опции
Как автоматизировать публикации в WordPress с помощью WPRemark
26.12.2025
Как использовать WPCommunity для создания собственного форума на WordPress
26.03.2026
Как избежать проблем с кэшированием в WordPress: практические решения
01.01.2026
WooCommerce: как автоматически удалять товар из каталога при отсутствии на складе
17.05.2026
Как удалить по умолчанию скрипты и стили в WooCommerce для ускорения сайта
13.05.2026