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

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

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

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

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

Что именно убирается

WordPress подключает несколько вещей, связанных с emoji:

  • скрипт в wp_head для проверки поддержки эмодзи;
  • скрипт в футере для печати/редактирования;
  • фильтр, который может подменять обычный вывод эмодзи;
  • в некоторых случаях — лишние inline-фрагменты в HTML.

Смысл отключения — не «сломать эмодзи», а убрать совместимость, которая на большинстве сайтов уже не нужна.

Диагностика: есть ли у вас эта проблема

Перед правками откройте исходный код страницы и найдите упоминания wp-emoji-release.min.js или emoji в подключениях WordPress. Проще всего проверить это в браузере через «Просмотр кода страницы» или в DevTools на вкладке Network.

Типичные признаки:

  • в <head> есть отдельный скрипт на emoji;
  • в HTML видны inline-скрипты, связанные с emoji detection;
  • плагин оптимизации показывает, что эти файлы всё ещё загружаются после очистки кэша;
  • на сайте нет реальной необходимости поддерживать старые браузеры, но лишние запросы остаются.

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

Пошаговое решение через код

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

Вариант 1: отключить emoji штатными хуками WordPress

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

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

Вариант 2: оформить как mu-plugin

Если вы ведёте несколько сайтов или не хотите зависеть от темы, создайте файл wp-content/mu-plugins/disable-emojis.php. Mu-plugin загружается автоматически и не отключается случайно из админки.

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

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

Для production это удобнее, чем править тему: меньше риска потерять настройку при обновлении и проще переносить между проектами.

Если нужен плагин, а не код

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

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

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

Как проверить, что решение сработало

После внедрения не ограничивайтесь визуальной проверкой. Emoji могут «не быть видны», но скрипт всё ещё грузится.

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

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

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

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

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

Отключили emoji дважды

Частая ситуация: код добавили вручную, а потом ещё включили ту же опцию в плагине оптимизации. В результате сложно понять источник проблемы, а при обновлении плагина поведение может измениться. Оставьте один способ управления.

Не очистили кэш

Если у вас стоит page cache, object cache или CDN, старый HTML может продолжать отдавать emoji-скрипт даже после правильной правки. Сначала очищайте кэш, потом проверяйте исходник.

Сломали совместимость со старым фронтендом

Редко, но бывает: кастомная тема или старый плагин ожидает наличие emoji detection script. Если после отключения что-то ведёт себя странно, временно верните код и проверьте, какой именно компонент зависит от этого подключения.

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

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

Если цель — не только emoji, а общая чистка <head>, не отключайте всё подряд. Убирайте только то, что реально не используется. Слишком агрессивная оптимизация часто ломает RSS, комментарии, микроразметку или интеграции с внешними сервисами.

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

Короткий чек-лист перед публикацией

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

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

Как отключить архивы дат в WordPress и убрать дубли страниц
13.09.2026
Как закрыть дубли страниц авторов в WordPress через robots.txt и noindex
03.09.2026
Как закрыть страницы поиска WordPress от индексации и убрать дубли в выдаче
10.09.2026
Как отключить XML sitemap в WordPress и заменить его своим вариантом
10.09.2026
Как отключить XML-RPC в WordPress и проверить, что он действительно закрыт
06.09.2026