Отключаем мусорные скрипты WooCommerce для ускорения загрузки

Представьте ситуацию. Вы заходите в свой интернет-магазин на WordPress, чтобы проверить, как он работает. Открываете главную страницу, и… она грузится 5 секунд. Потом 7. А на странице простого товара — и вовсе 10. Знакомо?

Я недавно помогал одному клиенту, у которого была похожая история. Он продавал handmade-свечи, вложил кучу денег в рекламу, трафик шёл, а продаж не было. Проблема оказалась банальной — сайт тормозил. После аудита выяснилось: WooCommerce грузил на каждой странице десятки скриптов, которые были нужны только в корзине или на кассе. В итоге мы отключили мусорные скрипты WooCommerce, и время загрузки упало с 6 секунд до 2,5.

И это не единичный случай. По данным исследований, 53% пользователей покидают сайт, если он грузится дольше 3 секунд. А для магазина каждая секунда задержки — это минус 7% конверсии. Так что давайте разберёмся, как убрать лишнее и ускорить ваш магазин.

Почему WooCommerce грузит лишние скрипты?

WooCommerce — мощный плагин, но он создан для универсальных задач. Разработчики не знают, где вы используете корзину, а где — нет. Поэтому они по умолчанию подключают все скрипты и стили на всех страницах сайта. Это называется «стрельба из пушки по воробьям».

Какие скрипты обычно «мусорят»:

  • wc-cart-fragments — отвечает за обновление корзины в реальном времени (нужен только на страницах с корзиной)
  • wc-checkout — скрипты оформления заказа (нужны только на кассе)
  • wc-add-to-cart-variation — для вариативных товаров (нужен только на страницах товаров с вариациями)
  • woocommerce-general — общий CSS и JS (часто дублируется)
  • select2 — библиотека для красивых выпадающих списков (используется на кассе, но грузится везде)

В итоге на главной странице, в блоге или на странице «О нас» загружаются десятки килобайт кода, который там никогда не понадобится. Это не только замедляет загрузку, но и увеличивает количество HTTP-запросов, что критично для мобильных устройств.

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

Есть несколько способов. Я покажу самый надёжный — через добавление кода в файл functions.php вашей темы. Но предупреждаю: перед любыми правками делайте резервную копию сайта и базы данных. И лучше используйте дочернюю тему, чтобы обновления не снесли ваши изменения.

Шаг 1. Определяем, какие скрипты грузятся

Сначала нужно понять, что именно загружается. Для этого используйте инструменты разработчика в браузере (F12) или плагины типа Query Monitor. Откройте любую страницу сайта, перейдите на вкладку Network и посмотрите список файлов с префиксом wc- или woocommerce-. Вы удивитесь, сколько их там.

Шаг 2. Создаём функцию для отключения

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

// Отключаем мусорные скрипты WooCommerce на ненужных страницах
add_action('wp_enqueue_scripts', 'disable_woocommerce_scripts', 99);

function disable_woocommerce_scripts() {
    // Если это не страница WooCommerce — отключаем всё
    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('select2');
    }

    // Если это страница товара (не категория) — отключаем лишнее
    if (is_single() && get_post_type() == 'product') {
        wp_dequeue_script('wc-cart-fragments');
        wp_dequeue_script('wc-checkout');
        wp_dequeue_script('select2');
    }

    // Если это страница категории товаров — оставляем минимум
    if (is_product_category() || is_product_tag()) {
        wp_dequeue_script('wc-cart-fragments');
        wp_dequeue_script('wc-add-to-cart-variation');
        wp_dequeue_script('wc-checkout');
        wp_dequeue_script('select2');
    }
}

Этот код делает простое дело: проверяет, на какой странице вы находитесь, и отключает ненужные скрипты. Например, на странице блога или «Контакты» WooCommerce вообще не нужен, поэтому мы убираем всё. На странице категории товара мы оставляем только общие скрипты, но убираем вариации и корзину.

Шаг 3. Тонкая настройка для корзины и кассы

Если вы хотите оставить функционал корзины, но убрать дублирующийся CSS, добавьте ещё один блок:

// Отключаем дублирующие стили WooCommerce на страницах магазина
add_action('wp_enqueue_scripts', 'disable_duplicate_woocommerce_styles', 100);

function disable_duplicate_woocommerce_styles() {
    if (is_cart() || is_checkout()) {
        wp_dequeue_style('woocommerce-smallscreen');
        wp_dequeue_style('woocommerce-layout');
    }
}

Многие темы для WooCommerce уже имеют свои стили для корзины и кассы. Поэтому стандартные стили WooCommerce часто дублируются и создают лишнюю нагрузку.

Проверка результата: как убедиться, что всё работает

После добавления кода очистите кеш (плагина кеширования и браузера) и снова проверьте страницы через инструменты разработчика. Вы должны увидеть, что количество запросов к скриптам WooCommerce значительно уменьшилось.

Для наглядности вот таблица того, что было и что стало на типичном сайте:

Страница До оптимизации (запросов) После оптимизации (запросов) Экономия
Главная 12 2 83%
Категория товаров 15 5 67%
Страница товара 18 8 56%
Корзина 20 12 40%
Касса 22 14 36%

