WordPress по умолчанию загружает поддержку Emoji через дополнительные скрипты и стили, что может замедлять загрузку страниц, особенно если ваш сайт не использует эти смайлики. В этой статье мы подробно разберём, как отключить Emoji в WordPress, чтобы повысить производительность ресурса и уменьшить количество HTTP-запросов.
Почему стоит отключить Emoji в WordPress
Emoji в WordPress реализованы через подключение скриптов и стилей в заголовке и футере сайта. Каждый такой запрос — это дополнительные 2-3 HTTP-запроса, которые влияют на скорость загрузки. Особенно это заметно на мобильных устройствах и при использовании медленных соединений.
Отключение Emoji помогает:
- Сократить количество HTTP-запросов;
- Уменьшить размер загружаемых ресурсов;
- Повысить скорость отображения страниц;
- Улучшить показатели Core Web Vitals;
- Упростить контроль над загружаемыми скриптами и стилями.
Если вы не используете Emoji на сайте или управляете ими через сторонние решения, отключение встроенных средств — оптимальное решение.
Отключение Emoji средствами кода в functions.php
Самый простой способ — добавить код в файл functions.php вашей активной темы или в плагин для пользовательских функций. Используем функции WordPress для удаления действий и фильтров, связанных с Emoji:
function wpdesk_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', 'wpdesk_disable_emojis');Этот код убирает скрипты, стили и фильтры, связанные с Emoji, из фронтенда и административной панели.
Проверка и дополнительные советы по оптимизации
После добавления кода очистите кеш сайта и браузера, затем проверьте исходный код страницы. В <head> не должно быть ссылок и скриптов, связанных с Emoji, например:
print_emoji_detection_scriptemoji.css
Если вы используете плагин кеширования или оптимизации (например, Clearfy Pro), проверьте, нет ли в нём отдельной опции по отключению Emoji — обычно это более удобный способ без правки кода.
Отключение Emoji с помощью плагинов
Если вы предпочитаете не трогать код, можно использовать плагины, которые упрощают задачу:
- Disable Emojis (by WordPress.org) — самый простой и лёгкий плагин, отключающий все Emoji в WordPress.
- Clearfy Pro — многофункциональный плагин оптимизации, в котором есть опция отключения Emoji, а также множество других настроек для ускорения сайта. Подробнее на wpshop.ru.
Пример функции для условного отключения Emoji
Иногда нужно отключать Emoji только на фронтенде, оставляя их в админке. Для этого модифицируем функцию:
function wpdesk_conditional_disable_emojis() {
if (!is_admin()) {
remove_action('wp_head', 'print_emoji_detection_script', 7);
remove_action('wp_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_filter('emoji_svg_url', '__return_false');
}
}
add_action('init', 'wpdesk_conditional_disable_emojis');Такой подход полезен, если вы используете Emoji в админке для визуального оформления, но хотите ускорить вывод сайта для посетителей.
Подведение итогов и рекомендации
Отключение Emoji — простой и эффективный способ оптимизации WordPress сайта, особенно если вы стремитесь минимизировать количество внешних запросов и уменьшить нагрузку на клиента. Используйте код из статьи или плагины для быстрой настройки.
Не забывайте тестировать сайт после изменений и использовать инструменты типа Google PageSpeed Insights или GTmetrix для оценки результата.