WPStuff

Как отключить Emoji в WordPress: код, плагины и проверка результата

В 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.

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

Пошаговая схема внедрения

  1. Проверьте, есть ли emoji-скрипт в исходнике страницы.
  2. Выберите способ: код или плагин.
  3. Если используете код — добавьте его в дочернюю тему или мини-плагин, а не в основную тему.
  4. Очистите кеш сайта, если он есть.
  5. Проверьте фронтенд, админку и 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 без риска для контента, если сделать всё аккуратно и проверить результат после внедрения.

×

AI-плагин

WPGPT
Сам создает статьи для вашего сайта WordPress

SEO и мета-теги

Парсинг конкурентов

Изображения

Комментарии

Подробнее