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

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

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

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

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

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

Диагностика: что именно подключает WordPress

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

Как быстро убедиться, что проблема есть

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

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

Пошаговое решение через functions.php

Самый предсказуемый способ — убрать стандартные действия WordPress через remove_action(). Это работает в дочерней теме или в небольшом mu-plugin. Для большинства сайтов этого достаточно.

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

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

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

Если задача — убрать лишнее только на публичной части сайта, используйте отдельную проверку:

<?php
add_action( 'init', function () {
    if ( is_admin() ) {
        return;
    }

    remove_action( 'wp_head', 'print_emoji_detection_script', 7 );
    remove_action( 'wp_print_styles', 'print_emoji_styles' );
} );

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

Что делать, если нужен вариант без правки темы

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

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

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

Файл можно положить в wp-content/mu-plugins/. Это хороший вариант для техподдержки и типовых оптимизаций: код не исчезнет после обновления темы и не зависит от настроек обычных плагинов.

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

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

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

Проверка должна быть не только визуальной. После внедрения откройте страницу в режиме инкогнито и посмотрите исходный код. В нем не должно быть wp-emoji-release.min.js и инлайн-скрипта emoji в <head>.

  • Проверьте исходный код страницы вручную.
  • Сравните список запросов в Network до и после.
  • Очистите кеш плагина, сервера и CDN, если он есть.
  • Если используется минификация, убедитесь, что она не вернула удаленный код обратно из кеша.
  • Откройте админку и проверьте, не появились ли ошибки в редакторе или консоли.

Если вы работаете с несколькими окружениями, тестируйте отдельно staging и production. На staging иногда отключен кеш, и результат там выглядит чище, чем на боевом сайте.

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

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

Если вставить remove_action() прямо в шаблон страницы, он сработает слишком поздно. Хуки нужно снимать на init или раньше, как в примерах выше.

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

Иногда убирают только print_emoji_detection_script, но забывают про стили. Тогда в коде страницы остается мусор, а эффект от оптимизации неполный.

Оптимизатор вернул emoji обратно

Некоторые плагины кеша или оптимизации могут генерировать объединенный JS на основе старого кеша. После правки обязательно сбросьте кеш и пересоберите минификацию, если она используется.

Сломали админку из-за слишком агрессивной чистки

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

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

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

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

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

Как закрыть от индексации теги в WordPress и не потерять полезный трафик
08.10.2026
Как использовать REST API в WordPress для создания своего плагина
14.09.2026
Как отфильтровывать и удалять неиспользуемые метаданные в WordPress
21.09.2026
Удаление неиспользуемых таблиц базы данных в WordPress для оптимизации
14.09.2026
Как создать свой плагин в WordPress с назначением и примерами кода
03.10.2026