wplang.ru wordpress WP Lang

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

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

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

Сценарий здесь довольно приземлённый: сайт не использует встроенную замену emoji на старых браузерах, а в отчётах по загрузке вы видите лишние обращения к wp-emoji-release.min.js и инлайн-скрипт, который WordPress вставляет в head. На современных браузерах это обычно не даёт пользы, но всё равно добавляет код, который можно убрать.

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

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

Прежде чем что-то отключать, посмотрите исходный код страницы и список сетевых запросов. Ищите:

  • wp-emoji-release.min.js в HTML;
  • инлайн-скрипт с проверкой emoji в <head>;
  • подключение emoji-стилей в админке, если вы хотите убрать их и там.

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

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

Самый надёжный способ — добавить небольшой код в functions.php дочерней темы или в собственный мини-плагин. Так вы контролируете поведение и не зависите от настроек темы.

Вариант для фронтенда и админки

Этот вариант убирает emoji-скрипты и фильтры WordPress, которые отвечают за их вывод:

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' );
    add_filter( 'emoji_svg_url', '__return_false' );
} );

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

Более точечный вариант только для фронтенда

Когда задача — облегчить публичные страницы, а админку не трогать, используйте более узкий набор отключений:

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-функциональность, после обновления проверьте их поведение отдельно.

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

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

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

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

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

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

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

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

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

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

Если вставить фрагмент в файл, который не загружается на фронтенде, ничего не изменится. Для дочерней темы используйте functions.php, для независимого решения — отдельный мини-плагин. После этого проверьте, что файл реально активен.

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

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

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

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

Сломали совместимость с плагином

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

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

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

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

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

  • Проверили, нужен ли emoji-функционал вашей аудитории.
  • Добавили код в дочернюю тему или мини-плагин, а не в родительскую тему.
  • Очистили кэш сайта, сервера и CDN.
  • Сравнили исходный код страницы до и после.
  • Убедились, что редактор, комментарии и письма работают как раньше.

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

×
-15%
на премиум-тему
Bono

Создай магазин мечты
на WordPress!

↓ ↓ ↓ ↓ ↓
Купить со скидкой »