Как отключить лишние emoji и скрипты Gutenberg в WordPress без поломки сайта

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

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

Когда это вообще имеет смысл

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

Типичные признаки лишней обвязки

  • в исходном коде есть wp-emoji-release.min.js, хотя emoji-обработка на сайте не нужна;
  • подключается wp-embed.min.js, но вы не вставляете внешние embed-коды WordPress;
  • в <head> выводятся глобальные стили блоков, хотя блоки используются минимально;
  • в отчётах Lighthouse или WebPageTest видны лишние CSS/JS-запросы от ядра.

Диагностика: что именно отключать

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

Удобно смотреть через:

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

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

Пошаговое решение через functions.php или мини-плагин

Лучше не править ядро и не вносить изменения в тему без необходимости. Самый предсказуемый вариант — добавить код в дочернюю тему или в небольшой mu-plugin. Так вы не потеряете настройки после обновления.

1. Отключаем emoji-скрипты и стили

WordPress по умолчанию добавляет поддержку emoji через JS и CSS. Если на сайте это не нужно, можно убрать эти подключения:

<?php
add_action( 'init', function () {
    remove_action( 'wp_head', 'print_emoji_detection_script', 7 );
    remove_action( 'admin_print_scripts', 'print_emoji_detection_script' );
    remove_action( 'wp_print_styles', 'print_emoji_styles' );
    remove_action( 'admin_print_styles', 'print_emoji_styles' );
} );

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

2. Убираем wp-embed, если встраивания WordPress не используются

Если вы не вставляете записи WordPress через oEmbed и не используете автоматическую обвязку embed-контента, можно отключить этот скрипт:

<?php
add_action( 'wp_footer', function () {
    wp_deregister_script( 'wp-embed' );
} );

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

3. Ограничиваем глобальные стили блоков

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

<?php
add_action( 'wp_enqueue_scripts', function () {
    if ( ! is_admin() ) {
        wp_dequeue_style( 'wp-block-library' );
        wp_dequeue_style( 'wp-block-library-theme' );
    }
}, 100 );

Этот вариант грубее предыдущих. Он подходит только если вы понимаете, что на фронтенде не завязаны на стандартные стили блоков. Если тема использует Gutenberg-верстку, часть элементов может поехать.

Что выбрать: код, плагин или частичная настройка

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

ПодходПлюсыМинусыКогда брать
Код в functions.php / mu-pluginПрозрачно, без лишних зависимостейНужна проверка после обновленийКогда нужен точечный контроль
Плагин оптимизацииУдобно отключать по чекбоксамМожет конфликтовать с темой и кешемКогда правок много и нужен UI
Ничего не отключатьМинимум рискаОстаются лишние запросы и обвязкаЕсли сайт уже использует всё подключаемое ядром

Если нужен более широкий набор чистки дублей и технических настроек, иногда проще собрать это в одном инструменте. Например, Clearfy Pro от WPShop закрывает часть типовых задач по SEO и чистке сайта, но даже в этом случае отключать всё подряд не стоит — сначала проверяйте, что именно используется на вашем проекте: https://wpshop.ru/plugins/clearfy.

Проверка результата после внедрения

После изменений не ограничивайтесь тем, что сайт «открылся без ошибок». Нужно проверить конкретные вещи.

Чек-лист проверки

  • откройте исходный код страницы и убедитесь, что wp-emoji-release.min.js больше не выводится;
  • проверьте, исчез ли wp-embed.min.js на фронтенде;
  • сравните список CSS/JS до и после в DevTools;
  • пройдитесь по страницам с блоками Gutenberg и убедитесь, что стили не сломались;
  • проверьте формы, меню, галереи и встраивания, если они есть;
  • очистите кеш плагина, сервера и CDN, если они используются.

Если после отключения глобальных стилей блоков у вас «поплыли» кнопки, колонки или отступы, значит тема или контент реально завязаны на эти стили. В таком случае лучше вернуть только wp-block-library или отключать стили точечно по шаблонам, а не глобально.

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

Отключили wp-embed, а встраивания перестали работать

Это значит, что на сайте есть контент, который использует WordPress-embed. Решение простое: верните скрипт или ограничьте отключение только страницами, где embed не нужен.

Убрали стили блоков и сломали тему

Такое бывает, если тема использует стандартные классы Gutenberg для сетки, кнопок или типографики. Не пытайтесь «лечить» это дополнительным CSS наугад. Сначала проверьте, какие именно блоки пострадали, и верните нужный стиль.

Внесли код в родительскую тему

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

Проверили только главную страницу

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

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

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

Если сайт работает под кешем, после изменений обязательно сбрасывайте:

  • кеш страницы;
  • объектный кеш, если он есть;
  • CDN-кеш;
  • кеш браузера для теста в режиме инкогнито.

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

Как отключить лишние emoji и скрипты Gutenberg в WordPress без поломки сайта
06.09.2026
Как закрыть от индексации страницы автора, архивы и теги в WordPress
31.08.2026
Как убрать 404-страницы из XML sitemap в WordPress
03.09.2026