wplang.ru wordpress WP Lang

Как отключить Dashicons на фронтенде в WordPress без поломки админки

Dashicons часто остаются на фронтенде даже тогда, когда тема и плагины их уже не используют. На небольшом сайте это не выглядит критично, но в отчётах по производительности лишний CSS-файл и лишние запросы быстро всплывают. Проблема в том, что отключать Dashicons «везде» нельзя: админка, кастомайзер и некоторые плагины могут продолжать на них опираться.

Ниже — рабочий сценарий: как убрать Dashicons только на публичной части сайта, как проверить, что ничего не сломалось, и где чаще всего ошибаются.

Когда Dashicons действительно можно отключать

Сначала стоит понять, откуда они вообще подключаются. WordPress регистрирует набор иконок Dashicons как отдельный стиль, а темы и плагины могут добавлять его на фронтенд через wp_enqueue_style(). Если вы видите в исходном коде страницы ссылку на dashicons.min.css, но на сайте нет элементов, которые используют классы вида dashicons, этот файл часто можно убрать.

Типичный признак лишней загрузки

  • в исходнике страницы есть wp-includes/css/dashicons.min.css;
  • в DevTools на вкладке Network файл загружается на каждой публичной странице;
  • в теме нет иконок WordPress-стиля, а плагины используют SVG или свои наборы;
  • в Lighthouse или PageSpeed файл отмечается как лишний для рендера, хотя сам по себе он небольшой.

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

Диагностика: кто подключает Dashicons

Самый надёжный способ — посмотреть, загружается ли стиль на фронтенде и откуда. В браузере откройте исходный код страницы или вкладку Network и найдите dashicons.min.css. Если файл подключён, это ещё не значит, что его можно удалить: нужно понять, не делает ли это ядро WordPress для конкретного сценария или плагин для публичной части.

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

add_action( 'wp_print_styles', function () {
    if ( is_admin() ) {
        return;
    }

    global $wp_styles;

    if ( empty( $wp_styles ) || empty( $wp_styles->queue ) ) {
        return;
    }

    error_log( 'Styles queue: ' . implode( ', ', $wp_styles->queue ) );
}, 999 );

После загрузки страницы посмотрите debug.log. Если в очереди есть dashicons, вы сможете понять, что стиль действительно подключается на фронтенде, а не только в админке.

Как отключить Dashicons только для посетителей

Для большинства сайтов достаточно снять регистрацию стиля на фронтенде, но оставить его в админке. Делается это через wp_dequeue_style() и wp_deregister_style() на хуке wp_enqueue_scripts.

add_action( 'wp_enqueue_scripts', function () {
    if ( is_admin() ) {
        return;
    }

    wp_dequeue_style( 'dashicons' );
    wp_deregister_style( 'dashicons' );
}, 100 );

Здесь важен приоритет 100: он даёт шанс теме и плагинам сначала подключить свои стили, а потом уже снять Dashicons, если они действительно не нужны на фронтенде. Если поставить слишком ранний приоритет, стиль может быть снова добавлен позже.

Когда этого недостаточно

Иногда Dashicons подключаются не напрямую, а через кастомный код темы или плагина. Тогда одного wp_dequeue_style() мало: стиль может вернуться в очереди после вашего хука. В таком случае ищите место, где вызывается wp_enqueue_style( 'dashicons' ), и убирайте подключение точечно.

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

Сравнение подходов

СпособГде удобенМинус
Код в теме или mu-pluginКогда нужен точный контрольНужно следить за обновлениями и тестировать после изменений
Плагин для оптимизацииКогда править код неудобноМожет быть лишняя логика и больше настроек, чем нужно
Ничего не делатьЕсли Dashicons реально используются на фронтендеЛишний CSS остаётся в публичной части сайта

Проверка результата после внедрения

После добавления кода не ограничивайтесь визуальной проверкой главной страницы. Нужно убедиться, что стиль исчез именно там, где вы его отключали, и не затронул админку.

  • Откройте фронтенд сайта и проверьте исходный код: ссылки на dashicons.min.css быть не должно.
  • Проверьте вкладку Network: файл Dashicons не должен загружаться для публичной страницы.
  • Зайдите в админку WordPress: интерфейс должен работать как раньше.
  • Если используете кастомайзер или редактор блоков, проверьте их отдельно.

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

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

Отключили Dashicons через wp_dequeue_style(), но файл всё равно грузится

Причина обычно в приоритете хука или в повторном подключении со стороны темы/плагина. Попробуйте более поздний приоритет и проверьте, кто именно добавляет стиль в очередь.

Сломались иконки в меню или в шапке

Значит, фронтенд действительно использовал Dashicons. В этом случае не отключайте стиль глобально. Лучше заменить иконки на SVG или оставить Dashicons только для нужных шаблонов.

Удалили стиль из functions.php и забыли про обновления темы

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

Проверяли только главную страницу

На внутренних страницах, в архиве, в шаблоне автора или в отдельном лендинге Dashicons могут использоваться по-разному. Проверяйте несколько типовых URL, а не один экран.

Что учесть по безопасности и производительности

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

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

Если нужен более широкий набор инструментов для чистки сайта, отключения дублей и контроля фронтенд-ресурсов, можно посмотреть Clearfy Pro: https://wpshop.ru/plugins/clearfy. Но и в этом случае базовая логика остаётся той же: сначала диагностика, потом точечное отключение, потом проверка на реальных страницах.

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

  • Проверил, что Dashicons реально загружаются на фронтенде.
  • Убедился, что публичные иконки не завязаны на этот набор.
  • Добавил отключение на wp_enqueue_scripts, а не в случайное место.
  • Проверил главную, внутреннюю страницу и шаблон с иконками.
  • Не трогал админку и редактор без необходимости.

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

×
-15%
на премиум-тему
Bono

Создай магазин мечты
на WordPress!

↓ ↓ ↓ ↓ ↓
Купить со скидкой »