Встроенная поддержка Emoji в WordPress часто является причиной лишних HTTP-запросов и увеличения времени загрузки страниц. Если вы хотите оптимизировать свой сайт на WordPress, особенно для проектов с высокой посещаемостью, отключение Emoji может быть полезным шагом. В этой статье мы подробно разберем, как отключить Emoji без установки дополнительных плагинов, используя собственный код.
Почему стоит отключать Emoji в WordPress?
WordPress добавляет поддержку Emoji с версии 4.2, загружая дополнительные скрипты и стили для корректного отображения смайликов на всех браузерах. Однако если ваш сайт не использует Emoji или вы предпочитаете показывать стандартные символы, эти ресурсы становятся ненужной нагрузкой.
Это приводит к:
- Увеличению количества HTTP-запросов;
- Замедлению загрузки страниц;
- Увеличению объема загружаемых данных;
- Потенциальному конфликту с кастомными стилями и скриптами.
Отключение Emoji позволит сделать сайт чуть быстрее и уменьшить нагрузку на сервер.
Как отключить Emoji без плагинов — добавляем код в functions.php
Для отключения Emoji достаточно добавить несколько строк кода в файл functions.php вашей темы или в файл подключаемого кастомного плагина. Такой способ полностью убирает подключение скриптов, стилей и фильтров, связанных с Emoji.
Вот пример функции, которая отключает Emoji:
function wpmax_disable_emoji() {
// Отключаем скрипты 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');
// Отключаем TinyMCE плагин Emoji
add_filter('tiny_mce_plugins', 'wpmax_disable_emoji_tinymce');
// Отключаем DNS-prefetch для Emoji
add_filter('wp_resource_hints', 'wpmax_disable_emoji_dns_prefetch', 10, 2);
}
add_action('init', 'wpmax_disable_emoji');
function wpmax_disable_emoji_tinymce($plugins) {
if (is_array($plugins)) {
return array_diff($plugins, array('wpemoji'));
} else {
return array();
}
}
function wpmax_disable_emoji_dns_prefetch($urls, $relation_type) {
if ('dns-prefetch' === $relation_type) {
$emoji_svg_url = 'https://s.w.org/images/core/emoji/';
$urls = array_diff($urls, array($emoji_svg_url));
}
return $urls;
}Давайте разберем, что делает этот код:
- Удаляет скрипты и стили Emoji из
<head>и из админки; - Отключает фильтры, которые заменяют текстовые Emoji на изображения в RSS и письмах;
- Удаляет плагин Emoji из редактора TinyMCE, чтобы не загружать лишние скрипты;
- Убирает DNS-prefetch для домена с Emoji-ресурсами;
Проверка и тестирование отключения Emoji
После добавления кода в functions.php рекомендуется очистить кэш браузера и кэш сайта, если вы используете плагины кеширования (например, Clearfy Pro отлично подойдет для оптимизации). Затем проверьте исходный код страниц сайта — в <head> не должно быть ссылок на wp-emoji-release.min.js и связанных стилей.
Также можно проверить работу TinyMCE — Emoji не должен отображаться в редакторе.
Дополнительные рекомендации по оптимизации
Если вы хотите дополнительно ускорить загрузку сайта, стоит обратить внимание на отключение других ненужных скриптов, например, Embeds, Dashicons для фронтенда и т.д. Для этого можно использовать похожие методы с удалением соответствующих экшенов и фильтров.
Кроме того, для комплексной оптимизации сайта рекомендуем рассмотреть плагин Clearfy Pro, который позволяет отключать Emoji и множество других ненужных функций WordPress через удобный интерфейс без правки кода.
Заключение
Отключение Emoji — простой и эффективный способ уменьшить количество запросов и ускорить загрузку сайта на WordPress. Использование собственного кода в functions.php гарантирует минимальную нагрузку и отсутствие лишних плагинов, что особенно важно для производительных и легких проектов.
Если вы хотите быстро и удобно управлять этой и другими оптимизациями, обратите внимание на Clearfy Pro.