В WordPress поддержка emoji включена по умолчанию: ядро подгружает небольшой скрипт и стили, чтобы старые браузеры корректно отображали эмодзи. На современных сайтах это часто лишняя нагрузка: дополнительный запрос в <head>, лишний JS в админке и фронтенде, а иногда — еще и замечание в аудите производительности.
Если задача простая — убрать именно emoji-поддержку, а не «оптимизировать всё подряд», лучше сделать это точечно. Ниже — рабочие варианты: через код, через плагин и с проверкой, что ничего не сломалось.
Когда отключение Emoji действительно имеет смысл
Отключать emoji стоит не ради «галочки», а когда вы видите конкретный эффект:
- в исходном коде страницы есть
wp-emoji-release.min.js; - в админке и на фронтенде грузится лишний inline-скрипт для emoji;
- вы чистите сайт от ненужных подключений и хотите сократить число запросов;
- на проекте есть жесткие требования к минимизации внешних и встроенных скриптов.
Если сайт активно редактируют пользователи, которые вставляют эмодзи в контент, отключение не мешает хранению символов в базе. Оно убирает только механизм совместимости, а не сами символы.
Диагностика: что именно грузит WordPress
Перед изменениями проверьте, что на сайте действительно подключается emoji-скрипт. Это можно сделать в браузере и в исходнике страницы.
Что искать в HTML
Откройте страницу и посмотрите исходный код. Обычно встречаются такие признаки:
wp-emoji-release.min.jsв<script>;- inline-блок с проверкой поддержки canvas и emoji;
- подключение в админке, даже если на фронтенде его не видно.
Если используете DevTools, вкладка Network покажет отдельный запрос к emoji-скрипту. Это удобнее, чем искать вручную по длинному HTML.
Когда не стоит отключать без проверки
Если у вас старый корпоративный браузерный парк, публичные терминалы или нестандартная среда отображения, сначала проверьте, как ведут себя emoji без этого механизма. На современных браузерах проблем обычно нет, но лучше не предполагать, а проверить на реальном устройстве.
Способ 1: отключить Emoji кодом
Самый надежный вариант — добавить небольшой сниппет в 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' );
} );Этот код убирает emoji-скрипт и стили из фронтенда и админки, а также отключает преобразование emoji в RSS и письмах. Для обычного сайта этого достаточно.
Если нужен только фронтенд
Иногда в админке emoji лучше оставить, а на публичной части — убрать. Тогда не трогайте админские хуки:
<?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' );
} );Такой вариант полезен, если редакторы работают в классическом интерфейсе и вы не хотите вмешиваться в админскую часть без необходимости.
Способ 2: отключить Emoji через плагин
Если код вносить неудобно, можно использовать плагин для технической чистки сайта. В экосистеме WPShop для таких задач подходит Clearfy Pro: он позволяет отключать лишние элементы WordPress без ручного редактирования темы.
Плюс плагина в том, что вы управляете настройкой из админки и не правите код. Минус — еще один активный плагин в системе. Если у вас уже есть инструмент для технической оптимизации, проверьте, нет ли там отдельного переключателя для emoji.
| Подход | Плюсы | Минусы |
|---|---|---|
| Код в теме/мини-плагине | Минимум зависимостей, полный контроль | Нужно аккуратно обновлять и хранить сниппет |
| Плагин оптимизации | Удобно для админов, без правки файлов | Дополнительный плагин и риск лишних настроек |
| Ничего не делать | Ноль изменений | Лишние запросы и скрипты остаются |
Пошаговая схема внедрения
- Проверьте, есть ли emoji-скрипт в исходнике страницы.
- Выберите способ: код или плагин.
- Если используете код — добавьте его в дочернюю тему или мини-плагин, а не в основную тему.
- Очистите кеш сайта, если он есть.
- Проверьте фронтенд, админку и RSS, если они важны для проекта.
Как проверить, что отключение сработало
Проверка должна быть не на глаз, а по факту.
- Откройте исходный код страницы и убедитесь, что
wp-emoji-release.min.jsбольше не выводится. - Проверьте Network в DevTools: отдельного запроса к emoji-скрипту быть не должно.
- Если вы отключали только фронтенд — убедитесь, что в админке поведение не изменилось.
- Если сайт использует кеш, очистите его и проверьте страницу в режиме инкогнито.
Для быстрой проверки можно также посмотреть HTML через curl:
curl -s https://example.com/ | grep -i emojiЕсли команда ничего не возвращает, это еще не абсолютное доказательство, но хороший первый сигнал. На практике лучше сверять и HTML, и Network.
Частые ошибки и как их исправить
Код добавили в родительскую тему
После обновления темы изменения пропадут. Решение простое: перенесите сниппет в дочернюю тему или в отдельный мини-плагин.
Отключили не тот хук
Частая ошибка — убрать только wp_head, но оставить стили или админские скрипты. В результате часть нагрузки остается, и кажется, что «не сработало». Проверьте все четыре точки подключения: wp_head, admin_print_scripts, wp_print_styles, admin_print_styles.
Не очистили кеш
Если на сайте есть серверный кеш, кеш плагина или CDN, старый HTML может показываться еще какое-то время. После изменения обязательно сбросьте кеш и перепроверьте страницу.
Проверяли только главную страницу
Иногда тема или плагин подключают лишнее не на главной, а в записях, архивах или в админке. Проверяйте несколько типов страниц, особенно если у вас нестандартная тема или набор плагинов.
Безопасность и производительность: что важно не упустить
Отключение emoji само по себе безопасно, если вы не лезете в ядро WordPress и не правите системные файлы. Но есть практические моменты:
- не редактируйте файлы ядра — обновление всё перезапишет;
- не вставляйте код в случайный плагин, который потом удалите;
- если используете плагин оптимизации, не включайте сразу несколько похожих опций без проверки;
- после любых изменений держите под рукой резервную копию и возможность отката.
Если цель — не только emoji, а общая чистка WordPress от лишних подключений, лучше идти по списку конкретных задач, а не отключать всё подряд. Так проще понять, что именно дало эффект и где появилась проблема.
В итоге отключение emoji — это маленькая, но вполне измеримая техническая правка. Она не решает все проблемы производительности, зато убирает один из типичных лишних элементов WordPress без риска для контента, если сделать всё аккуратно и проверить результат после внедрения.