wpedu.ru wordpress WP Education

Как отключить emoji и дублирующиеся скрипты в WordPress без поломки темы и плагинов

На небольших и средних сайтах WordPress часто всплывает одна и та же проблема: в исходном коде остаются лишние подключения для emoji, а иногда тема или плагины добавляют свои версии jQuery, block-library CSS или другие ресурсы, которые дублируют уже загруженные файлы. Визуально сайт работает, но в сети это означает лишние запросы, больше CSS/JS и лишний шум в HTML.

Задача здесь не в том, чтобы «вычистить всё подряд», а в том, чтобы убрать только то, что действительно не нужно вашему проекту, и не сломать редактор, фронтенд и сторонние интеграции.

Когда это действительно проблема

Сначала стоит понять, что именно вы хотите исправить. Если речь о нескольких лишних запросах в <head>, это не всегда критично. Но если вы видите сразу несколько одинаковых библиотек, лишние стили Gutenberg на фронтенде или emoji-скрипты на каждом шаблоне, это уже повод навести порядок.

Типичные признаки

  • в исходном коде есть wp-emoji-release.min.js, хотя emoji на сайте не используются;
  • в DevTools видно два разных подключения jQuery или один и тот же скрипт из разных источников;
  • на страницах без блоков Gutenberg всё равно грузится wp-block-library.css;
  • после установки темы или плагина выросло число запросов, а причина неочевидна;
  • в PageSpeed Insights или Lighthouse есть замечания по лишнему CSS/JS, но без явной ошибки в интерфейсе.

Диагностика: что именно отключать

Не начинайте с удаления всего подряд через functions.php. Сначала проверьте, откуда приходит лишний ресурс. Для этого удобно открыть исходный код страницы, вкладку Network в браузере и посмотреть, какие файлы грузятся на фронтенде и в админке.

Если вы видите emoji-скрипты, их можно отключить почти на любом сайте без последствий. А вот дублирующий jQuery или стили плагина нужно разбирать отдельно: иногда они нужны конкретному виджету или форме.

Для быстрой проверки полезно сравнить три вещи:

  • что грузится на главной;
  • что грузится на записи или странице с блоками;
  • что меняется после отключения конкретного хука или плагина.

Пошаговое решение: отключаем emoji и лишние подключения

Самый безопасный путь — использовать дочернюю тему или небольшой mu-plugin. Так изменения не потеряются после обновления темы.

1. Отключаем emoji-скрипты WordPress

Этот код убирает стандартные emoji-скрипты и стили WordPress на фронтенде, в email и в админ-баре. Для большинства проектов это безопасно.

add_action( 'init', function() {
    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' );
} );

После этого WordPress перестанет добавлять emoji-обвязку, но сами символы emoji в тексте останутся отображаться как обычные Unicode-символы в современных браузерах.

2. Убираем лишние стили block-library там, где они не нужны

Если у вас классическая тема и на части страниц нет блоков Gutenberg, можно точечно отключить стандартные стили блоков. Но делать это стоит только после проверки: если на сайте есть блоки в контенте, отключение может визуально поломать их оформление.

add_action( 'wp_enqueue_scripts', function() {
    if ( ! is_admin() ) {
        wp_dequeue_style( 'wp-block-library' );
        wp_dequeue_style( 'wp-block-library-theme' );
        wp_dequeue_style( 'global-styles' );
    }
}, 100 );

Этот вариант подходит не всем. Если вы используете блоки в контенте, сначала проверьте, какие именно стили реально нужны. Иногда лучше не отключать всё, а оставить global-styles или только часть блоков.

3. Убираем дублирующий jQuery только после проверки зависимостей

С jQuery нужно быть осторожнее. В WordPress ядро уже подключает свою версию, и попытка заменить её на CDN-версию часто ломает плагины, слайдеры и формы. Если вы нашли дублирование, сначала выясните, кто именно подключает второй файл.

Если проблема в теме, правильнее исправить регистрацию скрипта в самой теме. Если это сторонний плагин, безопаснее отключать только его лишнее подключение, а не ядро WordPress.

Сравнение подходов: код, плагин или правка темы

