Если на сайте не используются эмодзи WordPress, их встроенная поддержка действительно может быть лишней: она добавляет отдельный скрипт и служебные стили, которые загружаются на страницах сайта и в админке. Полностью «удалить» эмодзи из ядра нельзя, потому что это часть WordPress, но можно отключить их подгрузку так, чтобы сайт перестал отдавать связанные с ними ресурсы.
Для большинства сайтов достаточно убрать эмодзи на фронтенде и в админке через код. Это безопаснее, чем править файлы ядра: после обновления WordPress изменения не потеряются.
Что именно отключается и что меняется после этого
Встроенная поддержка эмодзи в WordPress состоит не только из визуальных символов. Ядро добавляет проверку поддержки эмодзи в браузере и, если нужно, подключает wp-emoji-release.min.js и связанные стили. На практике это означает:
- на публичной части сайта перестают загружаться лишние скрипты и стили эмодзи;
- в админке WordPress тоже отключается эта подгрузка;
- контент с обычными Unicode-эмодзи при этом не ломается — современные браузеры и так умеют их отображать;
- если где-то использовались старые сценарии замены эмодзи через скрипт WordPress, они перестанут работать, но в обычной работе сайта это редко нужно.
Иными словами, вы не «удаляете эмодзи из текста», а отключаете механизм WordPress, который обслуживает их совместимость.
Самый надёжный способ: отключить эмодзи через functions.php или мини-плагин
Если у вас есть доступ к теме или лучше — возможность добавить небольшой собственный плагин, используйте этот вариант. Он не зависит от сторонних плагинов и обычно работает на любой актуальной версии WordPress.
Код ниже отключает эмодзи и на сайте, и в админке:
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' );Добавить его можно в functions.php дочерней темы. Если вы редактируете родительскую тему, обновление может затереть правку. Для сайта в продакшене лучше создать маленький плагин: так решение не привязано к теме.
Минимальный вариант плагина выглядит так:
<?php
/*
Plugin Name: Disable WordPress Emojis
*/
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' );Файл можно положить в отдельную папку в wp-content/plugins/, активировать в админке и после этого проверить результат. Для такого простого кода не нужен полноценный плагин с настройками.
Когда лучше использовать именно код, а не плагин
Кодовый способ удобен, если вы хотите убрать только эмодзи и не тащить на сайт лишний функционал. Это хороший вариант, когда:
- нужна точечная оптимизация без изменения темы;
- вы уже ведёте технические правки через дочернюю тему или собственный mu-plugin;
- не хочется зависеть от интерфейса стороннего плагина ради одной задачи.
Если вы не хотите редактировать файлы вручную, можно использовать плагин для оптимизации, который умеет отключать эмодзи вместе с другими мелкими «хвостами» WordPress. Но если задача только в эмодзи, отдельный код обычно чище и предсказуемее.
Как проверить, что эмодзи действительно отключены
После внесения изменений проверьте не только визуально, но и по исходному коду страницы. Откройте любую публичную страницу сайта, затем:
- посмотрите исходный код страницы через браузер;
- найдите
wp-emoji-release.min.js; - проверьте, что в
<head>больше нет связанных с эмодзи inline-скриптов и стилей; - откройте админку WordPress и повторите проверку, если вы отключали эмодзи и там тоже.
Если скрипт всё ещё есть, чаще всего причина в том, что код добавлен не туда: например, в файл, который не загружается, или в тему, которая не активна. Ещё один частый случай — кэш страницы. После правки очистите кэш плагина, сервера или CDN, если он используется.
Можно ли убрать эмодзи только на фронтенде
Да, и это бывает разумно, если вы хотите оставить поведение админки без изменений. Тогда убирают только фронтенд-часть:
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' );В этом варианте эмодзи не будут подгружать лишние ресурсы на сайте, но в панели управления WordPress механизм останется. Такой подход полезен, если вы не хотите трогать админку или если несколько редакторов привыкли к стандартному поведению.
Если же цель — максимально убрать всё лишнее, включая админку, используйте полный набор отключений из предыдущего раздела.
Что не стоит делать
Не редактируйте файлы ядра WordPress. Это выглядит как быстрый путь, но после обновления изменения исчезнут, а при ошибке можно получить проблемы с сайтом. Не нужно и удалять какие-то системные файлы вручную: встроенные эмодзи не хранятся как отдельный «пакет», который можно безопасно стереть.
Ещё одна типичная ошибка — ставить несколько плагинов, которые делают одно и то же. Если один плагин уже отключает эмодзи, второй ничего полезного не добавит, а диагностика станет сложнее.
Когда отключение эмодзи имеет смысл, а когда нет
Отключать встроенные эмодзи есть смысл, если вы следите за количеством лишних запросов и хотите убрать ненужные мелкие ресурсы. На небольшом сайте это не даст драматического эффекта, но в технической чистке такие вещи обычно убирают вместе с другими необязательными элементами WordPress.
Если же сайт активно использует эмодзи в контенте, комментариях или письмах, глобальное отключение может быть лишним. В таком случае лучше сначала проверить, действительно ли эти символы не используются, и только потом отключать механизм полностью.
Практически для большинства проектов рабочая схема такая: добавить код в дочернюю тему или собственный мини-плагин, очистить кэш и проверить исходный код страницы. После этого WordPress перестаёт подключать встроенные ресурсы эмодзи, а сайт остаётся в штатном режиме без лишних скриптов и стилей.