wpset.ru wordpress wpset.ru

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

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

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

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

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

  • нужно убрать лишний JavaScript и CSS из <head>;
  • есть политика по минимизации внешних и системных подключений;
  • вы уже чистите WordPress от ненужных встроенных функций;
  • хотите сократить количество запросов на страницах с высокой посещаемостью.

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

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

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

Что искать в исходном коде

  • wp-emoji-release.min.js в <head>;
  • inline-скрипт, который проверяет поддержку emoji;
  • иногда — дополнительные стили, связанные с emoji-картинками.

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

Как отключить emoji в WordPress через код

Самый надежный способ — убрать стандартные действия WordPress через remove_action(). Код лучше добавлять в дочернюю тему или в собственный мини-плагин, а не править ядро или чужую тему.

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

Этот вариант отключает emoji в фронтенде и в админке. Если вам нужно оставить поддержку в панели управления, уберите строки для admin_print_scripts и admin_print_styles.

Если нужен только фронтенд

Иногда достаточно убрать emoji только на публичной части сайта. Тогда код будет короче:

<?php
add_action( 'init', function () {
    remove_action( 'wp_head', 'print_emoji_detection_script', 7 );
    remove_action( 'wp_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' );
} );

Такой подход обычно безопаснее, если редакторы привыкли к стандартному поведению админки и не хотят лишних изменений в интерфейсе.

Плагин или код: что выбрать

Если на сайте уже стоит плагин для технической очистки, отключение emoji можно сделать там же. Но если задача точечная, код часто проще и прозрачнее. Ниже — короткое сравнение.

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

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

Пошаговое решение без лишних рисков

  1. Сделайте резервную копию файлов и базы.
  2. Проверьте исходный код страницы и убедитесь, что emoji-скрипт действительно подключается.
  3. Добавьте код отключения в дочернюю тему или собственный плагин.
  4. Очистите кеш сайта, сервера и CDN, если он есть.
  5. Проверьте фронтенд, админку и RSS, если они для вас важны.

Если у вас есть staging-окружение, тестируйте сначала там. Это особенно полезно, если на сайте много плагинов, которые могут по-своему вмешиваться в wp_head или в фильтры контента.

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

Проверка должна быть не «на глаз», а по факту отсутствия подключений. Откройте исходный код страницы и убедитесь, что:

  • нет wp-emoji-release.min.js;
  • нет emoji-стилей в <head>;
  • страница открывается без ошибок в консоли;
  • редактор записей в админке работает как раньше, если вы его не отключали.

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

Быстрая проверка через браузер

Откройте страницу, нажмите Ctrl+U или используйте просмотр исходного кода, затем найдите по странице emoji и wp-emoji. Если совпадений нет, значит стандартная обвязка отключена.

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

  • Код добавили не туда. Если вставить его в шаблон, который не загружается на всех страницах, отключение сработает частично. Лучше использовать functions.php дочерней темы или мини-плагин.
  • Очистили только фронтенд, но не админку. Это не ошибка, если так и было задумано. Но если вы хотели убрать emoji полностью, проверьте все четыре группы действий и фильтров.
  • Не сбросили кеш. После изменения в wp_head старый HTML может еще отдаваться из кеша, и кажется, что ничего не изменилось.
  • Отключили лишнее в надежде ускорить все сразу. Emoji — это точечная оптимизация. Она не заменяет нормальную работу с кешированием, изображениями и скриптами темы.
  • Сломали совместимость с плагином оптимизации. Если другой плагин уже управляет этими же хуками, не дублируйте отключение без необходимости.

Что еще стоит проверить рядом с emoji

Если вы уже занимаетесь чисткой технического мусора, имеет смысл посмотреть и на другие встроенные вещи WordPress: лишние эмодзи, oEmbed, REST API в тех местах, где он не нужен, и тяжелые скрипты темы. Но отключать все подряд без диагностики не стоит — сначала измеряйте, потом меняйте.

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

×

AI-плагин от WPShop.ru

анализирует конкурентов

пишет статьи

готовит SEO

генерирует изображения

и еще кое-что...
WPGPT
Плагин, который наполняет ваш сайт WordPress
Узнать больше