При работе с WordPress часто возникает необходимость оптимизировать загрузку страниц, ускорить сайт и уменьшить количество ненужных CSS стилей, которые добавляют плагины. Однако при удалении CSS стилей важно не повредить функционал плагинов, иначе некоторые элементы сайта могут перестать корректно отображаться или работать.
Почему важно удалять CSS стили плагинов и как это влияет на производительность
Многие плагины подключают свои CSS файлы на всех страницах сайта, даже если функционал плагина используется только в определённых местах. Это увеличивает общий вес страницы, замедляет её загрузку и ухудшает пользовательский опыт. Удаление лишних стилей помогает:
- Уменьшить размер страницы и количество HTTP-запросов.
- Избежать конфликтов стилей между плагинами и темой.
- Повысить скорость загрузки и улучшить Core Web Vitals.
Но главное — делать это аккуратно, чтобы не сломать отображение функционала плагинов.
Основные методы удаления CSS стилей плагинов в WordPress
Существует несколько способов удаления CSS стилей плагинов:
1. Отключение стилей через фильтры и хуки плагинов
Некоторые популярные плагины предоставляют собственные фильтры для отключения подключения стилей. Например:
add_filter('plugin_handle_enqueue_styles', '__return_false');Но этот метод работает не для всех плагинов, поэтому нужно изучать документацию конкретного плагина.
2. Удаление стилей через wp_dequeue_style в functions.php
Самый универсальный способ — это отписаться от стилей плагина с помощью функции wp_dequeue_style. Для этого нужно знать хендл стиля, который подключает плагин.
Пример удаления стиля плагина Contact Form 7:
function wpskins_dequeue_cf7_styles() {
if ( !is_page('contact') ) { // Оставляем стили только на странице контактов
wp_dequeue_style('contact-form-7');
wp_deregister_style('contact-form-7');
}
}
add_action('wp_enqueue_scripts', 'wpskins_dequeue_cf7_styles', 20);В этом примере стили Contact Form 7 отключаются на всех страницах, кроме страницы с контактом.
3. Удаление стилей с помощью плагинов оптимизации
Плагины Clearfy Pro, WP Rocket и подобные позволяют управлять подключаемыми скриптами и стилями, отключать их на определённых страницах, что удобно для оптимизации без программирования.
Например, в Clearfy Pro есть модуль отключения CSS и JS, где можно указать названия стилей для отключения.
Как определить, какие стили подключает плагин?
Чтобы узнать хендл стиля плагина, выполните следующие действия:
- Откройте исходный код страницы (Ctrl+U) и найдите ссылки на CSS файлы плагина.
- Используйте инструменты разработчика браузера (F12) на вкладке Network — найдите CSS файлы и их имена.
- Вызовите функцию
wp_print_styles()или добавьте отладочный код вfunctions.phpдля вывода зарегистрированных стилей.
Пример отладочного кода вывода стилей:
add_action('wp_enqueue_scripts', 'wpskins_list_all_styles', 100);
function wpskins_list_all_styles() {
global $wp_styles;
echo '<pre>';
print_r($wp_styles->queue);
echo '</pre>';
}Это выведет массив хендлов всех загруженных стилей, среди которых нужно найти нужные плагиновые.
Как удалить CSS стили плагинов без повреждения функционала: рекомендации и советы
Чтобы корректно удалить стили плагина и не повредить его работу, следует придерживаться правил:
- Тестировать изменения на локальной копии сайта. Никогда не делайте изменения напрямую на рабочем сайте без тестирования.
- Отключать стили только на тех страницах, где функционал плагина не используется. Например, если плагин формы есть только на странице контактов — отключайте стили везде, кроме этой страницы.
- Использовать условные теги WordPress. Они позволяют точно определить нужные страницы или типы записей.
- Сохранять резервные копии файлов. Чтобы быстро откатить изменения в случае ошибок.
Пример: отключение стилей плагина Quizle на всех страницах, кроме викторины
Плагин Quizle добавляет свои стили на все страницы. Чтобы отключить их везде, кроме страниц с викторинами, используйте следующий код:
function wpskins_dequeue_quizle_styles() {
if ( !is_singular('quiz') ) { // Если это не страница викторины
wp_dequeue_style('quizle-style');
wp_deregister_style('quizle-style');
}
}
add_action('wp_enqueue_scripts', 'wpskins_dequeue_quizle_styles', 20);Важно заменить 'quizle-style' на настоящий хендл стиля, который можно узнать через инструменты браузера или отладочный код.
Как изменить стили плагинов без удаления: переопределение и минимизация конфликтов
Иногда удалять стили не нужно, а достаточно их изменить или минимизировать конфликт с темой. Для этого:
- Добавьте свои CSS правила в файл темы или в кастомный CSS, используя более специфичные селекторы.
- Используйте
!importantс осторожностью для переопределения. - Если плагин подключает стили через inline CSS, можно использовать JavaScript для их динамического изменения.
Такой подход позволяет сохранить функционал и при этом адаптировать внешний вид под дизайн сайта.
Дополнительные инструменты и плагины для работы с CSS плагинов
Кроме ручного кода, на Clearfy Pro можно найти удобные модули для отключения стилей и скриптов. Также популярные плагины:
- Asset CleanUp — позволяет отключать CSS/JS на выбранных страницах.
- Perfmatters — имеет инструменты для управления загрузкой ресурсов.
- WP Rocket — оптимизация с возможностью исключения файлов.
Использование этих плагинов вместе с собственными настройками помогает добиться максимальной скорости без ущерба функционала.