Как автоматизировать удаление старого и неиспользуемого кода в WordPress

В процессе развития проекта на WordPress со временем в коде накапливаются устаревшие функции, неиспользуемые хуки и лишние стили или скрипты, которые замедляют работу сайта и усложняют поддержку. В этой статье подробно разберём, как можно автоматизировать выявление и удаление такого «мусора» в коде WordPress с помощью доступных инструментов и собственного кода.

Почему важно удалять старый и неиспользуемый код в WordPress

Со временем в проекте появляются устаревшие функции, которые больше не вызываются, старые скрипты и стили, подключаемые на всех страницах, а также неиспользуемые хуки и фильтры. Это приводит к нескольким проблемам:

  • Увеличение времени загрузки страниц из-за лишних HTTP-запросов и выполнения лишнего кода.
  • Рост риска конфликтов между плагинами и темами.
  • Повышение сложности поддержки и внедрения новых функций.
  • Увеличение размера базы данных, если неочищенный код связан с хранением данных.

Автоматизация удаления такого кода позволяет поддерживать проект в чистоте и оптимизировать производительность без постоянного ручного аудита.

Инструменты для анализа и выявления неиспользуемого кода в WordPress

Для начала нужно выявить, какой именно код можно удалить без вреда. Для этого существуют следующие методы и инструменты.

Плагины для поиска неиспользуемого CSS и JavaScript

Некоторые плагины помогают определить неиспользуемые стили и скрипты:

  • Asset CleanUp — позволяет отключать загрузку отдельных CSS/JS файлов на выбранных страницах, тем самым выявляя ненужные ресурсы.
  • Perfmatters — похож по функционалу, но также содержит дополнительные опции оптимизации.

Используйте эти плагины для поэтапного отключения и тестирования, какие ресурсы действительно не влияют на функционал.

Статический анализ PHP-кода

Для выявления неиспользуемых функций и хуков в PHP-коде можно применять статические анализаторы кода, например:

  • PHPStan — мощный инструмент для анализа PHP-кода, который поможет найти неиспользуемые функции и переменные.
  • Psalm — ещё один статический анализатор с похожими возможностями.

Для запуска анализа достаточно настроить инструмент на директорию с кодом плагинов и темы, после чего получить отчёт с рекомендациями.

Логирование вызовов хуков и функций

Иногда полезно логировать вызовы определённых хуков или функций, чтобы понять, насколько часто они используются. Для этого можно внедрить небольшой код, который будет записывать обращения в отдельный лог-файл или в базу данных.

function wpengine_log_hook_calls($hook_name) {
    $log_file = WP_CONTENT_DIR . '/hook-calls.log';
    $entry = date('Y-m-d H:i:s') . " - Hook called: " . $hook_name . "\n";
    file_put_contents($log_file, $entry, FILE_APPEND);
}

add_action('all', function($hook_name) {
    wpengine_log_hook_calls($hook_name);
});

Этот пример логирует все хуки, вызываемые на сайте, что позволяет понять, какие из них реально активны.

Автоматизация удаления кода — практические решения

После того как вы определили, какой код не используется, можно автоматизировать его удаление и отключение.

Автоматическое отключение неиспользуемых скриптов и стилей

Используя фильтры WordPress, можно программно отключать ненужные ресурсы на определённых страницах. Например:

function wpengine_dequeue_unused_assets() {
    if ( ! is_page('contact') ) {
        wp_dequeue_style('contact-form-7');
        wp_dequeue_script('contact-form-7');
    }
}
add_action('wp_enqueue_scripts', 'wpengine_dequeue_unused_assets', 100);

Этот код отключает подключение стилей и скриптов плагина Contact Form 7 на всех страницах, кроме страницы с контактной формой.

Удаление устаревших функций с помощью фильтров и хуков

Если в вашем проекте есть старые хуки, которые больше не нужны, их можно удалить через функцию remove_action или remove_filter. Чтобы автоматизировать этот процесс, создайте массив с неиспользуемыми хуками и отключайте их динамически:

function wpengine_remove_unused_hooks() {
    $unused_hooks = [
        ['action', 'old_hook_name', 10],
        ['filter', 'old_filter_name', 20],
    ];
    foreach ($unused_hooks as $hook) {
        list($type, $name, $priority) = $hook;
        if ($type === 'action') {
            remove_action($name, '__return_false', $priority); // замените '__return_false' на реальное имя функции
        } elseif ($type === 'filter') {
            remove_filter($name, '__return_false', $priority); // замените '__return_false' на реальное имя функции
        }
    }
}
add_action('init', 'wpengine_remove_unused_hooks');

Такой подход позволяет централизованно управлять отключением устаревших хуков.

Автоматическое удаление неиспользуемых опций из базы данных

Часто в базе данных остаются записи с настройками плагинов, которые уже не используются. Для автоматизации очистки можно написать функцию, которая удалит определённые опции по списку:

function wpengine_cleanup_unused_options() {
    $options_to_delete = [
        'old_plugin_option1',
        'unused_theme_setting',
    ];
    foreach ($options_to_delete as $option_name) {
        delete_option($option_name);
    }
}
register_activation_hook(__FILE__, 'wpengine_cleanup_unused_options');
<

Этот код запустится при активации плагина и удалит указанные опции из таблицы wp_options.

Рекомендуемые плагины для поддержки чистоты кода и оптимизации

Для упрощения задачи можно использовать готовые плагины, которые автоматизируют часть процесса:

  • Clearfy Pro — позволяет отключать неиспользуемые функции WordPress и оптимизировать код без ручного вмешательства.
  • WPengine Expert Review — помогает анализировать качество кода и выдаёт рекомендации по удалению устаревших элементов.
  • Asset CleanUp — как упоминалось выше, для управления подключаемыми ресурсами.

Использование этих инструментов вместе с описанными методами создаёт мощный арсенал для автоматизации удаления лишнего кода.

Советы по поддержанию чистоты кода в долгосрочной перспективе

Чтобы не допустить накопления «мусора» в коде, придерживайтесь следующих рекомендаций:

  • Регулярно проводите аудит подключаемых плагинов и тем, удаляйте неиспользуемые.
  • Используйте систему контроля версий (например, Git) и ведите документацию изменений.
  • Внедряйте автоматические тесты на интеграцию, чтобы быстро выявлять и удалять устаревший код.
  • При разработке новых функций сразу учитывайте возможность их отключения без ущерба для системы.

Следуя этим советам, вы обеспечите стабильность и производительность вашего WordPress-сайта без лишних затрат времени на поддержку.

Для дополнительной автоматизации управления кодом и оптимизации рекомендуем ознакомиться с плагином Clearfy Pro, который поможет быстро отключить неиспользуемые функции и очистить систему от лишнего.

Автоматизация отключения неиспользуемых плагинов в WordPress на WPengine
26.01.2026
Оптимизация WordPress для быстрой загрузки сайта: практические методы и примеры
05.11.2025
Как избежать конфликтов между плагинами в WordPress: практические советы и примеры
15.03.2026
WooCommerce: решение проблем с автоматическим удалением товаров без заказов
28.05.2026
Как создать автоматические задачи в WordPress с помощью WP-Cron
22.01.2026