Как отключить эмодзи в WordPress через код и плагин

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

Ниже разберём, где именно это отключается, чем отличается решение через код от плагина и как проверить, что изменения реально сработали.

Когда отключение эмодзи имеет смысл

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

  • вы собираете сайт с упором на минимальное число запросов;
  • используете строгий performance-аудит и убираете всё лишнее;
  • на сайте нет необходимости в старой совместимости с браузерами, ради которой эта поддержка и сохранялась;
  • вы хотите убрать неиспользуемый код из темы или плагина, чтобы проще было контролировать результат.

Если у вас редактор Gutenberg, комментарии и админка работают штатно, отключение на фронтенде обычно проходит без последствий. Но делать это лучше осознанно, а не «на всякий случай».

Диагностика: что именно грузит WordPress

Перед правкой проверьте, есть ли на странице подключение emoji-скрипта. В исходнике страницы или в DevTools ищите запросы к wp-emoji-release.min.js. Обычно он появляется через стандартный хук WordPress и может быть виден в списке подключённых скриптов.

Если хотите быстро понять, есть ли проблема, откройте страницу сайта и проверьте:

  • исходный HTML на наличие wp-emoji-release.min.js;
  • вкладку Network в браузере — есть ли отдельный запрос к этому файлу;
  • не добавляет ли его тема или плагин повторно поверх стандартной загрузки.

Если скрипт уже отсутствует, значит отключать нечего, и искать нужно не в WordPress core, а в теме или стороннем плагине.

Как отключить эмодзи через код

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

Вариант для functions.php или собственного плагина

<?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' );
    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' );
    remove_filter( 'the_content', 'wp_staticize_emoji' );
    remove_filter( 'comment_text', 'wp_staticize_emoji' );
} );

Этот вариант убирает стандартную emoji-обвязку из фронтенда и админки. Если вам нужно отключить её только на сайте, но оставить в панели управления, не трогайте admin_print_scripts и admin_print_styles.

Если нужен только фронтенд

<?php
add_action( 'init', function () {
    remove_action( 'wp_head', 'print_emoji_detection_script', 7 );
    remove_action( 'wp_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' );
    remove_filter( 'the_content', 'wp_staticize_emoji' );
    remove_filter( 'comment_text', 'wp_staticize_emoji' );
} );

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

Как отключить эмодзи через плагин

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

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

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

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

После отключения важно не просто «поверить», а проверить фактически. Делайте это в таком порядке:

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

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

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

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

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

Отключили только скрипт, но оставили стили

Иногда убирают print_emoji_detection_script, но забывают про print_emoji_styles. В результате часть обвязки остаётся. Проверяйте оба подключения.

Не очистили кэш

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

Сломали админку из-за слишком агрессивного отключения

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

Чек-лист перед публикацией изменений

  • Код добавлен в дочернюю тему или mu-plugin, а не в случайный файл.
  • Отключены и скрипт, и стили emoji, если нужен полный эффект.
  • Проверен фронтенд в инкогнито без кэша.
  • Очистен кэш плагина, сервера и CDN, если они используются.
  • Админка, редактор и комментарии открываются без ошибок.
  • В исходнике страницы больше нет wp-emoji-release.min.js.

Что делать, если нужен только минимальный фронтенд

Если цель не в полном отключении функций WordPress, а в аккуратной чистке фронтенда, не трогайте всё подряд. В таких случаях лучше ограничиться только теми подключениями, которые реально видны в HTML и Network. Emoji — как раз хороший кандидат: его легко убрать, легко проверить и легко вернуть назад, если потребуется.

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

Как отключить XML-RPC в WordPress и не сломать внешние сервисы
12.09.2026
Как закрыть от индексации страницы автора в WordPress
05.09.2026
Как отключить эмодзи в WordPress через код и плагин
16.09.2026
Как запретить индексацию таксономий в WordPress
29.09.2026
Как закрыть от индексации страницы внутреннего поиска в WordPress
08.09.2026