Как отключить лишние стили и скрипты на отдельных страницах в GeneratePress

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

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

Когда это действительно нужно

Не стоит начинать с отключения всего подряд. Сначала проверьте, есть ли у вас реальная проблема. Точечная оптимизация нужна, если:

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

Если у вас просто «медленный сайт», без понимания источника проблемы, сначала соберите факты. Иначе легко отключить нужный файл и получить визуальную поломку.

Диагностика: что именно грузится лишним

Начните с проверки конкретной страницы, а не всего сайта. Откройте DevTools в браузере, вкладку Network, обновите страницу и посмотрите, какие CSS и JS файлы приходят в ответе. Отдельно обратите внимание на файлы, которые относятся к плагинам, не используемым на этой странице.

Полезно сравнить:

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

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

Что смотреть в GeneratePress в первую очередь

В самой теме проверьте настройки Layout, Disable Elements и элементы, добавленные через GeneratePress Premium. Частая ошибка — оставить включёнными заголовок страницы, метаданные, футерные элементы и дополнительные блоки там, где они уже выведены через шаблон или плагин.

Также проверьте, не дублируются ли:

  • хлебные крошки;
  • заголовок страницы;
  • автор и дата;
  • CTA-блоки в конце записи;
  • иконки соцсетей и кнопки шаринга.

Пошаговое решение: отключаем лишнее точечно

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

1. Используйте Disable Elements на нужной странице

Если проблема в лишних блоках темы, откройте редактирование страницы и в метабоксе GeneratePress отключите то, что не нужно именно здесь: заголовок, навигацию, футерные элементы, featured image, title area. Это особенно полезно для лендингов, где нужен полностью кастомный макет.

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

2. Отключайте стили и скрипты плагинов только там, где они не нужны

Если плагин подключает свои файлы на весь сайт, а используется только в одном разделе, можно снять их через wp_dequeue_style() и wp_dequeue_script(). Делать это лучше в дочерней теме или через небольшой mu-plugin, чтобы не потерять изменения после обновления.

<?php
add_action( 'wp_enqueue_scripts', function () {
    if ( is_page( array( 12, 34 ) ) ) {
        wp_dequeue_style( 'contact-form-7' );
        wp_dequeue_script( 'contact-form-7' );
    }
}, 100 );

В этом примере стили и скрипты Contact Form 7 отключаются на страницах с ID 12 и 34. Перед применением проверьте реальные handle файлов — они могут отличаться в зависимости от версии плагина и дополнительных модулей.

3. Убирайте лишние inline-элементы и повторные подключения

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

Здесь важно не «выключить всё», а оставить один источник. Если библиотека уже есть в теме или в одном основном плагине, второе подключение обычно лишнее.

<?php
add_action( 'wp_enqueue_scripts', function () {
    if ( ! is_page_template( 'templates/landing.php' ) ) {
        wp_dequeue_style( 'my-landing-fonts' );
    }
}, 100 );

Такой подход полезен, если шрифты или декоративные стили нужны только на одном шаблоне страницы.

Сравнение подходов: что выбрать в GeneratePress

Способ Когда подходит Плюсы Минусы
Disable Elements Нужно убрать блоки темы на конкретной странице Безопасно, быстро, без кода Не помогает с файлами плагинов
wp_dequeue_style() / wp_dequeue_script() Нужно отключить CSS/JS точечно Точный контроль над ассетами Нужно знать handle и тестировать
Замена плагина или модуля Файл нужен везде, но слишком тяжёлый Убирает причину, а не симптом Требует миграции и проверки верстки

Как проверить, что решение сработало

После изменений не ограничивайтесь визуальной проверкой. Откройте страницу в режиме инкогнито и сделайте три вещи:

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

Если используете PageSpeed Insights или Lighthouse, смотрите не только на общий балл. Важнее, уменьшилось ли количество неиспользуемых ресурсов и не появились ли ошибки рендеринга. Иногда после отключения файла страница становится быстрее, но ломается один блок — это нужно заметить сразу.

Частые ошибки и как их исправить

Отключили файл, который нужен только в скрытом состоянии

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

Использовали неправильный handle

wp_dequeue_style() работает только с точным именем зарегистрированного файла. Если handle указан неверно, ничего не произойдёт, и это легко принять за баг темы. Проверьте handle через исходный код, Query Monitor или регистрацию в плагине/теме.

Сняли подключение в слишком раннем хуке

Если вызвать wp_dequeue_style() до того, как файл был зарегистрирован, WordPress его не уберёт. Обычно безопаснее использовать приоритет 100 на wp_enqueue_scripts, чтобы сначала отработали темы и плагины.

Отключили глобально то, что нужно только на части сайта

Это частая ошибка при работе с GeneratePress: оптимизация делается «на весь сайт», хотя проблема есть только на лендингах или в блоге. В итоге ломается архив, запись или страница контактов. Лучше писать условие через is_page(), is_single(), is_front_page() или is_page_template().

Практические советы по безопасности и производительности

Не редактируйте код темы напрямую. Для точечных правок используйте дочернюю тему или mu-plugin. Это особенно важно в GeneratePress, потому что тема обновляется часто, а ручные изменения в родительской теме теряются.

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

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

Когда лучше не писать код, а пересобрать страницу

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

Для сайтов, где контент и техническая чистота важнее декоративных эффектов, такой подход обычно устойчивее: меньше конфликтов, проще обновления, легче поддержка.

Как отключить архивы авторов и дат в GeneratePress без поломки SEO
20.08.2026
Как отключить лишние стили и скрипты на отдельных страницах в GeneratePress
17.08.2026
Как отключить переход на архив автора и блок author bio в GeneratePress
01.09.2026
Как убрать дублирующиеся H1 и Title на страницах архивов в GeneratePress
13.08.2026
Как отключить лишние изображения srcset на страницах без картинок в GeneratePress
26.08.2026