Как удалить лишние CSS и JS из WordPress на отдельных страницах

Если на сайте WordPress одни и те же стили и скрипты грузятся на всех страницах, хотя нужны только на главной, в блоге или на конкретном шаблоне, это почти всегда лишний вес. Обычно проблема не в самом WordPress, а в теме и плагинах: они подключают ассеты глобально, чтобы не усложнять логику. На практике часть из них можно безопасно отключить на отдельных страницах и заметно разгрузить HTML-страницу, особенно если на сайте много сторонних плагинов.

Но здесь есть важная оговорка: удалять CSS и JS нужно не «по названию файла», а по реальной зависимости. Если снять скрипт, который нужен другому скрипту или элементу интерфейса, можно сломать меню, слайдер, форму, попап или валидацию. Поэтому сначала нужно понять, что именно загружается, где это используется, и только потом отключать.

Сначала найдите, какие стили и скрипты реально лишние

Самый надёжный путь — открыть проблемную страницу и посмотреть, какие файлы подключаются. Для этого подойдут инструменты разработчика в браузере, расширения для анализа загрузки или отчёты в PageSpeed Insights. Но для WordPress важнее не просто увидеть список файлов, а понять, какой плагин или тема их добавляет.

В браузере откройте вкладку Network и отфильтруйте запросы по css и js. Затем проверьте, повторяются ли одни и те же файлы на страницах, где они не нужны. Например, если на обычной записи грузится CSS от формы обратной связи, а форма стоит только на странице контактов, это кандидат на отключение.

Если нужен более точный разбор, удобно временно включить отладку и посмотреть, какие хендлы подключаются WordPress-ом. Но для большинства сайтов достаточно сначала составить список файлов и понять, к какому плагину они относятся. Без этого легко отключить не тот ресурс.

Как WordPress подключает CSS и JS и что именно можно отключать

В WordPress стили и скрипты регистрируются и выводятся через систему enqueue. У каждого ресурса есть свой хендл — внутреннее имя, по которому его можно снять с загрузки. Отключать нужно именно хендл, а не URL файла.

Чаще всего лишними оказываются:

  • стили и скрипты плагинов, которые используются только на одной странице;
  • ассеты блока редактора, если блок не выводится на фронтенде;
  • скрипты виджетов, попапов, галерей, слайдеров, которые есть только в отдельных шаблонах;
  • стили WooCommerce на страницах, где магазина нет, если сайт вообще не использует каталог везде;

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

Самый безопасный способ: отключать через код в дочерней теме или мини-плагине

Если нужно убрать CSS или JS только на отдельных страницах, самый предсказуемый вариант — добавить условную логику в functions.php дочерней темы или в отдельный мини-плагин. Так вы контролируете, где именно ресурс не должен загружаться, и не зависите от интерфейса плагина.

Ниже пример для отключения стилей и скриптов на конкретной странице по слагу. Перед изменениями сделайте резервную копию и проверьте сайт на staging-копии, если она есть.

add_action( 'wp_enqueue_scripts', function () {
    if ( is_page( 'contacts' ) ) {
        wp_dequeue_style( 'plugin-style-handle' );
        wp_dequeue_script( 'plugin-script-handle' );
    }
}, 100 );

Здесь is_page( 'contacts' ) срабатывает только на странице с ярлыком contacts. Вместо слага можно использовать ID страницы или другой условный тег: is_front_page(), is_home(), is_single(), is_page_template().

Почему указан приоритет 100: так вы даёте теме и плагинам сначала подключить свои ресурсы, а потом снимаете лишнее. Если поставить слишком ранний хук, деактивация может не сработать, потому что файл ещё не был добавлен в очередь.

Как узнать правильный хендл

Хендл обычно виден в исходном коде страницы, в отладочных плагинах или в документации разработчика плагина. Если хендл неизвестен, не пытайтесь угадать его по имени файла. В WordPress отключение работает только по точному хендлу, и ошибка в одной букве означает, что ресурс останется на странице.

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

Когда удобнее использовать плагин для отключения ассетов

Если вы не хотите править код темы, можно использовать плагин, который показывает подключённые CSS и JS и позволяет отключать их по страницам. Это удобнее для владельца сайта или контент-менеджера, но важно понимать ограничение: такие плагины тоже работают через хендлы WordPress, а не магически удаляют любой файл. Поэтому логика проверки остаётся той же.

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

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

Как отключать ресурсы только на части шаблонов, а не на всём сайте

На практике чаще всего нужно не глобальное удаление, а точечное. Например, отключить тяжёлый слайдер на всех внутренних страницах, но оставить его на главной. Или убрать скрипт формы на страницах, где формы нет, но оставить на странице контактов.

Для этого удобны условные теги WordPress:

  • is_front_page() — главная страница;
  • is_home() — страница записей;
  • is_page() — конкретная страница;
  • is_single() — отдельная запись;
  • is_page_template() — шаблон страницы;
  • is_archive() — архивы;

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

add_action( 'wp_enqueue_scripts', function () {
    if ( ! is_page_template( 'templates/landing.php' ) ) {
        wp_dequeue_style( 'landing-style' );
        wp_dequeue_script( 'landing-script' );
    }
}, 100 );

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

Как проверить, что вы ничего не сломали

После отключения лишних CSS и JS не ограничивайтесь визуальной проверкой главной страницы. Откройте те разделы, где ресурс мог быть нужен косвенно: формы, корзину, поиск, меню, галерею, комментарии, попапы, фильтры. Ошибка часто проявляется не сразу, а только при клике или отправке формы.

Проверка обычно выглядит так:

  • обновить страницу в режиме инкогнито;
  • открыть консоль браузера и посмотреть, нет ли ошибок JavaScript;
  • проверить, не исчезли ли стили у кнопок, форм и навигации;
  • сравнить список запросов до и после отключения;
  • протестировать мобильную версию, потому что часть скриптов ломает именно адаптивное меню.

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

Что делать, если ресурс подключает сам плагин и его нельзя просто убрать

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

Если плагин нужен только на одной странице, но не на всём сайте, лучше всего либо использовать условное снятие через wp_dequeue_style() и wp_dequeue_script(), либо перенести функциональность в более точечную реализацию. Например, вместо глобального слайдера на всех страницах оставить его только в шаблоне главной.

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

Удаление лишних CSS и JS из WordPress на отдельных страницах — это не разовая косметика, а нормальная часть технической оптимизации. Работает она только тогда, когда вы точно знаете, что подключено, где это используется и какой хендл можно безопасно убрать. Если действовать аккуратно и проверять результат после каждого изменения, можно заметно облегчить страницы без потери функциональности.

Как удалить лишние CSS и JS из WordPress на отдельных страницах
17.10.2026
Как отложить загрузку JavaScript в WordPress без ошибок вёрстки
20.10.2026
Как использовать хуки в WordPress для начинающих: практика и примеры кода
13.09.2026
Как удалить и перенаправить страницы вложений в WordPress
10.10.2026
Как настроить canonical в WordPress для страниц с фильтрами и параметрами URL
14.10.2026

Развитие бизнеса вокруг WordPress: современные решения и подробные руководства.