При развитии и поддержке сайта на WordPress со временем накапливается множество устаревших функций, неиспользуемого кода и блоков, которые могут замедлять работу сайта и создавать риски безопасности. В этой статье мы разберём, как грамотно и безопасно удалять старый код из тем и плагинов, чтобы не нарушить функциональность и не повредить сайт.
Почему важно удалять старый код в WordPress
Старый и неиспользуемый код — это не только лишний вес для сайта, но и потенциальные уязвимости. Многие функции и хуки могут конфликтовать с новыми, а неактуальный код усложняет поддержку и отладку. Регулярное очищение помогает:
- Улучшить производительность сайта;
- Облегчить сопровождение и развитие проекта;
- Уменьшить риски безопасности;
- Сделать код читаемым и поддерживаемым.
Как определить, какой код можно удалить
Перед удалением нужно удостовериться, что код не используется. Для этого:
- Проведите аудит функций и хуков темы и плагинов;
- Используйте инструменты анализа кода, например, PHPStan с настройками под WordPress (ссылка на PHPStan);
- Отследите, вызывается ли функция в шаблонах, хуках или AJAX;
- Проверьте зависимости между функциями и плагинами;
- Используйте логику включения кода — если функция не подключена и не используется, её можно удалить.
Пример: удаление устаревшей функции из functions.php темы
Допустим, в вашей теме есть функция wpfreecourses_remove_old_scripts, которая подключает устаревшие скрипты. Чтобы удалить её, сперва убедитесь, что она нигде не используется:
function wpfreecourses_remove_old_scripts() {
wp_dequeue_script('old-script');
wp_deregister_script('old-script');
}
add_action('wp_enqueue_scripts', 'wpfreecourses_remove_old_scripts');
Если скрипт уже не нужен, удалите функцию и хук:
// Удаляем функцию и хук
remove_action('wp_enqueue_scripts', 'wpfreecourses_remove_old_scripts');
// Удаляем саму функцию из functions.php
Важно сначала удалить хук, чтобы избежать ошибок, если функция удалена, а хук остался.
Как безопасно удалять функции из плагинов
Удаление функций напрямую из плагинов не рекомендуется, так как обновления перезапишут изменения. Лучший подход — отключать функции через хуки или фильтры, если плагин это позволяет, либо создавать дочерние плагины-расширения с переопределением функционала.
Например, плагин Clearfy Pro позволяет отключать ненужные функции через интерфейс. Если же требуется отключить функцию программно, можно использовать:
function wpfreecourses_disable_plugin_feature() {
remove_action('hook_name', 'plugin_function_to_disable');
}
add_action('init', 'wpfreecourses_disable_plugin_feature');
Пример: отключение функции автоматической оптимизации изображений в Clearfy Pro
Если в Clearfy Pro не нужна автоматическая оптимизация, можно отключить её так:
function wpfreecourses_disable_clearfy_image_optimize() {
remove_action('clearfy_image_optimize_hook', 'clearfy_optimize_images');
}
add_action('init', 'wpfreecourses_disable_clearfy_image_optimize');
Тестирование после удаления кода
Перед публикацией изменений обязательно:
- Проверьте сайт в режиме разработчика — включите WP_DEBUG и проверьте на ошибки;
- Протестируйте все функциональные блоки, связанные с удалённым кодом;
- Используйте инструменты мониторинга производительности, чтобы сравнить скорость загрузки;
- Резервируйте файлы и базу данных перед внесением изменений.
Инструменты и плагины для поиска и удаления неиспользуемого кода
Для упрощения задачи можно применять плагины и инструменты:
- Query Monitor — выявляет вызовы функций и хук;
- PHPStan с правилами для WordPress — статический анализ кода;
- Code Sniffer для WordPress Coding Standards — помогает придерживаться стандартов и выявлять устаревший код;
- Clearfy Pro — отключение ненужных функций без правки кода (подробнее).
Подводим итоги: ключевые шаги для безопасного удаления кода в WordPress
- Проведите глубокий аудит и анализ кода;
- Используйте статический анализ и инструменты мониторинга;
- Удаляйте функции и хуки аккуратно, начиная с отключения хуков;
- Тестируйте сайт на всех этапах;
- Используйте возможности плагинов для управления функционалом.
Соблюдая эти рекомендации, вы сможете поддерживать ваш WordPress-сайт чистым, быстрым и безопасным, без риска сломать важные функции.