Emoji в WordPress автоматически включены по умолчанию и добавляют дополнительные скрипты и стили на ваш сайт. Хотя это полезно для отображения смайликов, для многих проектов, особенно корпоративных и деловых, они не нужны и лишь замедляют загрузку страниц. В этой статье подробно рассмотрим, как отключить Emoji в WordPress, какие плагины помогут в этом, а также приведём примеры кода для оптимизации.
Почему стоит отключить Emoji в WordPress: влияние на производительность
WordPress добавляет поддержку Emoji через wp-emoji-release.min.js, который загружается на каждую страницу. Этот скрипт весит около 10 Кб в сжатом виде и требует дополнительного запроса к серверу, что влияет на время первого байта (TTFB) и общее время загрузки.
Кроме того, подключаются CSS-стили для правильного отображения Emoji в различных браузерах. Если вы не используете Emoji или хотите максимально ускорить сайт, отключение этих ресурсов — простой и эффективный способ оптимизации.
Особенно актуально это для мобильных пользователей и сайтов с высокими требованиями к скорости (например, лендинги, корпоративные сайты, интернет-магазины).
Как отключить Emoji через функции темы или плагин
Самый простой способ отключить Emoji — добавить код в файл functions.php вашей темы или в файл плагина для кастомных функций.
function wphow_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', 'wphow_disable_emojis_tinymce');
}
add_action('init', 'wphow_disable_emojis');
function wphow_disable_emojis_tinymce($plugins) {
if (is_array($plugins)) {
return array_diff($plugins, array('wpemoji'));
} else {
return array();
}
}Этот код полностью отключает Emoji, включая скрипты, стили и фильтры, которые преобразуют текстовые смайлы в графические.
Использование плагинов для отключения Emoji
Если вы не хотите править код напрямую, можно использовать проверенные плагины:
- Disable Emojis (Official) — плагин от команды WordPress, который делает ровно то же, что и код выше, но через интерфейс.
- Clearfy Pro — многофункциональный плагин для оптимизации сайта, который в числе прочего позволяет отключить Emoji и другие ненужные скрипты для ускорения.
Для установки плагина:
- Перейдите в админке WordPress в Плагины > Добавить новый.
- Введите название плагина в поиске, например, «Disable Emojis».
- Установите и активируйте плагин.
- Если используете Clearfy Pro, в настройках выберите пункт отключения Emoji.
Проверка результата и дополнительные советы по оптимизации
После отключения Emoji рекомендуется проверить сайт через инструменты:
- Google PageSpeed Insights — должен показать уменьшение времени загрузки и количества запросов.
- GTmetrix — смотреть на количество загружаемых ресурсов и их вес.
Также стоит рассмотреть отключение других ненужных скриптов, например, Embeds, Dashicons для гостей, если они не нужны. Плагин Clearfy Pro отлично помогает в этом.
Отключение Dashicons для гостей
Dashicons — иконки админки, которые по умолчанию грузятся и на фронтенд для неавторизованных пользователей, что не всегда нужно. Вот код для отключения:
function wphow_disable_dashicons_for_guests() {
if (!is_user_logged_in()) {
wp_dequeue_style('dashicons');
}
}
add_action('wp_enqueue_scripts', 'wphow_disable_dashicons_for_guests');Отключение Embeds
WordPress по умолчанию добавляет поддержку встраивания контента с других сайтов через oEmbed. Если вы не используете эту функцию, её можно отключить.
function wphow_disable_embeds_code_init() {
remove_action('rest_api_init', 'wp_oembed_register_route');
remove_filter('oembed_dataparse', 'wp_filter_oembed_result', 10);
remove_action('wp_head', 'wp_oembed_add_discovery_links');
remove_action('wp_head', 'wp_oembed_add_host_js');
add_filter('embed_oembed_discover', '__return_false');
remove_filter('pre_oembed_result', 'wp_filter_pre_oembed_result', 10);
}
add_action('init', 'wphow_disable_embeds_code_init', 9999);Использование этих трёх методов позволит ощутимо снизить нагрузку на сайт и ускорить загрузку страниц.
Заключение
Отключение Emoji в WordPress — простой шаг к оптимизации производительности, особенно для сайтов, где смайлы не играют важной роли. Вы можете сделать это как вручную, добавив код в functions.php, так и с помощью специализированных плагинов вроде Clearfy Pro. Кроме того, отключение Dashicons и Embeds для гостей даст дополнительный прирост скорости. Проверьте результат с помощью Google PageSpeed Insights и GTmetrix — вы увидите улучшение скорости и пользовательского опыта.