Как отключить emoji в WordPress и убрать лишние скрипты из head

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

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

Когда это вообще имеет смысл

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

Что именно добавляет WordPress

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

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

Перед изменениями проверьте, что именно у вас сейчас грузится. Самый простой способ — открыть исходный код страницы и поискать wp-emoji-release.min.js. Если используете DevTools, откройте вкладку Network и отфильтруйте запросы по emoji или wp-emoji.

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

  • проверьте исходный код главной и внутренней страницы;
  • посмотрите Network в DevTools;
  • сравните фронтенд и админку отдельно;
  • убедитесь, что отключение не затрагивает контент, где emoji уже вставлены вручную.

Пошаговое решение через functions.php или мини-плагин

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

Вариант 1: отключить emoji на фронтенде и в админке

Этот код убирает основные действия и фильтры WordPress, связанные с 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' );
} );

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

Вариант 2: отключить emoji через мини-плагин

Если не хочется держать код в теме, создайте файл, например wp-content/mu-plugins/disable-emoji.php. MU-плагин удобен тем, что он загружается автоматически и не зависит от активации в админке.

<?php
/**
 * Plugin Name: Disable Emoji
 */

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

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

Сравнение подходов

СпособПлюсыМинусы
Код в functions.phpБыстро, без плагиновСлетит при смене темы
MU-плагинСтабильно, не зависит от темыНужно один раз создать файл
Обычный плагинУдобно отключать/включатьЛишний объект в списке плагинов

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

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

  1. Откройте страницу сайта в режиме инкогнито.
  2. Посмотрите исходный код и найдите wp-emoji-release.min.js.
  3. Проверьте, исчез ли инлайн-блок emoji в head.
  4. Откройте DevTools → Network и обновите страницу.
  5. Убедитесь, что запросов с emoji больше нет.

Если отключали emoji в админке, проверьте и экран редактирования записи. Иногда тема или плагин могут добавлять свои стили, и тогда кажется, что WordPress всё ещё подключает emoji, хотя на самом деле это уже другой код.

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

Код добавили, а скрипт остался

Частая причина — код вставили слишком поздно или в неправильный хук. Для удаления стандартных действий WordPress лучше использовать init, а не, например, wp_enqueue_scripts. Если тема уже успела что-то вывести в head, отключение на позднем этапе не поможет.

Сломали вывод в письмах или RSS

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

Правили ядро WordPress

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

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

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

Что ещё можно убрать вместе с emoji

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

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

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

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

Если вам нужно не только убрать emoji, но и системно почистить WordPress от лишних подключений и дублей, имеет смысл смотреть в сторону инструментов, которые управляют технической оптимизацией целиком, например Clearfy Pro: https://wpshop.ru/plugins/clearfy?utm_source=wpnotes.ru&utm_medium=article&utm_campaign=otklyuchit-emojii-v-wordpress-i-ubrat-lishnie-skripty-iz-head.

Как отключить открытые XML-feeds в WordPress и не сломать индексацию
03.09.2026
Как закрыть дубли страниц от индексации в WordPress без поломки SEO
24.08.2026
Как исключить текущую страницу из цикла WordPress в шаблоне и не сломать вывод записей
31.08.2026
Как отключить emoji в WordPress и убрать лишние скрипты из head
09.09.2026
Как отключить открытые XML-RPC pingbacks в WordPress без поломки приложений
06.09.2026

Заметки по WP: подробные описания устаноки, гайды по настройке, разработке плагинов и тем.