Почему стоит отключать Emoji в WordPress
С 4.2 версии WordPress по умолчанию включена поддержка Emoji – добавляются скрипты и стили для отображения смайлов в разных браузерах. Это влияет на время загрузки сайта, увеличивая количество запросов и размер загружаемых ресурсов. Особенно заметно на мобильных устройствах и при медленном соединении.
Если на вашем сайте нет необходимости отображать кастомные Emoji, отключение этой функции позволит ускорить загрузку страниц.
Диагностика: как проверить влияние Emoji на производительность
- Откройте любой публичный URL вашего сайта в режиме Инкогнито браузера.
- Запустите инструменты разработчика (F12) и перейдите на вкладку Network.
- Обновите страницу и найдите файлы, содержащие в названии
wp-emoji-release.min.jsиemoji.css. - Обратите внимание на размер и время загрузки этих ресурсов.
- Дополнительно проверьте скорость сайта через сервисы Google PageSpeed Insights или GTmetrix. В отчете может быть рекомендация убрать лишние скрипты, в том числе Emoji.
Пошаговое отключение Emoji в WordPress
Отключение Emoji делается через добавление кода в файл functions.php вашей активной темы или в плагин для сайта. Ниже приведен рабочий код, который отключает загрузку Emoji скриптов и стилей, а также убирает фильтры, которые вставляют Emoji в RSS и почтовые сообщения.
function disable_wp_emojicons() {
// Отключаем загрузку скриптов и стилей Emoji
remove_action('wp_head', 'print_emoji_detection_script', 7);
remove_action('wp_print_styles', 'print_emoji_styles');
// Отключаем Emoji в RSS
remove_filter('the_content_feed', 'wp_staticize_emoji');
remove_filter('comment_text_rss', 'wp_staticize_emoji');
// Отключаем Emoji в почте
remove_filter('wp_mail', 'wp_staticize_emoji_for_email');
// Отключаем TinyMCE плагин Emoji
add_filter('tiny_mce_plugins', function($plugins) {
if (is_array($plugins)) {
return array_diff($plugins, array('wpemoji'));
}
return array();
});
// Отключаем DNS_PREFETCH для emoji
add_filter('emoji_svg_url', '__return_false');
}
add_action('init', 'disable_wp_emojicons');После добавления кода сохраните изменения и очистите кэш сайта и браузера.
Проверка результата
Повторите диагностику из раздела выше. Файлы wp-emoji-release.min.js и emoji.css не должны загружаться. Время загрузки страницы в инструментах разработчика должно уменьшиться на несколько десятков миллисекунд, что заметно при медленном интернете.
Также можно снова проверить скорость сайта в PageSpeed Insights — показатель загрузки должен улучшиться.
Частые ошибки при отключении Emoji
- Код добавлен не в ту тему: если вы добавили код в
functions.phpдочерней или другой темы, а активна другая тема — код не сработает. - Кэширование: если на сайте используется кэширование (плагины, серверное), изменения могут не проявиться пока кэш не сброшен.
- Конфликты с плагинами: некоторые плагины могут повторно подключать Emoji скрипты, например, плагины для соцсетей или визуальных редакторов.
- Неполное отключение TinyMCE Emoji: если не убрать плагин
wpemojiиз TinyMCE, в редакторе WP Emoji все равно будет активен.
Практические советы по оптимизации и безопасности
- Отключение Emoji — один из простых способов уменьшить количество запросов и ускорить сайт без потери функциональности.
- Используйте плагины кэширования (например, WP Rocket, W3 Total Cache) в связке с отключением ненужных скриптов.
- Проверяйте регулярные обновления WordPress — иногда Emoji поддержка меняется, и код может потребовать корректировки.
- Если на сайте используется WooCommerce с отзывами, где пользователи вставляют Emoji, отключать не рекомендуется.
Сравнение способов отключения Emoji
| Метод | Преимущества | Недостатки |
|---|---|---|
| Добавление кода в functions.php | Полный контроль, бесплатно, без лишних плагинов | Нужно уметь работать с кодом, при смене темы нужно переносить код |
| Использование плагина (например, Disable Emojis) | Простая установка, подходит новичкам | Дополнительный плагин, может конфликтовать с другими |
| Использование оптимизационных плагинов с функцией отключения Emoji (например, Clearfy Pro) | Много дополнительных функций оптимизации | Платные решения, избыточность для простого отключения Emoji |