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

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

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

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

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

Сценарии, где это уместно:

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

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

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

Проверять нужно не «на глаз», а по факту:

  1. Откройте исходный код страницы и найдите упоминания emoji.
  2. Посмотрите вкладку Network в DevTools и отфильтруйте запросы по слову emoji.
  3. Если используете PageSpeed Insights или Lighthouse, сравните отчёт до и после отключения.

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

Как отключить emoji-скрипты в WordPress

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

Вариант через functions.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 в контенте и письмах.

Если нужен более аккуратный мини-плагин

Для проектов с несколькими разработчиками удобнее вынести отключение в отдельный 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' );
    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' );
} );

Если вы работаете в продакшене, это предпочтительнее, чем правка темы: логика не смешивается с версткой, а откатить изменение проще.

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

СпособПлюсыМинусы
Код в дочерней темеБыстро, без лишних плагиновЗависит от темы, можно потерять при смене
Мини-плагин / MU-pluginСтабильно, удобно для командыНужно один раз аккуратно оформить
Плагин для оптимизацииУдобно, если уже используете такой инструментЧасто отключает больше, чем нужно

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

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

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

  • Откройте исходный код страницы и проверьте, что нет вызова print_emoji_detection_script и связанных inline-блоков.
  • В DevTools на вкладке Network убедитесь, что запросы с emoji исчезли.
  • Сравните HTML до и после: в <head> должно стать на несколько строк меньше.
  • Проверьте админку: отключение не должно мешать редактированию записей и комментариев.

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

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

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

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

Отключили только фронтенд

Иногда убирают только wp_head, а стили и фильтры в админке остаются. Это не критично, но цель тогда не достигнута полностью: лишние ресурсы всё ещё могут попадать в часть страниц.

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

Если на сайте есть page cache, CDN или серверный кеш, старый HTML может сохраняться. В таком случае кажется, что код не сработал, хотя проблема только в неочищенной копии страницы.

Сломали совместимость с устаревшими браузерами

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

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

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

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

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

В итоге задача сводится к простой проверке: если в исходнике и в Network больше нет emoji-ресурсов, а сайт работает без побочных эффектов, отключение выполнено корректно.

Как удалить старые неиспользуемые опции в WordPress: полное руководство
20.09.2026
Как отладить ошибку 500 Internal Server Error в WordPress: пошаговое руководство
19.09.2026
Как создать собственный виджет в WordPress с поддержкой AJAX
08.09.2026
Как автоматически отключать неиспользуемые плагины в WordPress
01.10.2026
Как отключить XML Sitemap в WordPress и заменить его своим вариантом
06.09.2026
×
Прокачай свой сайт WordPress!

WordPress

-20% на премиум темы и плагины

Создай сайт своей мечты ⋙