Emoji — это популярный способ выражения эмоций в текстах, но в WordPress они подключаются по умолчанию через дополнительные скрипты и стили, которые увеличивают количество HTTP-запросов и немного замедляют загрузку страниц. Особенно это заметно на сайтах с высокой посещаемостью или при использовании медленных серверов. В этой статье разберём, как отключить Emoji в WordPress, чтобы ускорить сайт, снизить нагрузку и сделать его чуть более оптимизированным.
Почему стоит отключить Emoji в WordPress? Влияние на производительность
По умолчанию WordPress загружает специальные скрипты и стили для поддержки Emoji во всех браузерах. Это:
- JavaScript-файл emoji-release.min.js,
- CSS-стили для отображения Emoji.
Каждый из этих файлов — отдельный HTTP-запрос, который увеличивает время загрузки страницы. Если ваш сайт не нуждается в Emoji, отключение этих файлов — простой способ оптимизации.
Также отключение Emoji уменьшает количество загружаемых скриптов, что положительно сказывается на производительности, особенно при использовании мобильного интернета или медленных соединений.
Как отключить Emoji с помощью кода в functions.php
Самый простой и надежный способ — добавить в файл functions.php вашей темы следующий код. Он полностью убирает загрузку Emoji-скриптов и стилей, а также отключает фильтры, которые преобразуют Emoji в HTML-сущности.
<?php
function wptemp_disable_emojis() {
// Убираем действия, которые добавляют Emoji в head
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');
// Отключаем преобразование Emoji в RSS и Email
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', 'wptemp_disable_emojis');
?>
Добавьте этот код в конец файла functions.php вашей активной темы или в плагин для пользовательских функций. После этого Emoji-скрипты перестанут грузиться.
Пояснения к коду
Функция wptemp_disable_emojis удаляет несколько стандартных действий и фильтров WordPress, связанных с Emoji:
print_emoji_detection_script— скрипт, который отвечает за преобразование Emoji в браузерах без нативной поддержки.print_emoji_styles— стили для корректного отображения Emoji.- Фильтры, которые статически заменяют Emoji в RSS-лентах и письмах.
Это гарантирует полное отключение Emoji на фронтенде и в админке.
Использование плагинов для отключения Emoji
Если не хочется добавлять код вручную, можно воспользоваться плагинами. Вот несколько популярных и легких решений:
- Clearfy — мощный плагин оптимизации, который позволяет отключать Emoji в один клик. Подробнее на wpshop.ru.
- Disable Emojis — минималистичный плагин только для отключения Emoji, без лишних функций.
- WP Rocket — популярный плагин кеширования, который включает опцию отключения Emoji в настройках оптимизации.
Плагины удобны для тех, кто не хочет работать с кодом, но лучше проверять, не конфликтуют ли они с другими установленными расширениями.
Дополнительные советы по оптимизации загрузки Emoji
Если вы хотите оставить поддержку Emoji, но минимизировать влияние на скорость, рассмотрите следующие подходы:
- Задержка загрузки Emoji-скриптов с помощью отложенной загрузки (defer или async) — это можно реализовать через фильтры и хуки.
- Использование систем кеширования и CDN для ускорения доставки Emoji-ресурсов.
- Проверка, действительно ли ваши пользователи используют Emoji, и отключение только на страницах, где они не нужны.
Пример отложенной загрузки Emoji-скрипта
Добавьте следующий код в functions.php, чтобы подключать скрипт с атрибутом defer:
function wptemp_defer_emoji_script($tag, $handle, $src) {
if ($handle === 'emoji') {
return '<script src="' . esc_url($src) . '" defer></script>';
}
return $tag;
}
add_filter('script_loader_tag', 'wptemp_defer_emoji_script', 10, 3);
Этот метод помогает не блокировать загрузку страницы из-за Emoji-скрипта, но полностью отключить его эффективнее.
Заключение: стоит ли отключать Emoji?
Если ваш проект ориентирован на максимальную скорость и минимальное количество запросов, отключение Emoji — простой и работающий способ оптимизации. Код для отключения невелик и легко внедряется, а если не хотите править файлы темы, подойдет плагин Clearfy с опцией отключения Emoji.
В большинстве случаев отключение Emoji не повлияет на пользовательский опыт, зато улучшит производительность сайта. Особенно это актуально для магазинов, блогов и корпоративных сайтов, где важна скорость и стабильность.