Emoji в WordPress добавляются по умолчанию с версии 4.2, чтобы обеспечить поддержку смайликов на всех браузерах. Однако это приводит к дополнительной загрузке файлов и замедляет работу сайта, особенно когда вы не используете Emoji в контенте. В этой статье разберём, как отключить Emoji в WordPress, чтобы улучшить скорость загрузки и производительность.
Почему стоит отключить Emoji в WordPress
По умолчанию WordPress добавляет несколько скриптов и стилей для поддержки Emoji. Это включает загрузку внешних файлов emoji, таких как wp-emoji-release.min.js, и стилей. Если вы не используете Emoji на сайте или хотите минимизировать количество запросов, отключение этой функции поможет:
- Сократить количество HTTP-запросов;
- Уменьшить размер загружаемых ресурсов;
- Повысить скорость загрузки страниц;
- Снизить нагрузку на сервер и клиентскую сторону.
Для сайтов, где важна максимальная оптимизация, отключение Emoji — простой и эффективный шаг.
Как отключить Emoji с помощью кода в functions.php
Самый распространённый и надёжный способ — добавить в файл functions.php вашей темы специальный код, который уберёт все действия и фильтры, связанные с Emoji.
Добавьте следующий код в functions.php вашей активной темы или в плагин с пользовательскими функциями:
function wpsystem_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');
add_filter('tiny_mce_plugins', 'wpsystem_disable_emojis_tinymce');
add_filter('wp_resource_hints', 'wpsystem_disable_emojis_remove_dns_prefetch', 10, 2);
}
add_action('init', 'wpsystem_disable_emojis');
function wpsystem_disable_emojis_tinymce($plugins) {
if (is_array($plugins)) {
return array_diff($plugins, array('wpemoji'));
} else {
return array();
}
}
function wpsystem_disable_emojis_remove_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;
}Этот код отключает загрузку скриптов и стилей Emoji, удаляет поддержку в редакторе TinyMCE и убирает DNS-prefetch для Emoji ресурсов. После добавления кода очистите кеш браузера и кеш плагинов оптимизации.
Использование плагинов для отключения Emoji
Если вы не хотите копаться в коде, есть несколько плагинов, которые автоматически отключают Emoji в WordPress:
- Disable Emojis (встроенный) — иногда есть в составе плагинов оптимизации;
- Disable Emojis Plugin — простой и лёгкий плагин, который отключает Emoji;
- WP Rocket — в настройках оптимизации можно отключить Emoji наряду с другими скриптами.
Эти плагины хороши, если вы хотите быстро и без риска отключить Emoji, но для максимального контроля лучше использовать код из предыдущего раздела.
Проверка отключения Emoji и влияние на скорость
После отключения Emoji важно проверить, что скрипты действительно не загружаются. Для этого:
- Откройте исходный код страницы (Ctrl+U) и проверьте, что нет ссылок на
wp-emoji-release.min.js; - Используйте инструменты разработчика (F12) во вкладке Network — не должно быть запросов к emoji ресурсам;
- Проверьте скорость загрузки страницы с помощью сервисов Google PageSpeed Insights, GTmetrix или Pingdom — загрузка должна улучшиться на несколько сотен миллисекунд;
- Убедитесь, что в комментариях или контенте сайта Emoji не отображаются некорректно (если вы не используете смайлы, это не проблема).
Если всё сделано правильно, вы получите более лёгкий и быстрый сайт без ненужной нагрузки.
Резюме и рекомендации по оптимизации WordPress
Отключение Emoji — это небольшая, но полезная оптимизация, которая помогает уменьшить нагрузку на сайт. Вместе с другими мерами, такими как оптимизация изображений, кеширование и минимизация скриптов, это позволит значительно улучшить пользовательский опыт.
Не забывайте, что любые изменения удобнее делать через дочернюю тему или плагин, чтобы при обновлении основной темы ваши изменения не исчезли.
Если вы хотите упростить управление производительностью, используйте комплексные плагины оптимизации, но для полного контроля лучше применять индивидуальные решения и писать собственный код.