Emoji — это забавные иконки, которые автоматически добавляются в WordPress для поддержки смайликов в браузерах. Однако, для многих сайтов, особенно бизнес-ориентированных и маркетинговых, Emoji часто не нужны и только увеличивают количество HTTP-запросов и общий размер страницы, замедляя загрузку сайта. В этой статье мы подробно разберем, как удалить Emoji из WordPress с помощью кода и плагинов, чтобы оптимизировать производительность.
Почему стоит удалить Emoji в WordPress? Влияние на скорость и загрузку
WordPress по умолчанию загружает скрипты и стили, связанные с Emoji, чтобы обеспечить их отображение во всех браузерах. Это включает в себя загрузку JS и CSS файлов, а также фильтры, которые преобразуют текстовые смайлы в графические Emoji.
Для сайтов, где Emoji не используются, эти ресурсы становятся лишней нагрузкой. Каждый лишний HTTP-запрос увеличивает время загрузки страницы, что негативно сказывается на SEO и опыте пользователей. Особенно это важно на мобильных устройствах и при слабом интернете.
Удаление Emoji помогает:
- Сократить количество HTTP-запросов
- Уменьшить размер загружаемых страниц
- Повысить скорость загрузки сайта
- Снизить нагрузку на сервер
Отключение Emoji с помощью кода: wpmarketing_ru_remove_emoji_scripts()
Самый простой способ удалить Emoji — добавить в файл functions.php вашей темы или в плагин следующие функции. Они отключают загрузку скриптов, стилей и фильтров, связанных с Emoji.
function wpmarketing_ru_remove_emoji_scripts() {
// Отключаем скрипт emoji
remove_action('wp_head', 'print_emoji_detection_script', 7);
remove_action('admin_print_scripts', 'print_emoji_detection_script');
// Отключаем стили emoji
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 для emoji
add_filter('emoji_svg_url', '__return_false');
}
add_action('init', 'wpmarketing_ru_remove_emoji_scripts');Этот код полностью удалит загрузку Emoji из фронтенда и админки. После его добавления стоит проверить работу сайта, чтобы убедиться, что никаких ошибок не возникло.
Объяснение кода
Мы удаляем действия, которые подключают скрипты и стили Emoji в <head> и в админке. Также убираем фильтры, которые преобразуют обычные смайлы в Emoji при выводе контента и в отправке почты. Фильтр emoji_svg_url отключает загрузку SVG-иконок из внешнего источника.
Плагины для отключения Emoji в WordPress
Если вы не хотите работать с кодом, можно использовать готовые плагины. Вот несколько популярных и легковесных решений:
- Disable Emojis (Emoji Off) — самый простой плагин, который сразу отключает Emoji без настроек.
- WP Rocket — плагин для кэширования и оптимизации, в настройках которого можно отключить Emoji и другие лишние скрипты.
- Perfmatters — платный плагин с множеством настроек для оптимизации, включая отключение Emoji.
Большинство плагинов просто выполняют тот же набор действий, что и наш код, но через интерфейс.
Дополнительные советы по оптимизации загрузки Emoji
Если вы хотите оставить Emoji, но минимизировать их влияние, можно:
- Заменить стандартные Emoji на системные (с помощью фильтров)
- Использовать CDN для загрузки Emoji ресурсов
- Отложить загрузку Emoji скриптов с помощью lazy load
Но чаще всего проще и эффективнее полностью отключить, если они не нужны.
Проверка результата и тестирование
После отключения Emoji стоит проверить, что они действительно не загружаются. Для этого откройте исходный код страницы в браузере и найдите ссылки на emoji-скрипты или стили. Их там быть не должно.
Также можно использовать инструменты типа Google PageSpeed Insights или GTmetrix — они покажут, что количество запросов уменьшилось, а скорость загрузки улучшилась.
Выводы
Удаление Emoji из WordPress — простой и эффективный способ улучшить производительность сайта, особенно если вы не используете эти иконки. Добавленный код или плагин помогут убрать ненужные HTTP-запросы, что положительно скажется на скорости и SEO.
Используйте функцию wpmarketing_ru_remove_emoji_scripts() в своей теме или плагине, чтобы быстро и надежно отключить Emoji без лишних усилий.