Emoji — это красивые иконки, которые поддерживаются практически всеми современными браузерами и операционными системами. В WordPress по умолчанию подключается поддержка Emoji, чтобы они корректно отображались даже в старых браузерах. Однако эта функция добавляет лишние скрипты и стили, которые могут замедлять загрузку сайта, особенно если вы не используете Emoji активно в контенте.
Почему стоит отключить Emoji в WordPress
WordPress загружает специальные скрипты и стили для поддержки Emoji, включая wp-emoji-release.min.js. Это увеличивает количество HTTP-запросов и размер страницы, что негативно влияет на производительность и время загрузки.
Если ваш сайт не использует Emoji активно, отключение этой поддержки — простой способ снизить нагрузку на фронтенд и улучшить скорость.
Особенно актуально для проектов, где важна максимальная оптимизация скорости, например, для SEO или мобильных пользователей с медленным интернетом.
Как отключить Emoji с помощью кода (без плагинов)
Для отключения Emoji в WordPress достаточно добавить в файл functions.php вашей темы или в файл подключаемого кастомного плагина следующий код:
function wp_code_disable_emojis() {
// Отключаем загрузку скрипта Emoji в фронтенде
remove_action('wp_head', 'print_emoji_detection_script', 7);
remove_action('wp_print_styles', 'print_emoji_styles');
// Отключаем Emoji в админке
remove_action('admin_print_scripts', 'print_emoji_detection_script');
remove_action('admin_print_styles', 'print_emoji_styles');
// Отключаем фильтры, которые добавляют Emoji в RSS, Emails и т.д.
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_action('init', 'wp_code_disable_emojis');
Этот код полностью отключит Emoji, убрав скрипты, стили и фильтры, которые отвечают за их поддержку.
Дополнительные улучшения: отключение DNS Prefetch для Emoji
WordPress добавляет также <link rel="dns-prefetch" href="//s.w.org" /> в <head> для ускорения загрузки Emoji. Если вы отключаете Emoji, этот DNS Prefetch тоже можно убрать:
function wp_code_remove_emoji_dns_prefetch( $urls, $relation_type ) {
if ( 'dns-prefetch' == $relation_type ) {
$emoji_svg_url = 'https://s.w.org/images/core/emoji/';
foreach ( $urls as $key => $url ) {
if ( strpos( $url, $emoji_svg_url ) !== false ) {
unset( $urls[ $key ] );
}
}
}
return $urls;
}
add_filter( 'wp_resource_hints', 'wp_code_remove_emoji_dns_prefetch', 10, 2 );
Отключение Emoji с помощью плагина Clearfy
Если вы хотите использовать готовое решение с удобным интерфейсом, рекомендуем плагин Clearfy. В нем есть функция быстрого отключения Emoji и других лишних скриптов для оптимизации сайта.
Плагин позволяет отключить Emoji без правки кода, а также управлять множеством других параметров оптимизации.
Проверка результата и рекомендации
После отключения Emoji проверьте скорость сайта с помощью инструментов:
- Google PageSpeed Insights
- GTmetrix
- WebPageTest
Вы увидите уменьшение количества запросов и улучшение показателей загрузки.
Если на сайте используются Emoji в комментариях или контенте, они могут перестать отображаться корректно в старых браузерах. В таком случае надо оценить важность этой функции для вашего сайта.
Выводы
Отключение Emoji в WordPress — легкий и эффективный способ ускорить сайт, уменьшить количество запросов и снизить нагрузку. Особенно полезно для сайтов с большой аудиторией и высокой посещаемостью.
Используйте приведённый код или плагин Clearfy для быстрого результата без потери функциональности.