Как отключить лишние стили и скрипты плагинов на сайте WordPress
Плагин формы может загружать свои CSS и JavaScript на каждой странице, хотя форма есть только в разделе контактов. Похожая ситуация встречается с галереями, слайдерами и другими компонентами. Убирать такие файлы имеет смысл, если вы проверили, что на конкретной странице они не используются. Простое отключение «всего лишнего» может сломать форму, меню или внешний вид блоков.
Безопасный подход — сначала выяснить, какой плагин добавляет ресурс и где он нужен, затем отключить его только на подходящих страницах и проверить результат. Для этого можно использовать настройки самого плагина, менеджер загрузки ресурсов или небольшой код в дочерней теме.
Когда отключение ресурсов действительно полезно
Сначала определите, что именно мешает. В инструментах разработчика браузера на вкладке Network видно, какие CSS- и JavaScript-файлы загружаются и сколько они весят. Это помогает найти ресурсы, но не всегда сразу показывает, какой плагин их добавил. Для связи файлов с плагинами удобен Query Monitor: его панель показывает подключённые скрипты и стили и, в зависимости от способа загрузки, источник или компонент.
Проверяйте не только главную страницу. Откройте страницы с формой, корзиной, галереей, всплывающим окном и другими функциями плагинов. Ресурс, который не нужен на главной, может быть необходим на странице записи или в мобильном меню.
Отключение оправдано, если конкретный файл действительно загружается там, где его функциональность не используется, и его удаление даёт измеримую пользу. Если запросов немного, а основная задержка связана с сервером, изображениями или сторонними сервисами, разгрузка плагинных файлов может почти ничего не изменить. Не путайте её с объединением, минификацией или отложенной загрузкой: это другие способы оптимизации, и каждый из них тоже требует проверки совместимости.
Выберите способ: настройки плагина, менеджер ресурсов или код
Если в настройках плагина есть управление загрузкой ресурсов, начните с него. Это наиболее понятный вариант: разработчик плагина может учитывать собственные зависимости и предусмотреть отключение CSS или JavaScript. У такой настройки может быть ограниченная область действия — например, она отключит весь компонент, а не отдельный файл.
Плагин-менеджер ресурсов, например Asset CleanUp или Perfmatters, позволяет управлять загрузкой CSS и скриптов на отдельных страницах через интерфейс. Он удобен, когда файлов много и условия различаются для разных URL. Возможности и интерфейс зависят от версии и настроек инструмента. Перед изменениями проверьте сайт на копии или подготовьте способ быстро отменить отключение.
Код подходит, если нужно задать простое и понятное условие, например убрать один ресурс на странице контактов. Для этого не обязательно устанавливать дополнительный плагин. Добавляйте код в дочернюю тему или собственный небольшой плагин, а не в файлы стороннего плагина или родительской темы: обновление может перезаписать изменения.
Как отключить стиль или скрипт на выбранной странице
В WordPress ресурсы, поставленные в очередь через штатный механизм, можно убрать функциями wp_dequeue_style() и wp_dequeue_script(). Им нужен не адрес файла, а его handle — внутреннее имя ресурса. Найдите handle в Query Monitor или в коде, который подключает файл. Имя файла и handle часто различаются.
Ниже пример отключает условные ресурсы плагина на странице контактов. Замените значения в вызовах функций на реальные handles вашего сайта:
<?php
add_action( 'wp_enqueue_scripts', 'wpskill_unload_plugin_assets', 100 );
function wpskill_unload_plugin_assets() {
if ( is_page( 'contacts' ) ) {
wp_dequeue_style( 'plugin-style-handle' );
wp_dequeue_script( 'plugin-script-handle' );
}
}
Проверка is_page( 'contacts' ) ограничивает действие страницей со слагом contacts. Её можно заменить на условие для другого типа страницы, например is_front_page() для главной. Хук wp_enqueue_scripts предназначен для подключения фронтенд-ресурсов; приоритет 100 обычно позволяет выполнить отключение после стандартной очереди плагинов. Если конкретный плагин ставит файлы в очередь позже, условие может потребоваться выполнить позднее — сначала проверьте порядок загрузки.
wp_dequeue_* убирает ресурс из очереди на вывод. Не заменяйте эти вызовы на wp_deregister_style() или wp_deregister_script() без необходимости: deregister удаляет регистрацию handle и может затронуть код, который рассчитывает на него. Также не отключайте файл вслепую, если на него ссылаются другие скрипты или стили.
Что проверить после отключения
Очистите кеш сайта и CDN, если они используются: иначе браузер может получить старую версию страницы. Затем проверьте страницу в приватном окне или выйдите из учётной записи администратора — некоторые функции и панели доступны только авторизованным пользователям.
- Посмотрите страницу на компьютере и телефоне: проверьте меню, формы, кнопки, всплывающие элементы и блоки, связанные с отключённым ресурсом.
- Откройте консоль браузера и убедитесь, что после изменения не появились ошибки JavaScript.
- Проверьте Network: нужный файл не должен загружаться на выбранной странице, но должен оставаться на страницах, где функция используется.
- Сравните скорость или отчёты Lighthouse до и после в одинаковых условиях. Оценивайте не только количество запросов, но и работу сайта.
Если после отключения пропало оформление или перестал работать компонент, верните ресурс и выясните его зависимости. Иногда плагин добавляет данные для JavaScript отдельно от файла, использует inline-скрипт или подключает ресурс не через стандартную очередь WordPress. В таких случаях wp_dequeue_script() может быть недостаточно или нужный handle будет отсутствовать.
Почему не стоит удалять ресурсы сразу на всём сайте
Условия «отключить везде» особенно рискованны для файлов, которые кажутся общими: библиотека может использоваться несколькими плагинами, а стили — блоками темы. На сайтах с кешированием и оптимизацией также важно проверять уже обработанную версию страницы. Минификация и объединение могут менять состав и порядок файлов, поэтому после настройки проверьте сайт с включёнными оптимизаторами.
На сайте с большим числом страниц удобнее вести список проверенных правил и менять по одному условию за раз. Если ресурс необходим только одному компоненту, иногда надёжнее изменить настройки самого плагина или отказаться от неиспользуемой функции, чем вручную управлять десятками handles. Отключайте ровно то, что проверили: тогда проще найти причину, если после изменения что-то перестало работать.