WPFAQ

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

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

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

Что именно делает WordPress с emoji

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

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

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

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

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

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

Пошаговое решение: отключаем emoji через functions.php или мини-плагин

Самый надёжный способ — снять стандартные действия WordPress через remove_action и отключить фильтры, которые добавляют emoji-скрипты в HTML и email. Это лучше, чем вручную вырезать код из шаблона, потому что правка остаётся на уровне логики, а не конкретной темы.

Вариант 1: код в functions.php

Если у вас есть дочерняя тема, добавьте код туда. Для production-проекта это предпочтительнее, чем править родительскую тему.

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' );
    remove_filter( 'the_content', 'wp_staticize_emoji' );
    remove_filter( 'comment_text', 'wp_staticize_emoji' );
} );

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

Вариант 2: отдельный мини-плагин

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

<?php
/**
 * Plugin Name: Disable WordPress Emoji
 * Description: Отключает встроенную поддержку emoji в WordPress.
 * Version: 1.0.0
 */

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' );
    remove_filter( 'the_content', 'wp_staticize_emoji' );
    remove_filter( 'comment_text', 'wp_staticize_emoji' );
} );

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

Когда лучше использовать плагин, а когда код

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

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

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

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

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

Для быстрой проверки можно открыть DevTools и выполнить поиск по HTML страницы по строке emoji. Если отключение сработало, стандартные подключения WordPress исчезнут, а в Network не будет отдельного запроса к emoji-скрипту.

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

Удалили код из шаблона, а он всё равно появляется

Это типичная ситуация, если правили не тот файл. Emoji подключаются через хуки ядра, поэтому вырезать их нужно через remove_action и remove_filter, а не поиском по шаблону.

Отключили emoji, но сломали админку

Чаще всего проблема в том, что код вставили слишком рано или с синтаксической ошибкой. Проверьте, что код выполняется после загрузки WordPress и что в файле нет лишних символов до <?php или после закрывающего тега.

Скрипт всё ещё виден из-за плагина оптимизации

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

Ожидали, что emoji исчезнут из контента

Этот код не удаляет символы из записей. Если в тексте уже есть emoji, они останутся как обычные символы Unicode. Убирается только встроенная служебная обвязка WordPress.

Что ещё можно почистить рядом с emoji

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

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

Безопасность и производительность: на что смотреть после правки

Само отключение emoji не несёт рисков для безопасности, но любая правка через functions.php требует аккуратности. Если сайт без дочерней темы, лучше использовать мини-плагин: так вы не потеряете изменения при обновлении темы.

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

×

AI-плагин

WPGPT
Сам создает статьи для вашего сайта WordPress

SEO и мета-теги

Парсинг конкурентов

Изображения

Комментарии

Подробнее