GeneratePress — легкая и быстрая тема для WordPress, но иногда даже она загружает дополнительные CSS и JS файлы, которые не всегда нужны на всех страницах сайта. Это влияет на скорость загрузки, увеличивает время отклика и ухудшает пользовательский опыт. В этой статье мы разберем, как вручную отключить или удалить эти лишние ресурсы, не используя плагины, чтобы максимально оптимизировать производительность сайта.
Почему важно удалять ненужные CSS и JS в GeneratePress
Каждый CSS и JS файл увеличивает количество запросов к серверу. Чем больше таких файлов, тем дольше браузер загружает страницу. Для современных сайтов критична скорость, особенно на мобильных устройствах и с медленным интернетом. GeneratePress подключает базовые стили и скрипты, но если вы используете дополнительные функции темы или дочерней темы, либо кастомные вставки, там тоже могут появляться ресурсы, которые не нужны на каждой странице.
Удаление неиспользуемых стилей и скриптов помогает:
- Уменьшить время загрузки страницы
- Снизить нагрузку на сервер
- Улучшить оценку скорости в Google PageSpeed Insights и других сервисах
- Улучшить SEO и пользовательский опыт
Как определить, какие CSS и JS файлы можно отключить
Для начала нужно понять, что именно подключается на вашем сайте. Для этого используйте инструменты браузера:
- Откройте сайт в Google Chrome
- Нажмите
F12для открытия панели разработчика - Перейдите во вкладку Network и обновите страницу
- Отфильтруйте по типу файлов: CSS и JS
- Посмотрите URL файлов, чтобы понять, что подключается (например, generatepress.css, или кастомные скрипты)
Также можно использовать плагины типа Clearfy для анализа подключаемых ресурсов, но в этой статье мы разберем ручной способ.
Удаление CSS и JS файлов в GeneratePress через functions.php
WordPress дает возможность отключать стили и скрипты с помощью функции wp_dequeue_style и wp_dequeue_script. В GeneratePress основные стили и скрипты имеют определённые имена, которые можно отключить.
Пример кода для удаления базового файла стилей темы GeneratePress и jQuery (если вы точно не используете jQuery):
add_action('wp_enqueue_scripts', 'generatepress_remove_assets', 20);
function generatepress_remove_assets() {
// Удаляем основной CSS GeneratePress
wp_dequeue_style('generate-style');
wp_deregister_style('generate-style');
// Удаляем jQuery (если не используется)
wp_dequeue_script('jquery');
wp_deregister_script('jquery');
}
Однако стоит быть осторожным, потому что удаление основных CSS приведет к слому стилей вашего сайта. Этот пример показан для демонстрации. Вместо полного удаления стилей можно отключить дополнительные стили из модулей темы.
Отключение ненужных модулей GeneratePress
GeneratePress Pro подключает дополнительные CSS и JS для модулей, например, для меню, блога, WooCommerce и т.п. Их можно отключить, если вы не используете соответствующий функционал.
Чтобы отключить стили модулей, используйте такой код:
add_filter('generate_disable_elements', 'generatepress_disable_modules_styles');
function generatepress_disable_modules_styles($elements) {
// Пример: отключаем стили меню и блога
$elements[] = 'nav';
$elements[] = 'blog';
return $elements;
}
Подробности по названиям элементов можно посмотреть в документации GeneratePress, но обычно это: nav, blog, footer, woo для WooCommerce и т.д.
Отключение скриптов GeneratePress
Чтобы отключить скрипты, используемые темой, например, для плавного скролла, меню и других эффектов, можно использовать:
add_action('wp_enqueue_scripts', 'generatepress_remove_scripts', 20);
function generatepress_remove_scripts() {
wp_dequeue_script('generate-scripts');
wp_deregister_script('generate-scripts');
}
Если вы отключаете скрипты, убедитесь, что не ломаете функционал сайта. Для теста лучше делать это на стадии разработки или использовать дочернюю тему.
Удаление CSS и JS плагинов, влияющих на GeneratePress
Кроме стилей и скриптов темы, на сайт могут подключаться ресурсы плагинов. Для примера, если вы используете плагин WPRemark для отзывов, то его CSS и JS могут грузиться на всех страницах. Чтобы загрузка была только на нужных, можно проверить условие и отключать скрипты на ненужных страницах.
Пример кода:
add_action('wp_enqueue_scripts', 'generatepress_conditionally_dequeue_plugin_assets', 20);
function generatepress_conditionally_dequeue_plugin_assets() {
if (!is_page('otzyvy')) { // Замените 'otzyvy' на ID или slug страницы с отзывами
wp_dequeue_style('wpremark-style');
wp_dequeue_script('wpremark-script');
}
}
Такой подход можно применить к любым плагинам, стили и скрипты которых вы хотите загружать выборочно.
Автоматизация оптимизации с помощью Clearfy
Если вы хотите более простой способ без написания кода, советуем обратить внимание на Clearfy. Этот плагин позволяет управлять подключением CSS и JS, отключать ненужные ресурсы, оптимизировать сайт и повысить скорость без глубоких знаний в коде.
Советы для безопасного удаления CSS и JS в GeneratePress
- Перед изменениями сделайте бэкап сайта
- Используйте дочернюю тему для внесения изменений в functions.php
- Проверяйте сайт после отключения каждого файла на предмет ошибок и сломанных элементов
- Не отключайте базовые стили, если не уверены, что заменяете их своими
- Используйте инструменты аудита скорости (Google PageSpeed, GTMetrix), чтобы оценить эффект
Выводы
Удаление ненужных CSS и JS файлов в GeneratePress — мощный способ ускорить сайт. Благодаря WordPress API, это можно сделать без плагинов, но с вниманием к деталям и тестированием. Такой подход особенно полезен на сайтах с большим трафиком и сложным функционалом. Комбинируйте ручные методы с проверенными плагинами вроде Clearfy для максимального результата.