wpeasy.ru wordpress wpeasy.ru

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

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

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

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

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

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

Если сайт живёт на обычной теме и вы не занимаетесь технической чисткой, практический выигрыш может быть небольшим. Но как часть общей оптимизации это нормальный и безопасный шаг.

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

Проверка простая. Откройте исходный код страницы и найдите упоминания wp-emoji-release.min.js или emoji. Обычно WordPress подключает:

  • скрипт из /wp-includes/js/wp-emoji-release.min.js;
  • inline-скрипт, который проверяет поддержку emoji;
  • иногда дополнительные стили для старых сценариев.

Если вы используете DevTools, откройте вкладку Network и обновите страницу. В списке запросов должен быть виден отдельный JS-файл emoji. После отключения он исчезает.

Что важно проверить до изменений

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

Пошаговое решение через код

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

<?php
/**
 * Отключаем emoji-скрипты WordPress.
 */
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' );
} );

add_filter( 'emoji_svg_url', '__return_false' );

Этот вариант убирает загрузку emoji и на фронтенде, и в админке. Если вам нужно оставить emoji в админке, а убрать только на сайте, можно не трогать админские хуки:

<?php
add_action( 'init', function () {
    remove_action( 'wp_head', 'print_emoji_detection_script', 7 );
    remove_action( 'wp_print_styles', 'print_emoji_styles' );
} );

add_filter( 'emoji_svg_url', '__return_false' );

Почему лучше не править ядро

Потому что обновление WordPress всё перетрёт. Кроме того, если вы потом будете искать причину проблемы, изменения в ядре только усложнят диагностику. Для точечной оптимизации нужен обратимый способ: тема, дочерняя тема или mu-plugin.

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

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

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

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

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

  1. В исходном коде страницы больше нет wp-emoji-release.min.js.
  2. Во вкладке Network нет отдельного запроса к emoji-скрипту.
  3. На странице не появляется ошибок JavaScript, связанных с удалёнными обработчиками emoji.

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

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

Откройте любую страницу сайта, затем:

  • Ctrl+U или просмотр исходника;
  • поиск по слову emoji;
  • в DevTools — Network → обновить страницу → фильтр по js.

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

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

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

Если вставить фрагмент в файл, который не загружается на фронтенде, результата не будет. Для темы используйте functions.php дочерней темы. Для более надёжного варианта — отдельный mu-plugin в wp-content/mu-plugins/.

Скрипт остался из-за кэша

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

Отключили не только emoji, но и нужные стили

Иногда пытаются удалить вообще всё, что связано с emoji, включая лишние фильтры или сторонние оптимизации. Не стоит трогать больше, чем нужно. Если задача — убрать только стандартную поддержку emoji WordPress, достаточно показанного кода.

Плагин и код делают одно и то же

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

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

Отключение emoji — мелкая правка, но подход к ней должен быть таким же, как к любой оптимизации:

  • вносите изменения через дочернюю тему или mu-plugin, а не в ядро;
  • сохраняйте код в отдельном файле, если у вас несколько точечных оптимизаций;
  • после внедрения проверяйте не только фронтенд, но и админку, если вы отключали админские хуки;
  • не дублируйте одну настройку в плагине и в коде;
  • если используете плагин чистки сайта, сначала изучите его текущие опции, а потом уже добавляйте ручной код.

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

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

×

AI-плагин

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

SEO и мета-теги

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

Изображения

Комментарии

Подробнее