WP Block Library — это набор стилей и скриптов, которые WordPress загружает для поддержки редактора блоков Gutenberg и блока контента на фронтенде. По умолчанию эти файлы подгружаются на всех страницах сайта, что может негативно влиять на скорость загрузки и производительность, особенно если на сайте мало или вовсе не используются блоки Gutenberg.
Что такое WP Block Library и почему она влияет на производительность
WP Block Library включает CSS и JS для отображения блоков, таких как параграфы, заголовки, списки, галереи, кнопки и другие. Эти стили нужны, чтобы блоки выглядели корректно и были интерактивными. Но если ваш сайт построен преимущественно на классическом редакторе или кастомных темах без блоков, большая часть этих ресурсов просто загружается впустую.
Подгрузка лишних CSS и JS увеличивает время отклика сервера, размер загружаемых данных и время рендеринга страницы у пользователя. Особенно это заметно на мобильных устройствах и при медленном интернете.
Как определить, загружаются ли стили WP Block Library на сайте
Чтобы проверить, используются ли эти файлы, откройте любую страницу сайта в браузере и через инструменты разработчика (обычно F12) перейдите во вкладку Network. Отфильтруйте ресурсы по типу CSS и JS и найдите файлы, содержащие wp-block-library в имени.
Если вы видите их на страницах, где блоки не используются, значит эти стили и скрипты можно отключить, чтобы ускорить сайт.
Способы отключения WP Block Library на фронтенде
Отключать WP Block Library следует аккуратно, чтобы не сломать отображение блоков, если они реально есть. Рассмотрим несколько вариантов.
Отключение через functions.php — полный запрет загрузки
Если вы уверены, что блоки Gutenberg на сайте не используются, можно полностью отключить загрузку стилей и скриптов блока:
function wplessons_disable_wp_block_library() {
if (!is_admin()) {
wp_dequeue_style('wp-block-library');
wp_dequeue_style('wp-block-library-theme');
wp_dequeue_style('wc-block-style'); // если WooCommerce
wp_dequeue_script('wp-block-library');
}
}
add_action('wp_enqueue_scripts', 'wplessons_disable_wp_block_library', 100);Этот код удалит стили и скрипты WP Block Library на всех страницах сайта кроме админки.
Условное отключение для страниц без блоков
Если на сайте есть страницы с блоками и без блоков, можно отключать библиотеку только на нужных страницах. Например, на страницах с классическим редактором:
function wplessons_conditional_disable_block_library() {
if (!is_admin() && !is_singular()) {
wp_dequeue_style('wp-block-library');
wp_dequeue_style('wp-block-library-theme');
}
}
add_action('wp_enqueue_scripts', 'wplessons_conditional_disable_block_library', 100);Здесь стили отключаются на всех страницах, кроме одиночных записей, где, возможно, используются блоки.
Использование плагинов для оптимизации загрузки WP Block Library
Если вы не хотите писать код, можно использовать плагины, которые помогут оптимизировать загрузку стилей и скриптов.
Clearfy Pro
Плагин Clearfy Pro содержит опции для отключения загрузки WP Block Library и других ненужных скриптов на фронтенде. Это особенно полезно, если вы хотите гибко управлять ресурсами без правки кода.
Asset CleanUp
Плагин Asset CleanUp позволяет вручную отключать стили и скрипты на страницах сайта. Вы можете отключить wp-block-library на страницах, где он не нужен, экономя трафик и ускоряя загрузку.
Практические советы по оптимизации
1. Тестируйте сайт после отключения WP Block Library, чтобы убедиться, что внешний вид блоков не сломался.
2. Если используете WooCommerce, подумайте, стоит ли отключать wc-block-style, так как это может повлиять на оформление магазина.
3. Используйте инструменты типа Google PageSpeed Insights или GTmetrix, чтобы оценить прирост производительности.
4. Комбинируйте отключение WP Block Library с другими методами оптимизации — кешированием, минификацией и CDN.
Код для восстановления стилей при необходимости
Если вдруг после отключения стилей вы заметили проблемы, можно selectively вернуть их для определенных постов или страниц, используя условные теги WordPress:
function wplessons_restore_block_library_for_post($enqueue) {
if (is_singular('post') && $enqueue) {
wp_enqueue_style('wp-block-library');
wp_enqueue_style('wp-block-library-theme');
}
}
add_action('wp_enqueue_scripts', 'wplessons_restore_block_library_for_post');Этот код снова подключит стили для одиночных записей.
Итоги
Оптимизация загрузки WP Block Library — важный шаг для улучшения скорости WordPress-сайта, особенно если вы не используете блоки или используете их выборочно. Простые решения через functions.php или плагины, такие как Clearfy Pro, помогут снизить нагрузку на сервер и улучшить пользовательский опыт.