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

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

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

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

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

Отключение имеет смысл, если:

  • вы оптимизируете главную, статьи и архивы под минимальное число запросов;
  • в Lighthouse или DevTools видите лишний wp-emoji-release.min.js;
  • на сайте уже есть строгая политика по отключению неиспользуемых скриптов;
  • вы хотите убрать один из источников мелкого, но постоянного технического шума.

Что именно добавляет WordPress

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

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

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

  1. Откройте DevTools.
  2. Перейдите на вкладку Network.
  3. Обновите страницу.
  4. Найдите запросы с именем wp-emoji-release.min.js или похожие записи, связанные с emoji.

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

Способы отключения: код, плагин или компромисс

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

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

Пошаговое решение через код

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

Отключение emoji на фронтенде и в админке

function wpmagazin_disable_emojis() {
    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' );
}
add_action( 'init', 'wpmagazin_disable_emojis' );

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

Если хотите отключить только фронтенд

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

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

Это более мягкий вариант. Он не вмешивается в админку и меньше влияет на внутренние сценарии WordPress.

Если используете плагин для оптимизации

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

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

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

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

  • Откройте страницу в режиме инкогнито.
  • Проверьте исходный код: нет ли wp-emoji-release.min.js и inline-инициализации emoji.
  • Сравните количество запросов до и после в Network.
  • Проверьте записи в RSS, если они у вас важны.
  • Посмотрите админку: редактор, комментарии, форма входа должны работать как раньше.

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

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

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

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

Отключили не только emoji, но и лишнее

Иногда вместе с emoji случайно отключают другие действия в wp_head. Это уже рискованно: можно убрать то, что нужно теме или плагинам. Не используйте «чистящие» сниппеты без понимания, какие хуки они трогают.

Проверяли без очистки кеша

Если на сайте есть серверный кеш, CDN или плагин кеширования, изменения могут не проявиться сразу. Очистите все уровни кеша и повторите тест в приватном окне.

Сломали RSS или email-рендеринг

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

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

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

Перед внедрением любой оптимизации проверьте:

  • есть ли у вас резервная копия;
  • где именно хранится код;
  • не конфликтует ли правка с кеш-плагином;
  • не зависит ли от emoji какой-то старый виджет или кастомный скрипт.

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

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

Как удалить ненужные виджеты в WordPress через функции темы
01.10.2026
Как запретить индексацию страниц с параметрами в WordPress и убрать мусорные URL из поиска
15.09.2026
Как отключить автообновления WordPress и плагинов: пошаговое руководство
21.09.2026
Как создать динамические поля в WordPress через Meta Box с примерами кода
02.10.2026
Добавление поля телефона в регистрацию WordPress с подтверждением
27.09.2026