Как отключить emoji в WordPress и убрать лишние запросы из фронтенда

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

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

Что именно отключаем и где это видно

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

Проверять нужно не «на глаз», а по факту: в исходнике страницы, в DevTools и в списке подключенных скриптов. Если после отключения emoji на странице остались только обычные символы Unicode, это нормальное поведение.

Когда отключение оправдано

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

Диагностика: как понять, что emoji действительно грузятся

Сначала проверьте исходный код страницы. В типичной установке WordPress можно увидеть подключение wp-emoji-release.min.js или inline-логику, связанную с emoji. Также в <head> могут появляться дополнительные стили и тестовый скрипт.

Если у вас включена минификация или объединение файлов, не делайте вывод только по названию файла в HTML. Откройте вкладку Network в браузере и отфильтруйте запросы по emoji. Так проще понять, что именно реально загружается.

Полезный чек-лист перед изменениями:

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

Способ 1: отключить emoji кодом в functions.php или через mu-plugin

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

<?php
/**
 * Disable WordPress emoji scripts and styles.
 */
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' );
    remove_filter( 'the_content_feed', 'wp_staticize_emoji' );
    remove_filter( 'comment_text_rss', 'wp_staticize_emoji' );
    remove_filter( 'wp_mail', 'wp_staticize_emoji_for_email' );
} );

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

Если нужен именно mu-plugin

Для сайта, где вы регулярно меняете тему, удобнее положить код в отдельный файл в wp-content/mu-plugins/. Тогда он не исчезнет при обновлении темы и не зависит от активного шаблона.

<?php
/**
 * Plugin Name: Disable Emoji Support
 */
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' );
    remove_filter( 'the_content_feed', 'wp_staticize_emoji' );
    remove_filter( 'comment_text_rss', 'wp_staticize_emoji' );
    remove_filter( 'wp_mail', 'wp_staticize_emoji_for_email' );
} );

Способ 2: отключить emoji через плагин оптимизации

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

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

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

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

После отключения откройте главную страницу и любую внутреннюю запись в режиме инкогнито. Дальше проверьте три вещи.

  1. В исходнике страницы больше нет подключения wp-emoji-release.min.js.
  2. В <head> не выводятся связанные с emoji inline-скрипты и стили.
  3. В DevTools на вкладке Network отсутствуют запросы к emoji-ресурсам.

Если у вас включен кеш страницы, не забудьте очистить его. Иначе вы можете смотреть на старую версию HTML и решить, что код не сработал.

Дополнительно проверьте админку. Отключение emoji не должно мешать редактору Gutenberg, загрузке медиа или сохранению записей. Если что-то сломалось, почти всегда причина в конфликте с другим плагином оптимизации, который тоже вмешивается в core-скрипты.

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

Код добавили не туда

Если вставить фрагмент в файл темы, который не загружается на всех страницах, отключение будет работать частично или не будет работать вообще. Для системного решения используйте functions.php дочерней темы или mu-plugin.

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

Иногда на главной кеш уже обновился, а на внутренних страницах еще висит старая версия. Проверяйте несколько URL, особенно если на сайте разные шаблоны и разные уровни кеширования.

Путают emoji с обычными символами

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

Ставят два решения сразу

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

Что еще стоит проверить рядом с этой настройкой

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

Для сайтов, где важна скорость и предсказуемость шаблона, полезно держать рядом список того, что вы уже отключили: emoji, embeds, лишние архивы, дубли в sitemap, неиспользуемые виджеты. Тогда проще не потерять изменения после обновления темы или миграции на новый сервер.

Автоматический импорт данных из Google Sheets в WordPress
03.10.2026
Как отключить архивы авторов без 404 в WordPress
27.09.2026
Как настроить автоматическое отображение связанных записей в WordPress
17.09.2026
Автоматический импорт данных из Excel в WordPress
01.10.2026
WooCommerce: автоматическое изменение атрибутов товаров через Webhook с примером кода
17.09.2026