Диагностика проблемы: почему Emoji замедляют сайт
WordPress по умолчанию загружает скрипты и стили для поддержки Emoji (эмодзи). Это дополнительный HTTP-запрос и загрузка ресурсов, которые не всегда нужны, особенно если ваш сайт не использует их в контенте. Часто это приводит к замедлению загрузки страниц, особенно на мобильных устройствах и при медленном соединении.
Проверить, загружаются ли Emoji-скрипты и стили, можно через инструменты разработчика в браузере (Chrome DevTools, вкладка Network). Ищите файлы, содержащие wp-emoji-release.min.js или emoji.css.
Пошаговое решение: отключение Emoji через functions.php
Самый надежный и простой способ убрать Emoji — добавить в файл functions.php вашей темы или в файл основного плагина следующий код:
function disable_wp_emojicons() {
// Отключаем действия, связанные с Emoji
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');
// Отключаем DNS prefetch
add_filter('emoji_svg_url', '__return_false');
}
add_action('init', 'disable_wp_emojicons');Этот код полностью отключает загрузку Emoji-скриптов и стилей, а также фильтры, которые преобразуют смайлы в Emoji.
Альтернативный способ: использование плагина Clearfy
Если вы используете Clearfy, то там есть возможность отключить Emoji в пару кликов без кода. Это полезно, если вы не хотите править тему.
Проверка результата: как убедиться, что Emoji отключены
- Откройте сайт в Chrome, нажмите F12, перейдите на вкладку Network.
- Обновите страницу и отфильтруйте запросы по слову
emoji. - Если запросов на
wp-emoji-release.min.jsиemoji.cssнет — отключение прошло успешно. - Проверьте исходный код страницы (Ctrl+U), убедитесь, что нет скриптов и стилей Emoji.
Частые ошибки и как их исправить
- Код добавлен, но Emoji по-прежнему загружаются — возможно, код добавлен в неправильный файл или тема перекрывает действия. Проверьте, что
functions.phpвашей активной темы содержит код, и нет конфликтов с плагинами. - Emoji отключены, но смайлы в комментариях отображаются некорректно — проверьте, нет ли плагинов, которые добавляют поддержку Emoji самостоятельно.
- Кэш браузера или плагина мешает проверке — очистите кэш сайта и браузера перед тестированием.
Практические советы по производительности при отключении Emoji
Отключение Emoji — один из простых способов уменьшить количество HTTP-запросов и вес страницы. Особенно актуально для WooCommerce-магазинов и сайтов с высокими нагрузками.
- Для комплексной оптимизации используйте совместно отключение Emoji, минимизацию CSS/JS и кэширование.
- Проверяйте скорость сайта до и после изменений с помощью Google PageSpeed Insights или GTmetrix.
- Если вы используете CDN, убедитесь, что на нем также нет кеширования Emoji-ресурсов.
Сравнение методов отключения Emoji
| Метод | Плюсы | Минусы |
|---|---|---|
| Добавление кода в functions.php | Полный контроль, бесплатно, не требует плагинов | Требует доступа к коду, возможны конфликты с темой |
| Плагин Clearfy | Простота использования, дополнительно оптимизирует сайт | Требует установки плагина, возможна нагрузка от плагина |