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

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

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

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

Это не про «ускорить сайт на 50%», а про аккуратную чистку фронтенда. Отключение emoji обычно оправдано, если:

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

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

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

Проверка простая: откройте исходный код страницы и найдите wp-emoji-release.min.js. Обычно он подключается в <head> как отдельный скрипт. Дополнительно WordPress вставляет inline-скрипт для определения поддержки emoji в браузере.

Если вы используете кэш-плагин или оптимизатор, проверьте не только HTML, но и итоговый ответ сервера после сборки. Иногда скрипт уже не виден в исходнике темы, но остаётся в объединённом JS-бандле или в отложенной загрузке.

Что смотреть в DevTools

  • вкладка Network — есть ли запрос к wp-emoji-release.min.js;
  • вкладка Elements — есть ли inline-блоки, связанные с emoji;
  • вкладка View Source — не вернулся ли скрипт после очистки кэша.

Пошаговое решение через functions.php

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

<?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' );
    add_filter( 'emoji_svg_url', '__return_false' );
} );

Этот вариант отключает не только фронтенд, но и часть служебной обработки в админке и письмах. Если вам нужно убрать emoji только на публичной части сайта, можно ограничиться wp_head и фронтенд-стилями, но на практике чаще убирают всё сразу.

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

Иногда редактору удобнее оставить поддержку в админке, а на сайте убрать лишнее. Тогда код можно сузить:

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

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

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

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

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

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

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

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

После сохранения изменений не ограничивайтесь визуальной проверкой страницы. Нужна техническая проверка.

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

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

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

Код добавили в родительскую тему

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

Отключили emoji, но скрипт остался

Чаще всего виноват кэш-плагин или CDN. Очистите все уровни кэша и проверьте, не включена ли в оптимизаторе отдельная опция «добавлять emoji support» или «вставлять WP emoji script».

Сломали отображение в админке

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

Путают emoji и иконки

Отключение emoji не влияет на Font Awesome, SVG-иконки и другие наборы символов. Если после правки «пропали иконки», проблема почти наверняка в другом скрипте или в CSS.

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

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

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

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

Мини-чек-лист перед публикацией

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

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

Как автоматизировать управление переадресациями в WordPress
26.09.2026
Как использовать WPengine для автоматизации хранения вариантов постов в WordPress
28.09.2026
Как отключить архивы дат в WordPress и не сломать SEO
26.09.2026
Как закрыть от индексации страницы поиска в WordPress и оставить полезный поиск
05.09.2026
Как автоматизировать удаление старого и неиспользуемого кода в WordPress
18.09.2026