Одной из частых причин замедления работы WordPress-сайта является загрузка лишних JavaScript и CSS-файлов, которые автоматически подключаются плагинами, темами или ядром WordPress. Они могут быть не нужны на каждой странице, но при этом тратить ресурсы и время загрузки. В этой статье мы подробно разберём, как найти и удалить автозагружаемые и автоподключаемые скрипты в WordPress, чтобы ускорить сайт без потери функционала.
Почему автозагружаемые скрипты влияют на скорость сайта
При каждой загрузке страницы браузер загружает все подключённые скрипты и стили. Если на странице подключено много ненужных файлов, увеличивается время ответа сервера и объём передаваемых данных. Кроме того, избыточные скрипты могут конфликтовать друг с другом, увеличивая нагрузку на клиентскую часть.
Например, плагин может подключать свой скрипт на всех страницах, хотя его функционал нужен только в административной панели или на определённых страницах. Или тема может загружать библиотеку jQuery несколько раз, что тоже снижает производительность.
Удаление лишних скриптов — это один из ключевых шагов в оптимизации сайта, особенно если вы хотите улучшить Core Web Vitals и общее впечатление пользователей.
Как выявить автозагружаемые скрипты и стили в WordPress
Для начала необходимо понять, какие скрипты загружаются на страницах вашего сайта. Для этого можно использовать несколько инструментов:
- Браузерные инструменты разработчика: в Chrome нажмите F12 и перейдите во вкладку Network (Сеть). Отфильтруйте по JS и CSS, чтобы увидеть загружаемые файлы.
- Плагины диагностики: например, Query Monitor (https://ru.wordpress.org/plugins/query-monitor/) показывает загруженные скрипты и стили, а также их источники.
- Плагины оптимизации с функцией анализа подключений, например, Clearfy Pro, который помогает отключать ненужные скрипты.
Обратите внимание на скрипты, которые подключаются на всех страницах без необходимости. Это и есть кандидаты на отключение.
Способы удаления автозагружаемых скриптов и стилей в WordPress
1. Отключение через wp_dequeue_script и wp_dequeue_style
Самый распространённый метод — это отписаться от скриптов и стилей в функции темы или плагина. Для этого используют хуки wp_dequeue_script и wp_dequeue_style. Ниже пример функции для сайта wp-code.ru, которая отключает скрипт и стиль с определённым ключом:
function wpcode_dequeue_unnecessary_assets() {
if (!is_admin()) { // Отключаем только на фронтенде
// Удаляем скрипт по его идентификатору
wp_dequeue_script('example-plugin-script');
wp_deregister_script('example-plugin-script');
// Удаляем стиль
wp_dequeue_style('example-plugin-style');
wp_deregister_style('example-plugin-style');
}
}
add_action('wp_enqueue_scripts', 'wpcode_dequeue_unnecessary_assets', 100);Для правильной работы нужно знать точные идентификаторы скриптов и стилей. Их можно узнать, изучив исходный код страницы или используя Query Monitor.
2. Условное подключение скриптов
Иногда лучше не отключать скрипт полностью, а подключать его только там, где он нужен. Можно написать функцию, которая подключает скрипт, только если выполняется определённое условие:
function wpcode_conditional_enqueue_scripts() {
if (is_page('contact')) {
wp_enqueue_script('contact-form-script', get_template_directory_uri() . '/js/contact-form.js', array('jquery'), null, true);
}
}
add_action('wp_enqueue_scripts', 'wpcode_conditional_enqueue_scripts');Таким образом вы снимаете нагрузку со всех страниц, где скрипт не нужен.
3. Использование плагинов для управления загрузкой скриптов
Если вы не хотите копаться в коде, можно воспользоваться специализированными плагинами, которые позволяют отключать скрипты и стили по страницам или ролям:
- Clearfy Pro — мощный инструмент для оптимизации сайта, включая управление загрузкой ресурсов.
- Asset CleanUp — позволяет отключать лишние CSS и JS прямо из админки.
Практический пример: отключение Google Maps скрипта только на нужных страницах
Допустим, плагин карт подключает Google Maps API на всех страницах, хотя карта нужна только на странице контактов. Чтобы убрать скрипт с остальных страниц, используем следующий код:
function wpcode_dequeue_google_maps() {
if (!is_page('contact')) {
wp_dequeue_script('google-maps-api');
wp_deregister_script('google-maps-api');
}
}
add_action('wp_enqueue_scripts', 'wpcode_dequeue_google_maps', 100);Обязательно проверьте, что скрипт действительно называется google-maps-api, иначе код не сработает. Иначе можно использовать Query Monitor для поиска точного имени.
Особенности отключения скриптов в административной панели
Иногда плагины подключают скрипты и стили в админке, которые замедляют загрузку и мешают работе. Чтобы отключить их, можно использовать хук admin_enqueue_scripts:
function wpcode_dequeue_admin_assets() {
// Отключаем скрипты плагина Example в админке
wp_dequeue_script('example-admin-script');
wp_deregister_script('example-admin-script');
wp_dequeue_style('example-admin-style');
wp_deregister_style('example-admin-style');
}
add_action('admin_enqueue_scripts', 'wpcode_dequeue_admin_assets', 100);Будьте осторожны, чтобы не нарушить работу интерфейса.
Как исключить сторонние скрипты из темы Root или Reboot
Темы из каталога Root и Reboot уделяют внимание минимализму, но иногда плагины добавляют свои скрипты. Для контроля используйте те же методы с wp_dequeue_script. В некоторых случаях можно подключить Clearfy Pro — он отлично интегрируется с этими темами и позволяет тонко настраивать загрузку ресурсов.
Рекомендации для безопасного удаления скриптов
- Всегда делайте бэкап сайта перед внесением изменений.
- Проверяйте работу сайта после отключения скриптов — иногда отключение нужных файлов ломает функционал.
- Используйте дочерние темы или плагины для внесения изменений, чтобы не потерять их при обновлениях.
- Минимизируйте и объединяйте скрипты с помощью плагинов кеширования и оптимизации.
Итоги
Удаление автозагружаемых и автоподключаемых скриптов в WordPress — важный шаг для ускорения сайта и улучшения пользовательского опыта. Используйте wp_dequeue_script и wp_dequeue_style для ручного контроля, или плагин Clearfy Pro для более удобного управления. Не забывайте тщательно тестировать сайт после изменений, чтобы избежать ошибок. Оптимизация загрузки ресурсов поможет вашему WordPress-сайту работать быстрее и стабильнее.