Emoji — это удобный и популярный способ выражения эмоций в сообщениях и комментариях. Однако в стандартной установке WordPress подключает скрипты и стили для поддержки Emoji, что увеличивает количество HTTP-запросов и замедляет загрузку сайта. Особенно это заметно на ресурсах с большим трафиком и строгими требованиями к скорости.
Почему стоит отключить Emoji в WordPress
Хотя Emoji выглядят привлекательно, их загрузка происходит за счет подключения внешних скриптов и стилей, которые добавляются по умолчанию в версии WordPress с 4.2. Если ваш сайт не использует Emoji или вы хотите оптимизировать скорость загрузки, отключение этой функции даст следующие преимущества:
- Сокращение количества HTTP-запросов;
- Уменьшение размера загружаемых страниц;
- Повышение оценки скорости сайта в Google PageSpeed Insights и аналогичных сервисах;
- Снижение нагрузки на сервер.
Для отключения Emoji в WordPress есть несколько способов — с помощью плагинов и без них. В этой статье рассмотрим именно кодовые решения без использования дополнительных плагинов, что снижает количество подключаемых скриптов и упрощает поддержку.
Отключение Emoji средствами functions.php темы
Самый простой метод — добавить в файл functions.php вашей активной темы специальный код, который удалит все действия и фильтры, отвечающие за Emoji.
function wpsource_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');
// Отключаем фильтры для контента и RSS
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 для Emoji
add_filter('emoji_svg_url', '__return_false');
}
add_action('init', 'wpsource_disable_wp_emojicons');Этот код полностью отключит загрузку всех скриптов и стилей Emoji, а также уберет соответствующие фильтры из вывода контента и почты. Важно использовать префикс wpsource_ в названии функции, чтобы избежать конфликтов с другими плагинами и темами.
Пояснения к коду
Функция remove_action() удаляет регистрацию скриптов и стилей, которые добавляет WordPress для Emoji. Без них браузер не будет загружать дополнительные ресурсы.
Фильтры remove_filter() отключают преобразование Emoji в RSS-лентах и письмах, что уменьшает нагрузку на парсеры и почтовые клиенты.
Фильтр emoji_svg_url отключает DNS prefetch, который по умолчанию пытается ускорить загрузку Emoji из внешних источников.
Как проверить, что Emoji отключены
После добавления кода в functions.php очистите кэш браузера и кэш сайта (если используется). Затем откройте исходный код страницы (Ctrl+U или Cmd+U) и убедитесь, что нет ссылок на wp-includes/js/wp-emoji-release.min.js и стилей Emoji.
Также можно проверить загрузку в инструментах разработчика браузера (вкладка Network), чтобы убедиться, что скрипт Emoji не загружается.
Отключение Emoji через плагин Clearfy
Если вы используете плагин Clearfy, там есть встроенная опция для отключения Emoji. Это удобно, если вы не хотите редактировать код напрямую.
Для этого достаточно включить соответствующую галочку в настройках оптимизации плагина, и он автоматически выполнит все необходимые действия.
Дополнительные советы по оптимизации загрузки Emoji
Если вы не хотите полностью отключать Emoji, а хотите просто оптимизировать их загрузку, можно заменить скрипт на локальный или использовать асинхронную загрузку. Но это уже более сложные решения, которые требуют дополнительной настройки.
Для большинства сайтов полный запрет Emoji — это оптимальный и простой путь улучшить производительность.
Выводы
Отключение Emoji в WordPress — простой и эффективный способ снизить количество HTTP-запросов и ускорить загрузку сайта без использования плагинов. Добавьте приведенный выше код в functions.php вашей темы или воспользуйтесь плагином Clearfy для удобного управления этой настройкой.
Это особенно полезно для сайтов с высокой посещаемостью и строгими требованиями к скорости, а также для тех, кто хочет минимизировать лишние ресурсы, загружаемые на страницах.