Отключаем мусорные скрипты 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 в один клик. Очень удобно, но платить придётся ежегодно.
Я предпочитаю ручной метод через код, потому что он не создаёт дополнительных плагинов, которые сами по себе могут тормозить сайт. Плюс вы полностью контролируете процесс.
Чего не стоит отключать: критически важные скрипты
Есть несколько скриптов, которые лучше не трогать, если вы не уверены в своих действиях:
- wc-add-to-cart — отвечает за добавление товара в корзину. Если отключить его на странице товара, кнопка «Купить» перестанет работать.
- wc-single-product — скрипт для галереи товара (слайдер, зум). Без него изображения могут отображаться некорректно.
- woocommerce-js — основной файл JavaScript WooCommerce. Его отключение сломает почти весь функционал магазина.
- 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% времени загрузки на страницах, где не нужны корзина или касса.
Попробуйте сами. Возьмите код из статьи, адаптируйте под свой сайт и проверьте результат. Если что-то пойдёт не так — вы всегда можете откатить изменения. Главное — не бойтесь экспериментировать. Ваш бизнес этого стоит.
Добавить комментарий