Если сайт на WordPress стал грузить слишком много CSS и JavaScript, это обычно видно невооружённым глазом: в отчёте PageSpeed появляются лишние запросы, тема тащит стили для всего подряд, а плагины подключают свои файлы даже там, где они не нужны. Убрать это можно, но делать нужно аккуратно: сначала понять, какой ресурс за что отвечает, а уже потом отключать его на нужных страницах.
Самый рабочий подход такой: сначала находите лишние подключения, затем проверяете, где они реально используются, и только после этого снимаете их с фронтенда. Если отключить файл «наугад», легко получить сломанный слайдер, форму, меню или вёрстку.
Что именно считать лишним
Лишними обычно оказываются не «все скрипты плагина», а конкретные файлы, которые не нужны на части страниц. Например:
- стили и скрипты формы обратной связи на страницах, где формы нет;
- CSS и JS слайдера на обычных текстовых страницах;
- иконки, шрифты и библиотеки, которые тема подключает глобально, хотя используются только в одном блоке;
- файлы плагинов, которые нужны только в админке, но по ошибке попадают на сайт;
- дублирующиеся библиотеки, когда тема и плагин загружают одну и ту же версию jQuery-плагина или похожий функционал.
Полностью «обнулить» подключаемые файлы на WordPress обычно нельзя и не нужно. Задача практическая: убрать то, что не участвует в отображении конкретной страницы.
Как найти ненужные ресурсы
Начинать лучше не с кода, а с проверки страницы в браузере. Откройте проблемную страницу, затем посмотрите список загрузок в DevTools:
- вкладка
Networkпокажет CSS и JS, которые реально запрашиваются; - вкладка
Coverageпомогает увидеть, какой CSS и JS почти не используется на странице; - если у вас есть отчёт PageSpeed, он часто показывает, какие файлы дают лишний вес и блокируют рендеринг.
Практический смысл здесь простой: если файл загружается на всех страницах, но используется только в одном шаблоне, его можно отключить условно — только там, где он не нужен.
На WordPress удобнее всего смотреть ещё и исходный код страницы. Ищите в HTML названия файлов темы и плагинов: по пути обычно понятно, кто именно их добавил. Это не всегда очевидно по имени, но часто помогает структура URL: /wp-content/themes/... или /wp-content/plugins/....
Как отключать скрипты и стили безопасно
Самый надёжный способ — делать это через дочернюю тему или небольшой кастомный плагин, а не править файлы самой темы. Тогда обновление не затрёт ваши изменения.
В WordPress для снятия подключений используются функции wp_dequeue_script(), wp_deregister_script(), wp_dequeue_style() и wp_deregister_style(). На практике чаще достаточно именно dequeue: файл перестаёт выводиться на фронтенде, но остаётся зарегистрированным, если он нужен где-то ещё.
Ниже пример, как отключить конкретный скрипт или стиль на определённых страницах. Перед этим обязательно сделайте резервную копию и проверьте код на staging-копии, если сайт рабочий и с трафиком.
add_action( 'wp_enqueue_scripts', function () {
if ( is_page( 'contacts' ) ) {
wp_dequeue_script( 'contact-form-7' );
wp_dequeue_style( 'contact-form-7' );
}
if ( ! is_page_template( 'page-landing.php' ) ) {
wp_dequeue_style( 'slick-theme' );
wp_dequeue_script( 'slick' );
}
}, 100 );Здесь важны два момента. Во-первых, приоритет 100 нужен, чтобы код сработал после того, как тема и плагины уже подключили свои ресурсы. Во-вторых, названия contact-form-7, slick-theme и slick — это не универсальные имена, а конкретные handle ресурсов. У каждого сайта они могут отличаться.
Как узнать правильный handle
Если вы не знаете точное имя, его можно найти в коде темы или плагина: ищите вызовы wp_enqueue_script() и wp_enqueue_style(). Первый параметр в этих функциях и есть handle. Например:
wp_enqueue_script( 'theme-slider', get_template_directory_uri() . '/assets/js/slider.js', array( 'jquery' ), '1.0', true );В этом примере отключать нужно именно theme-slider, а не имя файла slider.js. Это типичная ошибка: многие пытаются снять ресурс по названию файла, но WordPress работает по handle.
Что можно отключать, а что лучше не трогать
Есть ресурсы, которые обычно можно убрать точечно без последствий, и есть те, с которыми лучше не экспериментировать без теста.
| Ресурс | Когда можно отключать | Когда не стоит |
|---|---|---|
| Стили и скрипты плагина формы | На страницах без формы | На странице контактов или в шаблоне, где форма встроена |
| Слайдеры, галереи, lightbox | Если блоков с ними нет | Если они используются в контенте через шорткод или блок |
| Иконки, шрифты, вспомогательные библиотеки темы | Если тема не ломается без них и вы проверили визуально | Если они влияют на меню, кнопки, сетку или админские элементы фронтенда |
| jQuery и зависимости ядра | Почти никогда вручную | Если не понимаете, кто от них зависит |
Особенно осторожно нужно быть с библиотеками, от которых зависят другие скрипты. Если снять родительский файл, может перестать работать сразу несколько функций темы.
Как сократить лишнее без ручного кода
Если на сайте много плагинов и ресурсов слишком много, ручная чистка может занять время. В таком случае удобнее использовать инструмент, который умеет отключать ненужные стили и скрипты по страницам, а также убирать часть служебного мусора WordPress. Для этой задачи подходит Clearfy Pro: он помогает управлять подключениями и не править код темы в каждом месте вручную. Но даже с таким инструментом логика остаётся той же: сначала находите, что именно лишнее, потом отключаете точечно.
Автоматические решения полезны, когда на сайте десятки страниц и несколько тяжёлых плагинов. Но они не отменяют проверку: после отключения всё равно нужно пройтись по ключевым шаблонам и убедиться, что ничего не отвалилось.
Как проверить, что всё работает после отключения
После каждого изменения откройте страницу в обычном браузере и проверьте не только внешний вид, но и поведение:
- отправляется ли форма;
- работает ли меню на мобильных устройствах;
- открываются ли модальные окна, галереи и слайдеры;
- не съехала ли сетка и не пропали ли иконки;
- не появились ли ошибки в консоли браузера.
Затем снова посмотрите Network: если нужный файл исчез с конкретной страницы и при этом функциональность сохранилась, значит отключение выполнено правильно. Если что-то сломалось, возвращайте ресурс и ищите более точечное условие, а не отключайте его глобально.
Хорошая практика — вести короткий список того, что вы отключили и на каких страницах. Это экономит время, когда через месяц нужно будет понять, почему на одной записи работает галерея, а на другой нет.
Когда лучше не отключать вручную
Есть ситуации, где ручное удаление скриптов и стилей приносит больше вреда, чем пользы. Например, если тема построена на сложных зависимостях и вы не знаете, какие файлы связаны между собой. Или если сайт активно редактируется разными людьми, а изменения в коде никто не документирует. В таких случаях сначала имеет смысл навести порядок в теме и плагинах, а уже потом чистить подключения.
Если сайт на кастомной теме, а ресурсы подключаются хаотично, иногда быстрее и надёжнее привести в порядок саму логику wp_enqueue_scripts, чем бесконечно отключать последствия чужого кода. Это уже не косметическая оптимизация, а нормальная разработка.
Если действовать по шагам — найти ресурс, понять, где он нужен, отключить точечно и проверить результат — убрать лишние скрипты и стили в WordPress можно без поломки сайта. Главное здесь не количество удалённых файлов, а аккуратность: на практике выигрывает не тот, кто отключил больше, а тот, кто оставил только то, что действительно используется на странице.