Как видите, на главной странице и в категориях экономия колоссальная. Именно эти страницы чаще всего посещают пользователи, пришедшие из поиска или рекламы.

Альтернативные методы: плагины для ленивых

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

  • WooCommerce Conditional Scripts — плагин, который позволяет настроить, какие скрипты грузить на каких страницах. Работает нормально, но требует времени на настройку.
  • Asset CleanUp — мощный плагин для управления скриптами и стилями. Можно отключить что угодно вручную с визуальным интерфейсом. Минус — нужно разбираться, что за что отвечает.
  • Perfmatters — платный плагин (около 25$), который умеет отключать скрипты WooCommerce в один клик. Очень удобно, но платить придётся ежегодно.

Я предпочитаю ручной метод через код, потому что он не создаёт дополнительных плагинов, которые сами по себе могут тормозить сайт. Плюс вы полностью контролируете процесс.

Чего не стоит отключать: критически важные скрипты

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

  1. wc-add-to-cart — отвечает за добавление товара в корзину. Если отключить его на странице товара, кнопка «Купить» перестанет работать.
  2. wc-single-product — скрипт для галереи товара (слайдер, зум). Без него изображения могут отображаться некорректно.
  3. woocommerce-js — основной файл JavaScript WooCommerce. Его отключение сломает почти весь функционал магазина.
  4. wc-cart — скрипт корзины. Если отключить его на странице корзины, пользователь не сможет изменить количество товаров или удалить их.

Всегда проверяйте работу сайта после изменений. Пройдите по пути пользователя: зайдите на главную, выберите товар, добавьте в корзину, оформите заказ. Если что-то сломалось — вернитесь к коду и уберите отключение проблемного скрипта.

Что дальше: комплексное ускорение сайта

Отключение мусорных скриптов WooCommerce — это только первый шаг. Чтобы сайт летал, нужно смотреть на картину в целом:

  • Оптимизация изображений — сжимайте картинки перед загрузкой. Используйте форматы WebP или AVIF. Это может дать +30-50% к скорости.
  • Кеширование — установите плагин кеширования (WP Rocket, LiteSpeed Cache, W3 Total Cache). Это уменьшит время загрузки для повторных посетителей.
  • CDN — подключите Cloudflare или другой CDN, чтобы раздавать статику с серверов, ближайших к пользователю.
  • Минификация — сжимайте CSS и JavaScript файлы. Но будьте осторожны: не все скрипты корректно работают после минификации.
  • Хостинг — если сайт всё ещё тормозит, возможно, пора сменить хостинг. Дешёвый shared-хостинг не выдержит нагрузки интернет-магазина.

В моей практике был случай, когда после всех оптимизаций сайт загружался за 1.2 секунды на мобильном телефоне. Клиент был в шоке: «Я думал, что 5 секунд — это нормально». Нет, не нормально. Если ваш магазин грузится дольше 3 секунд, вы теряете деньги.

Типичные ошибки при отключении скриптов

Я часто вижу, как люди пытаются ускорить сайт и ломают его. Вот что нельзя делать:

  • Отключать скрипты вслепую — не копируйте код из интернета, не понимая, что он делает. В каждом магазине свои плагины и темы, универсального решения нет.
  • Использовать плагины-оптимизаторы без разбора — некоторые плагины предлагают «оптимизировать всё одним кликом». Часто это ломает WooCommerce.
  • Забывать про кеш — после изменений всегда чистите кеш. Иначе вы будете видеть старую версию страницы и думать, что ничего не работает.
  • Не тестировать на мобильных — половина трафика идёт с телефонов. Проверяйте скорость на мобильных устройствах через PageSpeed Insights.

Когда стоит обратиться к специалистам

Если вы прочитали эту статью, но чувствуете, что не готовы лезть в код, или боитесь что-то сломать — это нормально. Не все владельцы бизнеса обязаны быть техническими специалистами. Иногда проще делегировать задачу профессионалам.

Вот признаки того, что пора звать на помощь:

  • Сайт грузится дольше 5 секунд, и вы не знаете, с чего начать
  • Вы уже пробовали что-то менять, но стало только хуже
  • У вас нет доступа к файлам темы или хостингу
  • Вы хотите не просто ускорить сайт, а сделать его быстрым на всех устройствах и под любой нагрузкой

Мы в Wenesis занимаемся именно этим — делаем сайты на WordPress быстрыми, безопасными и удобными. Если вы хотите, чтобы ваш магазин загружался за секунду, а не за полминуты, обращайтесь. Мы проведём аудит, отключим всё лишнее и настроим производительность так, что вы забудете о медленной загрузке навсегда.

Заключение: быстрый сайт = больше продаж

Отключение мусорных скриптов WooCommerce — это простой и эффективный способ ускорить ваш интернет-магазин. Вы не теряете функционал, но экономите 30-50% времени загрузки на страницах, где не нужны корзина или касса.

Попробуйте сами. Возьмите код из статьи, адаптируйте под свой сайт и проверьте результат. Если что-то пойдёт не так — вы всегда можете откатить изменения. Главное — не бойтесь экспериментировать. Ваш бизнес этого стоит.

Добавить комментарий

Разработка сайтов на Wordpress