WordPress по умолчанию добавляет поддержку Emoji с помощью встроенных скриптов и стилей. Это может замедлять загрузку страниц и увеличивать количество HTTP-запросов, что негативно сказывается на производительности сайта. Особенно это заметно на крупных проектах и при использовании тяжёлых тем и плагинов. В этой статье рассмотрим, как отключить Emoji в WordPress, используя различные методы — от простых плагинов до ручного кода в functions.php.
Почему стоит отключать Emoji в WordPress
Emoji внедряются в WordPress через JavaScript и CSS, загружаемые на каждую страницу. Если ваш сайт не использует эти символы или вы хотите максимально оптимизировать скорость, отключение Emoji — простой способ уменьшить нагрузку.
Основные причины отключения Emoji:
- Уменьшение количества HTTP-запросов;
- Снижение объёма загружаемых файлов;
- Повышение скорости загрузки страниц;
- Меньшая нагрузка на сервер и клиентские устройства.
Отключение Emoji особенно актуально для мобильных пользователей и сайтов с большим трафиком.
Способ 1: Отключение Emoji через код в functions.php
Самый простой и быстрый способ — добавить в файл functions.php вашей темы или в собственный плагин следующий код:
function wptem_disable_emojis() {
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', 'wptem_disable_emojis');Этот код убирает все основные действия и фильтры, связанные с Emoji в WordPress. После добавления вы сразу заметите уменьшение числа загружаемых скриптов.
Как проверить результат
Откройте исходный код страницы (Ctrl+U или Cmd+U) и убедитесь, что нет скриптов и стилей, связанных с emoji (обычно они подключаются с адреса wp-includes/js/wp-emoji-release.min.js или подобного).
Способ 2: Использование плагина Clearfy для отключения Emoji
Если не хотите трогать код, можно воспользоваться плагином Clearfy. Он позволяет отключать множество ненужных функций WordPress, включая Emoji, в удобном интерфейсе.
Преимущества Clearfy:
- Простая настройка без кода;
- Дополнительные инструменты для оптимизации сайта;
- Регулярные обновления и поддержка.
Чтобы отключить Emoji, достаточно активировать соответствующий переключатель в разделе оптимизации.
Способ 3: Отключение Emoji в редакторе Gutenberg
Если вы используете редактор Gutenberg, Emoji также могут загружаться в блоках. Чтобы отключить их, добавьте в functions.php следующий код:
function wptem_disable_gutenberg_emojis() {
add_filter('should_load_separate_core_block_assets', '__return_false');
}
add_action('init', 'wptem_disable_gutenberg_emojis');Этот фильтр помогает дополнительно минимизировать загрузку скриптов, связанных с Emoji, в блоках редактора.
Способ 4: Отключение Emoji через фильтр wp_resource_hints
WordPress добавляет DNS prefetch для домена с Emoji. Чтобы убрать это, используйте следующий фильтр:
function wptem_disable_emoji_dns_prefetch($urls, $relation_type) {
if ('dns-prefetch' === $relation_type) {
return array_diff($urls, array('https://s.w.org/images/core/emoji/'));
}
return $urls;
}
add_filter('wp_resource_hints', 'wptem_disable_emoji_dns_prefetch', 10, 2);<Это дополнительно сокращает количество DNS-запросов и ускоряет загрузку.
Резюме и рекомендации
Отключение Emoji в WordPress — простая и эффективная оптимизация. Для большинства проектов достаточно добавить код в functions.php. Если хочется более комплексных инструментов, стоит попробовать плагин Clearfy.
Не забудьте протестировать сайт после изменений, чтобы убедиться, что ничего не сломалось. Особенно это важно, если вы используете кастомные темы или плагины, которые могут полагаться на Emoji.
Применяйте эти методы, если хотите ускорить сайт и уменьшить нагрузку на сервер без потери функциональности.