Как отключить встроенные стили и скрипты WordPress

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

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

Что именно обычно отключают в WordPress

Под «встроенными стилями и скриптами» обычно имеют в виду не только ядро WordPress, но и стандартные ресурсы, которые WordPress подключает автоматически. Часть из них нужна всегда, часть — только в отдельных сценариях.

Чаще всего отключают:

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

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

Что можно отключать безопасно, а что лучше оставить

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

РесурсКогда можно отключитьКогда лучше оставить
Emoji scriptЕсли не нужны встроенные эмодзи WordPress в старом виде и вы не завязаны на этот механизмПочти никогда не нужен вручную, но отключение обычно безопасно
oEmbedЕсли сайт не использует стандартное встраивание чужих материалов через WordPressЕсли вы регулярно вставляете ссылки на внешние материалы и хотите автоподстановку
Comment reply scriptЕсли комментарии отключены или не используютсяЕсли на сайте есть древовидные комментарии
Block library stylesЕсли блоки Gutenberg не используются на фронтенде или тема уже заменяет эти стили своимиЕсли контент собран блоками и стили блоков нужны для нормального отображения
jQuery MigrateТолько если вы проверили тему и плагины и они не используют старый jQuery-кодЕсли есть старые скрипты, слайдеры или плагины, которые на нём завязаны

Отдельно скажу про jQuery Migrate: его часто советуют убрать ради ускорения, но это не тот случай, где стоит действовать вслепую. На старых темах и плагинах после отключения могут перестать работать меню, вкладки, попапы и другие элементы интерфейса.

Как отключить встроенные скрипты WordPress через functions.php

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

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

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

add_action( 'wp_enqueue_scripts', function () {
    wp_deregister_script( 'wp-embed' );
    wp_dequeue_script( 'wp-emoji-release' );
}, 100 );

add_action( 'init', function () {
    remove_action( 'wp_head', 'print_emoji_detection_script', 7 );
    remove_action( 'wp_print_styles', 'print_emoji_styles' );
} );

Что делает этот код:

  • wp-embed убирает стандартный скрипт встраивания WordPress;
  • wp-emoji-release и связанные действия отключают emoji-скрипт и emoji-стили;
  • при этом код не трогает админку и не вмешивается в редактор.

Если на сайте есть комментарии с ответами, не отключайте comment-reply без проверки. Этот скрипт нужен для корректной работы древовидных ответов.

Как убрать стили блоков Gutenberg на фронтенде

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

Для отключения стилей блоков на фронтенде обычно используют такой код:

add_action( 'wp_enqueue_scripts', function () {
    wp_dequeue_style( 'wp-block-library' );
    wp_dequeue_style( 'wp-block-library-theme' );
    wp_dequeue_style( 'global-styles' );
}, 100 );

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

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

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

Для этого обычно используют хуки wp_enqueue_scripts и admin_enqueue_scripts. Если плагин подключает ресурсы через стандартные функции WordPress, их можно снять через wp_dequeue_style() и wp_dequeue_script(). Но сначала нужно узнать точные handle-имена файлов. Их можно посмотреть в исходном коде страницы или в документации плагина.

Пример:

add_action( 'wp_enqueue_scripts', function () {
    if ( ! is_page( 'contacts' ) ) {
        wp_dequeue_style( 'contact-form-7' );
        wp_dequeue_script( 'contact-form-7' );
    }
}, 100 );

Здесь ресурсы формы остаются только на странице «contacts». Если форма стоит ещё и в сайдбаре, футере или в попапе, такой код уже не подойдёт — сначала проверьте реальное размещение формы на сайте.

Как понять, что можно отключить без риска

Перед отключением полезно пройти короткую проверку. Она занимает меньше времени, чем потом искать, почему сломалась кнопка или съехала сетка.

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

Если после отключения что-то сломалось, не ищите проблему в «WordPress вообще». Обычно виноват конкретный скрипт, который был нужен теме или плагину. В таком случае проще вернуть отключённый handle и уже потом искать более узкий способ оптимизации.

Когда лучше не отключать вручную

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

Не стоит отключать ресурсы вручную, если:

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

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

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

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

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

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

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

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

⭐⭐⭐⭐⭐