ПодходКогда подходитПлюсыМинусы
Код в дочерней теме или mu-pluginНужно убрать emoji, лишние стили или точечные подключенияКонтроль, минимум лишнего, не зависит от интерфейса плагинаНужно понимать, что отключаете
Плагин для оптимизацииНужно быстро собрать несколько мелких правок в одном местеУдобно для редактора и администратора, меньше ручного кодаЛегко переборщить с настройками
Правка темыПроблема в самой теме или её шаблонахМожно убрать источник дублирования напрямуюОбновления темы могут затереть изменения

Если вам нужен более широкий набор инструментов для чистки WordPress, иногда удобнее использовать специализированный плагин вроде Clearfy Pro: он закрывает часть типовых задач по отключению лишнего и удалению дублей, но его тоже нужно настраивать аккуратно, а не включать всё сразу.

Как проверить, что решение сработало

После правок не ограничивайтесь визуальной проверкой. Сайт может выглядеть нормально, но лишние ресурсы всё ещё грузятся.

  • Откройте исходный код страницы и найдите wp-emoji-release.min.js — его быть не должно.
  • Проверьте вкладку Network: количество запросов к CSS/JS должно уменьшиться только там, где вы действительно отключили ресурсы.
  • Сравните страницу до и после в Lighthouse или PageSpeed Insights.
  • Проверьте записи, страницы и архивы отдельно: иногда отключение работает на главной, но не на шаблоне записи.
  • Пройдитесь по формам, меню, слайдерам и виджетам, если вы трогали jQuery или block-library.

Если после отключения блоков у вас «поплыла» сетка или исчезли стили кнопок, значит вы убрали не только лишнее, но и нужное. В этом случае откатите последний шаг и отключайте ресурсы точечно, а не глобально.

Частые ошибки и как их исправить

Отключили не тот хук

Иногда копируют код из старой статьи и вставляют его в неправильное место. Например, пытаются убирать стили до того, как тема их зарегистрировала. В результате ничего не меняется. Для таких задач обычно используют wp_enqueue_scripts с приоритетом, который позволяет отработать после темы и плагинов.

Удалили jQuery из страха перед «лишним весом»

Это одна из самых частых ошибок. WordPress и плагины завязаны на jQuery гораздо чаще, чем кажется. Если вы не уверены, кто использует библиотеку, не заменяйте её на CDN и не удаляйте без тестов.

Отключили block-library, а потом сломали контент

Если в записи есть кнопки, колонки, галереи или другие блоки, стили могут быть нужны. В таком случае лучше отключать только на шаблонах, где блоков нет, или оставить часть стилей.

Смешали оптимизацию с кэшированием

Иногда после правок кажется, что ничего не изменилось, но на самом деле браузер или плагин кэша отдает старую версию. Очистите кэш плагина, серверный кэш и кэш браузера, затем повторите проверку в режиме инкогнито.

Безопасность и производительность: что не стоит делать

Оптимизация должна быть обратимой. Не вносите такие правки прямо в родительскую тему, если она обновляется. Не отключайте ресурсы «на глаз» без списка зависимостей. И не используйте сомнительные сниппеты, которые обещают убрать всё лишнее одной строкой: в WordPress почти всегда есть нюансы по шаблонам и плагинам.

Если у вас много точечных оптимизаций, удобнее собрать их в отдельный mu-plugin. Тогда код не потеряется при смене темы и его проще отключить для диагностики.

<?php
/**
 * Plugin Name: WPedu Optimizations
 */

add_action( 'init', function() {
    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' );
} );

Такой подход удобен тем, что вы отделяете оптимизацию от темы и не теряете её при обновлениях.

Практический чек-лист перед публикацией изменений

  • Проверить, какие именно ресурсы грузятся до правок.
  • Сделать изменения в дочерней теме или mu-plugin.
  • Очистить кэш сайта и браузера.
  • Сравнить исходный код страницы до и после.
  • Проверить формы, меню, блоки и виджеты.
  • Откатить последний шаг, если сломалась верстка или скрипты.

Если задача шире, чем отключение emoji и дублей, и вам нужно регулярно чистить WordPress от лишнего, имеет смысл смотреть в сторону инструментов, которые помогают управлять дублями и техническими настройками без ручного редактирования каждого шаблона. Но даже в этом случае сначала полезно понять источник проблемы, а уже потом выбирать способ её убрать.

×

AI-плагин от WPShop.ru

анализирует конкурентов

пишет статьи

готовит SEO

генерирует изображения

и еще кое-что...
WPGPT
Плагин, который наполняет ваш сайт WordPress
Узнать больше