Emoji — это удобный способ добавить эмоции в текст, однако в WordPress они подключаются через загрузку дополнительных скриптов и стилей, что может замедлять загрузку сайта. В этой статье разберём, как полностью отключить Emoji, чтобы улучшить скорость и уменьшить количество запросов.
Почему стоит отключать Emoji в WordPress
По умолчанию WordPress загружает скрипты и стили для поддержки Emoji в браузерах, которые их не поддерживают. Это приводит к дополнительным HTTP-запросам и увеличению общего веса страницы. Особенно критично для сайтов с высокой посещаемостью и требований по скорости.
Отключение Emoji помогает:
- Снизить количество загружаемых файлов
- Уменьшить нагрузку на сервер
- Повысить скорость загрузки страниц
Кроме того, если на сайте не используются Emoji, то их поддержка просто не нужна.
Как отключить Emoji стандартными методами WordPress
WordPress предоставляет несколько хуков, с помощью которых можно убрать загрузку Emoji. Для этого нужно добавить следующий код в файл functions.php вашей темы или в плагин с пользовательскими функциями:
function wpbegin_disable_wp_emojicons() {
// Удаляем скрипты 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');
// Отключаем фильтры для содержимого
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', 'wpbegin_disable_wp_emojicons');Этот код отключает Emoji и удаляет связанные скрипты и стили как на фронтенде, так и в админке.
Дополнительная оптимизация: отключаем DNS prefetch для Emoji
WordPress добавляет тег <link rel="dns-prefetch"> для домена emojis.wp.com, который также можно отключить:
function wpbegin_disable_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', 'wpbegin_disable_emoji_dns_prefetch', 10, 2 );Этот фильтр убирает DNS prefetch для домена, связанного с Emoji, что дополнительно уменьшает количество запросов.
Использование плагинов для отключения Emoji
Если вы не хотите добавлять код вручную, можно воспользоваться плагинами, которые выполняют эту задачу:
- Clearfy Pro — позволяет отключить Emoji, а также множество других ненужных функций WordPress через удобный интерфейс. Подробнее: https://wpshop.ru/plugins/clearfy-pro/
- Disable Emojis — легкий плагин для отключения Emoji без настройки.
Использование плагинов удобно, если вы не хотите править код и хотите централизованное управление оптимизацией.
Проверка отключения Emoji на сайте
После добавления кода или установки плагина важно проверить, что Emoji действительно отключены. Для этого:
- Откройте исходный код страницы и найдите, нет ли ссылок на скрипты и стили Emoji, таких как
wp-emoji-release.min.jsилиprint_emoji_styles. - Проверьте заголовки HTTP и количество запросов — должно быть меньше.
- Используйте инструменты для тестирования скорости, например Google PageSpeed Insights или GTmetrix, и убедитесь в улучшении показателей.
Если всё сделано правильно, вы заметите, что Emoji скрипты не загружаются, а скорость сайта повысилась.
Выводы и рекомендации
Отключение Emoji — простой и эффективный способ оптимизировать WordPress-сайт. Особенно полезно для проектов, где важна максимальная скорость загрузки и минимизация запросов.
Рекомендуется использовать предложенный код в functions.php или плагин Clearfy Pro для комплексной оптимизации. Такой подход не повлияет на основные функции сайта и избавит от лишних нагрузок.
Если в будущем вам понадобится вернуть Emoji, просто удалите или закомментируйте добавленный код или деактивируйте плагин.