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

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

Задача здесь не в том, чтобы "выключить всё подряд", а в том, чтобы убрать именно фронтенд-часть emoji, не сломав редактор, комментарии и админку. Ниже — рабочие способы, как это сделать аккуратно.

Когда отключение emoji действительно имеет смысл

Если сайт работает на обычной теме и вы не поддерживаете древние браузеры, emoji-скрипт чаще всего не дает практической пользы. Он может быть заметен в аудитах производительности как лишний запрос, а в исходном коде — как набор подключений из wp-emoji-release.min.js.

Отключать его стоит, если:

  • вы оптимизируете фронтенд и убираете все необязательные скрипты;
  • на сайте есть требования к минимальному числу запросов;
  • вы уже проверили, что контент нормально отображается без этой поддержки;
  • вам не нужна совместимость со старыми клиентами, где emoji рендерятся через fallback.

Диагностика: где именно WordPress подключает emoji

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

Что искать в исходном коде

Откройте страницу сайта и посмотрите исходник. Если emoji подключены, вы увидите что-то вроде:

<script type='text/javascript' src='https://example.com/wp-includes/js/wp-emoji-release.min.js?ver=6.x'></script>

Иногда рядом будут inline-скрипты с проверкой canvas. Это нормальное поведение WordPress, но для большинства современных сайтов оно лишнее.

Что проверить до отключения

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

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

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

Вариант 1: отключить emoji через код

<?php
/**
 * Plugin Name: Disable Emoji Frontend
 */

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 в RSS и письмах. Для большинства сайтов этого достаточно.

Вариант 2: только фронтенд, оставить админку

Если вы хотите убрать emoji только на публичной части сайта, а в админке оставить всё как есть, можно ограничиться wp_head и стилями фронтенда:

<?php
add_action( 'init', function () {
    if ( is_admin() ) {
        return;
    }

    remove_action( 'wp_head', 'print_emoji_detection_script', 7 );
    remove_action( 'wp_print_styles', 'print_emoji_styles' );
} );

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

Вариант 3: через плагин оптимизации

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

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

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

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

  1. Откройте исходный код главной страницы и убедитесь, что wp-emoji-release.min.js больше не подключается.
  2. Проверьте вкладку Network в DevTools: запрос к emoji-скрипту не должен появляться при перезагрузке страницы.
  3. Посмотрите HTML в админке и на фронтенде отдельно, если вы отключали только публичную часть.
  4. Очистите кеш страницы, объектный кеш и CDN, если они используются.

Если у вас включен Page Cache, старый HTML может еще некоторое время отдавать прежний код. Это не ошибка настройки, а обычный эффект кеширования.

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

Удалили код из темы, а emoji остались

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

Сломались emoji в письмах или RSS

Это происходит, если вы отключили только скрипт, но не подумали о фильтрах wp_staticize_emoji_for_email и wp_staticize_emoji. Если вам важно сохранить корректную обработку в письмах, оставьте эти фильтры включенными и уберите только фронтенд.

Появились проблемы в админке

Так бывает, если вы без разбора удалили и admin_print_scripts, и admin_print_styles, а потом столкнулись с тем, что в редакторе что-то отображается не так. Для безопасного сценария сначала отключайте только публичную часть, а потом уже решайте, нужно ли трогать админку.

Плагин оптимизации возвращает emoji обратно

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

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

Не редактируйте ядро WordPress и не правьте файлы в wp-includes. После обновления всё вернется назад, а в худшем случае вы получите конфликт версий. Для таких задач mu-plugin — самый чистый вариант.

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

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

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

Как отключить XML-RPC в WordPress без поломки Jetpack и мобильных приложений
21.08.2026
Как отключить архивы авторов в WordPress без потери индексации
27.08.2026
Как отключить emoji в WordPress и убрать лишние запросы из фронтенда
30.08.2026