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

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

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

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

Эта настройка полезна, если вы оптимизируете сайт под скорость и хотите убрать всё лишнее из <head> и админки. На небольших проектах выигрыш обычно не драматический, но в сумме с другими мерами это помогает держать фронтенд чище. Особенно это заметно, если сайт давно живёт на классической теме и вы уже вычищаете лишние скрипты, эмбедды и автоподгрузки.

Отключать emoji стоит, если:

  • сайт не использует старые браузеры, которым нужен отдельный polyfill;
  • вы следите за количеством запросов и размером HTML;
  • нужна более строгая техническая гигиена в теме или плагине;
  • вы уже убрали другие встроенные функции WordPress и хотите добить остатки.

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

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

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

Ещё один способ — посмотреть список подключённых скриптов в браузере через DevTools. На фронтенде и в админке ищите упоминания emoji. Если у вас стоит кэш-плагин или оптимизатор, он может объединять и минифицировать скрипты, поэтому проверять лучше на очищенном кэше и в режиме инкогнито.

Что именно искать в HTML

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

  • скрипт wp-emoji-release.min.js;
  • инлайновый блок с проверкой canvas и emoji;
  • подключение через стандартные хуки WordPress в wp_head и admin_print_scripts.

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

Как отключить 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' );
} );

Этот код отключает не только фронтенд, но и админку, а также фильтры для RSS и писем. Если вам нужно убрать 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' );
} );

Такой подход обычно безопаснее для сайтов, где редакторы активно работают в админке и не хотят неожиданностей в интерфейсе.

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

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

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

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

Пошаговое решение без лишнего риска

  1. Сделайте резервную копию файлов и базы или хотя бы сохраните текущую версию functions.php.
  2. Проверьте, не отключены ли emoji уже через тему или плагин оптимизации.
  3. Добавьте код в дочернюю тему или мини-плагин.
  4. Очистите кэш сайта, CDN и браузера.
  5. Откройте главную страницу и любую внутреннюю страницу в режиме инкогнито.
  6. Проверьте исходный код и убедитесь, что wp-emoji-release.min.js исчез.

Если вы работаете на продакшене, вносите изменения не в активную тему, а в дочернюю. Это банально, но именно здесь чаще всего теряются правки после обновления шаблона.

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

После отключения emoji важно не ограничиваться визуальной проверкой. Сайт может выглядеть одинаково, но скрипт всё ещё оставаться в HTML из-за кэша или другого плагина.

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

Хороший практический тест — открыть страницу в приватном окне, где нет старых cookies и локального кэша. Если emoji-скрипт исчез и ошибок в консоли нет, решение сработало.

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

Код добавили в родительскую тему

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

Отключили только часть хуков

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

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

Это самая частая причина ложного вывода. Если у вас есть page cache, object cache или CDN, старый HTML может сохраняться после правки кода.

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

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

Что ещё можно вычистить рядом с emoji

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

Обычно рядом проверяют:

  • эмбедды oEmbed, если сайт не встраивает внешние материалы;
  • лишние стили и скрипты темы;
  • автогенерацию размеров изображений, если она разрослась;
  • ненужные блоки в <head>, которые не влияют на SEO и функциональность.

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

Когда лучше не отключать emoji

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

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

Как закрыть от индексации страницы авторов в WordPress без потери полезного трафика
03.09.2026
Как создать динамические виджеты в WordPress с помощью REST API
27.09.2026
Как закрыть от индексации дубли архивов WordPress без поломки SEO
19.09.2026
Как добавить автоматическое удаление отсутствующих вложений в Telegram каналах WordPress
02.10.2026
Как создать автоматический импорт постов в WordPress из внешнего источника
27.09.2026