Ненужные и нерабочие скрипты в WordPress — частая причина замедления загрузки сайта, снижения показателей Core Web Vitals и ухудшения пользовательского опыта. В этой статье разберемся, как автоматически находить и удалять такие скрипты, чтобы повысить скорость и оптимизировать работу сайта на WordPress.
Почему важно удалять нерабочие скрипты в WordPress
С каждой новой темой или плагином на сайт добавляется множество CSS и JS файлов. Некоторые из них могут быть не задействованы на конкретных страницах, а остальные — конфликтовать между собой или иметь ошибки, приводящие к сбоям и снижению производительности. Удаление неиспользуемых скриптов:
- Снижает количество HTTP-запросов и объем загружаемых данных;
- Уменьшает время рендеринга страницы;
- Устраняет потенциальные конфликты и ошибки в JavaScript;
- Повышает оценки в PageSpeed Insights и других сервисах.
Особенно это актуально для сайтов с большим количеством плагинов и кастомных решений.
Как определить нерабочие и неиспользуемые скрипты
Первый шаг — это идентификация проблемных скриптов. Для этого можно использовать несколько инструментов и способов:
Использование браузерных инструментов разработчика
В Chrome DevTools во вкладке Network можно увидеть все загружаемые ресурсы. Если скрипт загружается, но не используется на странице, его можно пометить к удалению.
Вкладка Coverage позволяет определить, какой процент кода из загруженных файлов реально используется. Для этого откройте DevTools, нажмите Ctrl+Shift+P, найдите Coverage и запустите анализ. Нерабочие скрипты будут иметь низкий процент покрытия.
Плагины для анализа и оптимизации
Плагины как Clearfy Pro содержат функции для отключения скриптов и стилей на выбранных страницах. Можно поочередно отключать пакеты и тестировать работу сайта.
Логирование и ручной аудит
Если на сайте есть кастомные скрипты, можно добавить временное логирование с помощью JavaScript, чтобы понять, вызываются ли функции. Также полезно сверяться с документацией плагинов и тем.
Автоматическое удаление нерабочих скриптов через код
Для удаления скриптов в WordPress используется функция wp_dequeue_script. Чтобы сделать это динамически, можно написать функцию, которая отключает определенные скрипты на выбранных страницах.
Пример функции с префиксом wpkit_ и удалением скрипта jQuery Migrate на всех страницах, кроме админки:
function wpkit_dequeue_unused_scripts() {
if (!is_admin()) {
wp_dequeue_script('jquery-migrate');
}
}
add_action('wp_enqueue_scripts', 'wpkit_dequeue_unused_scripts', 100);Чтобы отключить скрипт плагина example-plugin-script только на главной странице:
function wpkit_dequeue_example_script() {
if (is_front_page()) {
wp_dequeue_script('example-plugin-script');
}
}
add_action('wp_enqueue_scripts', 'wpkit_dequeue_example_script', 100);Таким образом можно постепенно отключать скрипты, проверяя, не ломается ли функционал.
Использование плагинов для автоматизации
Для удобства существуют плагины, которые помогают через интерфейс отключать скрипты и стили на отдельных страницах:
- Clearfy Pro — оптимизация загрузки, отключение неиспользуемых скриптов и стилей;
- Asset CleanUp — позволяет отключать ресурсы постранично;
- Perfmatters — платный, с возможностью тонкой настройки скриптов.
Если вы используете WPRemark для отзывов, убедитесь, что скрипты этого плагина работают только там, где выводятся отзывы, а не на всех страницах.
Как избежать удаления нужных скриптов
Очень важно не отключать критичные для сайта скрипты. Для этого:
- Тестируйте изменения на локальной копии или staging;
- Используйте
wp_dequeue_scriptс проверками условий (страницы, роли пользователя); - Проверяйте консоль браузера на наличие ошибок после отключения;
- Делайте резервные копии перед изменениями.
Иногда скрипты зависят друг от друга, и отключение одного может сломать другой. Поэтому отключение по одному — лучший подход.
Пример комплексного решения автоматического отключения скриптов
Ниже пример функции, которая отключает некоторые скрипты на страницах, где они не нужны, и оставляет их на страницах с нужным функционалом:
function wpkit_conditional_dequeue_scripts() {
if (is_admin()) {
return;
}
// Отключаем скрипты плагина example, если не на странице контактов
if (!is_page('contacts')) {
wp_dequeue_script('example-contact-form');
}
// Отключаем скрипт рейтинга WPRemark, если нет отзывов на странице
if (!is_singular('post') && !is_page('reviews')) {
wp_dequeue_script('wpremark-rating');
}
// Отключаем jQuery Migrate на всех страницах
wp_dequeue_script('jquery-migrate');
}
add_action('wp_enqueue_scripts', 'wpkit_conditional_dequeue_scripts', 100);Такой подход позволяет минимизировать загрузку и ускорить сайт без потери функционала.
Итоги и рекомендации
Удаление нерабочих и неиспользуемых скриптов — обязательный шаг для оптимизации WordPress-сайта. Самостоятельно искать и отключать их можно с помощью браузерных инструментов и кода через wp_dequeue_script. Для удобства используйте проверенные плагины как Clearfy Pro, которые помогут автоматизировать процесс.
При работе с отключением скриптов обязательно тестируйте сайт и делайте резервные копии, чтобы избежать сбоев. Такой подход позволит значительно улучшить скорость и стабильность вашего WordPress-сайта.