В WordPress emoji-поддержка включена по умолчанию и добавляет на сайт лишний JavaScript и несколько фильтров в <head>. На небольшом сайте это не критично, но на проектах, где уже вычищают технический мусор, такие мелочи тоже имеют значение: лишний запрос, лишний код в шапке, лишняя точка для оптимизации.
Отключать emoji имеет смысл, если вы не используете старые браузеры и не хотите держать на сайте скрипт, который не нужен для обычного текста и современных систем. Ниже — рабочие способы убрать его аккуратно, без правки ядра.
Что именно грузит WordPress и где это видно
По умолчанию WordPress подключает небольшой скрипт для проверки поддержки emoji. Он добавляет inline-логику в шапку и может быть заметен в отчётах по производительности, если вы уже оптимизируете сайт вручную. Обычно это не главный тормоз, но это типичный технический хвост, который легко убрать.
Проверять проблему лучше не «на глаз», а в исходнике страницы и в DevTools:
- откройте страницу сайта;
- посмотрите исходный код и найдите
wp-emoji-release.min.js; - проверьте, есть ли в
<head>inline-скрипт с настройками emoji; - сравните список подключений до и после изменений.
Когда отключение действительно уместно
Если сайт рассчитан на обычные современные браузеры, а контент не зависит от старого поведения emoji, отключение безопасно. Если же у вас корпоративная среда с очень старыми устройствами или специфическая аудитория, сначала протестируйте отображение текста и символов на реальных клиентах.
Диагностика: как понять, что emoji подключается именно через WordPress
Самая частая ошибка — искать проблему в теме или плагинах, хотя источник находится в ядре WordPress. Для быстрой проверки откройте исходный код страницы и найдите упоминания emoji. Если вы видите подключение wp-emoji-release.min.js, значит скрипт добавляет именно WordPress.
Ещё один полезный тест — временно переключиться на стандартную тему и отключить плагины кеширования/оптимизации. Если emoji-скрипт остаётся, значит дело не в теме. Это важно: многие начинают править шаблон, хотя достаточно одного небольшого сниппета.
Как отключить emoji в WordPress: рабочие способы
Есть два нормальных варианта: через код в дочерней теме или через плагин для технической оптимизации. Если у вас уже есть место для кастомных сниппетов, код обычно надёжнее и прозрачнее.
| Способ | Плюсы | Минусы |
|---|---|---|
Код в functions.php дочерней темы | Без лишних плагинов, легко контролировать | Нужно аккуратно вставить код и не потерять при обновлении родительской темы |
| Плагин для оптимизации | Удобно, если уже используете инструмент для чистки сайта | Добавляет ещё один слой настроек и зависимость от плагина |
Вариант 1: отключение через код
Добавьте этот код в functions.php дочерней темы или в свой mu-plugin. Он убирает и фронтенд-скрипт, и связанные с 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' );
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' );
} );Если вы предпочитаете более ранний хук, этот вариант тоже рабочий, но init обычно достаточно и проще для сопровождения.
Вариант 2: через плагин оптимизации
Если на сайте уже стоит плагин для технической чистки, проверьте, есть ли в нём отдельная опция отключения emoji. Это удобнее, чем плодить собственные сниппеты, если вы ведёте несколько сайтов и хотите держать все настройки в одном месте. Например, в инструментах класса Clearfy Pro обычно такие вещи объединены в блоки технической оптимизации и чистки WordPress.
Но если вы уже контролируете проект через код, не стоит ставить плагин только ради одной галочки. Лишний плагин — это ещё одна точка обновления и ещё один потенциальный конфликт.
Пошаговое решение без поломки сайта
- Сделайте резервную копию файлов и базы.
- Добавьте код в дочернюю тему или mu-plugin, а не в родительскую тему.
- Очистите кеш сайта, если используется кеширующий плагин или серверный кеш.
- Откройте страницу в режиме инкогнито и проверьте исходный код.
- Убедитесь, что
wp-emoji-release.min.jsбольше не загружается.
Если у вас включён минификатор/объединитель скриптов, после изменения настроек иногда нужно сбросить не только кеш страницы, но и кеш самого оптимизатора. Иначе вы будете смотреть на старую версию HTML и ошибочно решите, что код не сработал.
Как проверить результат после внедрения
Проверка должна быть простой и повторяемой. Откройте исходный код страницы и убедитесь, что в <head> больше нет emoji-скрипта и связанных стилей. Затем откройте DevTools → Network и обновите страницу с отключённым кешем браузера.
Что должно измениться:
- исчезает запрос к
wp-emoji-release.min.js; - в HTML становится меньше служебного кода в шапке;
- на страницах админки emoji не ломают ввод и отображение текста;
- контент с символами и смайлами отображается как обычный Unicode-текст.
Если вы используете PageSpeed Insights или Lighthouse, не ждите драматического скачка метрик. Это не тот случай. Здесь важнее убрать ненужное подключение и сократить технический шум, а не обещать магический прирост баллов.
Частые ошибки и как их исправить
Код вставили в родительскую тему
После обновления темы изменения пропадут. Решение простое: перенесите код в дочернюю тему или mu-plugin.
Проверили страницу, но скрипт всё ещё есть
Чаще всего виноват кеш. Очистите кеш плагина, серверный кеш и CDN, если он подключён. Затем проверьте страницу в приватном окне.
Удалили не только emoji, но и нужные стили
Иногда копируют код из сомнительных источников и вырезают лишнее. Используйте только стандартные функции WordPress из ядра, как в примере выше, без «оптимизированных» вариантов с непонятными условиями.
Путают emoji с проблемой шрифтов
Если символы отображаются квадратиками, это не всегда связано с emoji-скриптом. Иногда проблема в шрифте темы или в CSS. Отключение emoji здесь ничего не исправит.
Безопасность и производительность: что учесть
Отключение emoji само по себе безопасно, если вы делаете это штатными средствами WordPress. Не редактируйте ядро и не удаляйте файлы из wp-includes: это ломает обновления и усложняет поддержку.
Если вы уже занимаетесь чисткой сайта, полезно смотреть на такие изменения в связке: убрать emoji, проверить лишние подключения в шапке, отключить ненужные встроенные эмодзи-стили, а затем ещё раз пройтись по списку активных плагинов. Часто технический мусор накапливается не из-за одной большой ошибки, а из-за десятка мелких.
Для проектов, где важна системная чистка WordPress, удобнее держать такие настройки в одном месте, а не размазывать их по теме и нескольким сниппетам. Но если задача точечная, код в дочерней теме остаётся самым прозрачным решением.
После внедрения сохраните себе короткий чек-лист:
- код добавлен не в родительскую тему;
- кеш очищен;
- в исходнике нет
wp-emoji-release.min.js; - контент и админка отображаются нормально;
- изменение не конфликтует с плагином оптимизации.