Если на каждой странице сайта грузятся стили и скрипты от плагинов, даже там, где они не используются, это почти всегда лишний вес и лишние запросы. На небольшом сайте проблема заметна по скорости загрузки, на более нагруженном — ещё и по количеству подключений, которые браузер должен обработать до отрисовки страницы.
Точечно отключать такие ресурсы можно, но делать это нужно аккуратно: сначала понять, какой плагин и какой файл подключает, потом проверить, нужен ли он именно на этой странице, и только после этого убирать загрузку. Ниже — рабочий порядок действий без лишней теории.
Сначала найдите, что именно грузится лишним
Не стоит отключать ресурсы наугад. Один и тот же файл может быть нужен на странице записи, но не нужен на главной, в архиве или на странице «О нас». Сначала откройте проблемную страницу и посмотрите, какие CSS и JS реально подключены.
Проще всего это сделать через инструменты браузера. В Chrome или Edge откройте DevTools, вкладку Network и обновите страницу. Отфильтруйте запросы по css и js. Если видите файлы с понятными именами плагинов, например что-то вроде plugin-name.css или plugin-name.js, это уже хороший ориентир. Иногда имя неочевидно, тогда помогает просмотр исходного кода страницы и поиск по пути к файлу.
Ещё полезно сравнить несколько страниц: главную, запись, страницу контактов, архив рубрик. Часто оказывается, что один и тот же плагин подключает ресурсы везде, хотя реально нужен только в одном типе контента.
Поймите, можно ли отключать файл полностью или только на части страниц
Есть два разных сценария. В первом ресурс плагина вообще не нужен на сайте, потому что функция плагина используется только в одном месте или уже не используется вовсе. Тогда файл можно убрать глобально. Во втором плагин нужен, но его CSS и JS нужны только на отдельных страницах. Тогда отключать нужно точечно, по условиям.
Если плагин отвечает за форму обратной связи, слайдер, галерею, таблицы, блоки FAQ или другой функционал, не спешите отключать всё подряд. Сначала проверьте, где именно этот функционал выводится. Частая ошибка — убрать скрипт на всех страницах, а потом обнаружить, что форма перестала работать на странице контактов или всплывашка не открывается.
Самый безопасный способ — отключать ресурсы через код темы или дочерней темы
Для точечного отключения в WordPress обычно используют функцию wp_dequeue_script() и wp_dequeue_style(). Это рабочий способ, если плагин подключает файл через стандартные механизмы WordPress. Код лучше добавлять в дочернюю тему или в небольшой mu-plugin, а не прямо в файлы родительской темы, чтобы изменения не потерялись после обновления.
Перед изменениями сделайте резервную копию сайта и базы данных. Если ошибиться с условием или названием хэндла, можно случайно сломать нужный функционал или получить «прыгающую» вёрстку без стилей.
Пример: если нужно убрать скрипт и стиль плагина только на страницах, кроме страницы контактов, код может выглядеть так:
add_action( 'wp_enqueue_scripts', function () {
if ( is_page( 'contact' ) ) {
return;
}
wp_dequeue_style( 'plugin-style-handle' );
wp_deregister_style( 'plugin-style-handle' );
wp_dequeue_script( 'plugin-script-handle' );
wp_deregister_script( 'plugin-script-handle' );
}, 100 );Здесь plugin-style-handle и plugin-script-handle — это не имя файла, а хэндл, под которым ресурс зарегистрирован в WordPress. Его нужно узнать отдельно. Часто хэндл можно увидеть в коде самого плагина или найти через отладку подключений.
Обратите внимание на приоритет 100. Он помогает выполнить отключение после того, как плагин уже успел подключить свои файлы. Если поставить слишком ранний приоритет, деактивация может не сработать.
Как узнать хэндл подключаемого файла
Универсального способа без просмотра кода плагина нет, но на практике помогают три варианта:
- открыть исходники плагина и найти вызовы
wp_enqueue_script()иwp_enqueue_style(); - использовать плагины для диагностики подключений, которые показывают список enqueued-ресурсов на странице;
- посмотреть, не выводит ли сам плагин документацию с названием хэндлов для отключения.
Если ресурс подключён не через WordPress API, а напрямую в шаблоне плагина, стандартные wp_dequeue_* могут не помочь. Тогда либо ищите фильтр/настройку самого плагина, либо придётся править логику вывода на уровне шаблона, что уже менее удобно и хуже переживает обновления.
Отключайте ресурсы только там, где они действительно не нужны
Точечное отключение работает лучше всего, когда вы чётко понимаете сценарий использования. Например:
- скрипт формы нужен только на странице «Контакты»;
- стили галереи нужны только в записях с галереями, а не в обычных страницах;
- JS виджета отзывов нужен только на странице с этим блоком;
- стили блока таблиц не нужны на страницах, где таблиц нет.
Для таких случаев удобно использовать условные теги WordPress: is_page(), is_single(), is_singular(), is_archive(), is_front_page(). Они позволяют ограничить отключение конкретными типами страниц.
Например, если плагин нужен только в записях блога, а на страницах он лишний, логика будет обратной: отключать ресурсы на is_page(), но оставлять на is_single().
Если плагин не даёт удобных хуков, проверьте его настройки перед кодом
Не все лишние подключения нужно убирать через PHP. У многих плагинов есть собственные настройки, где можно отключить лишние модули, виджеты, анимации, иконки, библиотеку emoji-стилей, встроенные шрифты или дополнительные библиотеки. Это предпочтительнее, чем вмешиваться в код, потому что обновления плагина не сломают логику.
Сначала откройте настройки плагина и посмотрите, нет ли там переключателей вроде «Load assets everywhere», «Load CSS/JS globally», «Disable on pages without shortcode» или похожих опций. Если такая настройка есть, используйте её. Код нужен уже тогда, когда штатных настроек не хватает.
Проверьте, что отключение не сломало внешний вид и функциональность
После каждого изменения откройте страницу в обычном режиме и в режиме инкогнито, чтобы исключить влияние кэша браузера. Затем проверьте три вещи:
- не пропали ли элементы интерфейса, которые зависят от отключённого файла;
- не съехала ли вёрстка из-за отсутствия CSS;
- не перестали ли работать кнопки, формы, слайдеры, вкладки, модальные окна и другие интерактивные элементы.
Если используете кэш-плагин или серверный кэш, очистите его после правок. Иначе вы можете смотреть на старую версию страницы и сделать неверный вывод, что отключение не сработало.
Хороший практический ориентир — сравнить количество запросов и общий вес страницы до и после. Не обязательно гнаться за красивой цифрой, важнее убрать именно те подключения, которые реально не используются на конкретной странице.
Что обычно мешает отключить лишние стили и скрипты
На практике проблемы почти всегда одни и те же. Первый случай — ресурс подключён не через стандартный механизм WordPress, а напрямую в шаблоне плагина. Второй — вы отключили не тот хэндл. Третий — файл нужен не самой странице, а всплывающему блоку, шорткоду или виджету, который появляется только после действия пользователя.
Ещё одна частая ситуация — плагин использует общий файл для нескольких функций. Тогда убрать его полностью нельзя, а можно только сократить область применения плагина или заменить его более лёгким решением. Иногда это честнее и надёжнее, чем бесконечно писать исключения в коде.
Если на сайте много плагинов, имеет смысл периодически проверять подключаемые ресурсы после обновлений. Разработчики нередко добавляют новые стили и скрипты, и то, что раньше не грузилось на всех страницах, после обновления начинает подключаться глобально.
Когда лучше не править вручную
Если сайт на сложной теме, с большим числом зависимостей и кастомной логикой, ручное отключение без понимания связей может занять больше времени, чем даст пользы. В таких случаях сначала проверьте, нет ли у плагина встроенной оптимизации загрузки, а затем уже решайте, писать ли условия в коде.
Если вы не уверены, что именно отключаете, начните с одной страницы и одного ресурса. Это безопаснее, чем сразу пытаться «почистить» весь сайт. Точечная оптимизация хороша именно тем, что её можно вводить постепенно и проверять по шагам.
В итоге задача сводится к простому порядку: найти лишнее подключение, понять, где оно реально нужно, отключить его только на ненужных страницах и проверить результат. Такой подход обычно даёт заметный выигрыш без риска сломать сайт.