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

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

Задача здесь не в том, чтобы «сломать emoji», а в том, чтобы отключить именно фронтенд-часть там, где она не нужна, и не затронуть админку, редактор и совместимость с плагинами.

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

Если вы открываете исходный код страницы и видите подключение wp-emoji-release.min.js, а в head — инлайн-скрипт для проверки emoji, это нормальное поведение WordPress. Но если сайт уже оптимизируют по мелочам, эти элементы можно убрать без заметного риска.

Типичные сценарии

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

Важно понимать границу: отключать нужно только публичную часть, а не ломать редактор Gutenberg или панель администратора. Именно из-за этого многие «универсальные» сниппеты из интернета работают плохо.

Диагностика: что именно подгружается и откуда

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

  1. Откройте исходный код страницы на фронтенде.
  2. Найдите wp-emoji-release.min.js и инлайн-функцию, связанную с emoji detection.
  3. Проверьте, не добавляет ли тему собственные скрипты в wp_head.
  4. Сравните фронтенд и админку: в админке emoji обычно нужны, и это нормально.

Если скрипта нет, а лишний код всё равно есть, значит, источник другой. В таком случае сначала ищите подключение в теме или плагине, а не отключайте ядро наугад.

Пошаговое решение без поломки админки

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

Вариант 1: отключить emoji через код

<?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 в админке и убрать только фронтенд, лучше использовать более точечный подход.

Вариант 2: отключить только на фронтенде

<?php
add_action( 'wp_enqueue_scripts', function () {
    if ( is_admin() ) {
        return;
    }

    remove_action( 'wp_head', 'print_emoji_detection_script', 7 );
    remove_action( 'wp_print_styles', 'print_emoji_styles' );
} );

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

Вариант 3: если нужен готовый инструмент

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

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

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

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

  • Откройте исходный код и убедитесь, что wp-emoji-release.min.js больше не выводится на фронтенде.
  • Проверьте, что в <head> исчез инлайн-скрипт emoji detection.
  • Зайдите в админку и откройте редактор записи: если там всё работает, вы не задели лишнее.
  • Посмотрите консоль браузера на предмет ошибок JavaScript после правки.

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

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

Отключают emoji через слишком широкий сниппет

Иногда в код вставляют агрессивный набор remove_action без проверки контекста. В результате ломается админка или исчезают стили в письмах. Исправление простое: ограничьте отключение фронтендом или вынесите код в отдельный мини-плагин с понятной логикой.

Правят файл темы напрямую

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

Путают emoji WordPress и emoji сторонних библиотек

Если на сайте остаются иконки или эмодзи, это не значит, что отключение не сработало. Проверьте именно стандартный скрипт WordPress. Тема может использовать собственные SVG-иконки или JS-библиотеки, и они к этой настройке не относятся.

Проверяют только кэшированную страницу

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

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

Отключение emoji — это маленькая оптимизация, но она должна быть частью общей дисциплины. Если вы уже чистите head, не добавляйте туда новые костыли ради одной правки.

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

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

Что делать, если скрипт не исчез

Если после правки wp-emoji-release.min.js всё ещё есть в коде, проверьте три вещи: код действительно загружен, он находится в активной теме или плагине, и кэш очищен. Если всё верно, значит, скрипт добавляет не ядро WordPress, а тема или другой плагин. Тогда ищите по проекту строку emoji или wp-emoji и отключайте источник точечно.

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

Как настроить отложенный запуск задач в WordPress с помощью WP-Cron
13.09.2026
Как закрыть от индексации страницы внутреннего поиска в WordPress
10.09.2026
Как настроить отзывы в WordPress с оценками и модерацией
21.09.2026
Как использовать shortcode для отображения продуктов из WPSHOP в WordPress
13.09.2026
Как автоматизировать управление пользовательскими ролями в WordPress: практические решения и примеры кода
13.09.2026