Как отключить Emojicons в WordPress без поломки админки и фронта

В WordPress emoji-поддержка включена по умолчанию уже много лет, и на небольшом сайте это часто незаметно. Но на проектах, где важны чистый фронтенд, контроль над запросами и минимизация лишних подключений, скрипт wp-emoji-release.min.js и связанные стили становятся лишними. Обычно их отключают не ради «магии скорости», а чтобы убрать один ненужный HTTP-запрос, сократить DOM-«мусор» и не держать код, который не используется по факту.

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

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

Отключение имеет смысл, если вы видите, что WordPress добавляет emoji-обработку на всех страницах, а проекту это не нужно. Чаще всего это актуально для:

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

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

Диагностика: как понять, что emoji-скрипты подключены

Самый простой способ — открыть исходный код страницы и найти упоминание wp-emoji-release.min.js или inline-скрипта, который подготавливает emoji-обработку. Иногда это видно и в DevTools на вкладке Network.

Что искать в HTML

На фронтенде обычно встречаются:

  • подключение wp-emoji-release.min.js из /wp-includes/js/wp-emoji-release.min.js;
  • inline-скрипт в <head>, который добавляет классы и проверяет поддержку emoji;
  • иногда — стили, связанные с отображением emoji в старых браузерах.

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

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

Надежнее всего отключать emoji через functions.php дочерней темы или через собственный мини-плагин. Так вы не потеряете изменения при обновлении темы.

Ниже — стандартный и рабочий вариант, который убирает emoji-скрипты и связанные стили из фронтенда и админки:

<?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' );
} );

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

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

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

<?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' );
} );

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

Сравнение подходов: код, плагин, ничего не делать

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

Если у вас уже стоит плагин для технической чистки, например Clearfy Pro, проверьте, не отключена ли emoji-поддержка там. Дублировать одно и то же в плагине и в теме не нужно: потом сложнее понять, что именно сработало.

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

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

  • Откройте исходный код страницы и проверьте, что wp-emoji-release.min.js больше не подключается.
  • Посмотрите вкладку Network в DevTools: лишний запрос должен исчезнуть.
  • Проверьте админку: редактор записей, экран комментариев, медиа-библиотеку.
  • Если на сайте есть RSS-лента или email-уведомления, убедитесь, что они не потеряли корректное отображение символов.

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

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

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

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

Отключили всё, а потом сломали совместимость

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

Конфликт с плагином оптимизации

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

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

После правки очистите кэш плагина, серверный кэш и CDN, если он есть. Иначе вы можете смотреть на старую версию HTML и думать, что код не работает.

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

Если вы вносите такие правки регулярно, лучше не держать их в functions.php основной темы. При обновлении или смене темы вы потеряете настройку. Мини-плагин в wp-content/plugins или mu-plugin — более надежный вариант для технических отключений.

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

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

После внедрения сохраните короткий чек-лист проверки:

  • emoji-скрипт отсутствует в исходнике;
  • админка открывается без ошибок;
  • редактор записей работает;
  • RSS и письма не испортили символы;
  • кэш очищен и проверка идет на актуальной версии страницы.

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

Как закрыть старые версии записей WordPress от индексации без потери актуальной страницы
01.09.2026
Как убрать из XML sitemap WordPress страницы в переадресации
21.09.2026
Как найти и убрать дубли записей в WordPress из-за разных URL
17.09.2026
Как отключить индексацию attachment-страниц в WordPress без потери медиа и внутренней перелинковки
08.09.2026
Как отключить архивы авторов в WordPress без потери SEO
28.08.2026