Со временем в проектах на WordPress накапливается много устаревшего, неиспользуемого или конфликтного кода, который может замедлять сайт или создавать угрозы безопасности. В этой статье разберём, как безопасно находить и удалять такой код, не нарушая работу сайта.
Почему важно удалять старый код в WordPress
Старый код — это не только лишний мусор, но и потенциальные точки уязвимостей. Например, забытые функции, устаревшие хуки, неиспользуемые шорткоды или плагины, которые перестали поддерживаться. Их наличие может привести к конфликтам, ошибкам и снижению производительности.
Регулярное удаление старого кода помогает:
- Улучшить скорость загрузки страниц;
- Снизить вероятность конфликтов между плагинами и темами;
- Облегчить поддержку и развитие проекта;
- Повысить безопасность сайта.
Как выявить неиспользуемый код в WordPress
Поиск неиспользуемых шорткодов
Часто в темах и плагинах остаются шорткоды, которые больше не вызываются в контенте. Чтобы их найти, можно использовать SQL-запрос к базе данных для поиска всех шорткодов:
SELECT post_content FROM wp_posts WHERE post_content LIKE '%[shortcode_name%';Если шорткод не найден ни в одном посте, значит, он не используется.
Для автоматизации можно написать функцию wpcoding_check_unused_shortcode(), которая переберёт все зарегистрированные шорткоды и проверит их наличие в контенте.
Анализ хуков и фильтров
Для поиска устаревших хуков используйте плагин Query Monitor, который показывает зарегистрированные хуки и выполняемые фильтры. Если вы видите хуки, которые не вызываются или относятся к удалённым плагинам, их можно безопасно удалить из кода темы или плагина.
Поиск неиспользуемых функций
Инструменты статического анализа, такие как PHPStan с настройкой для WordPress, помогают найти неиспользуемые функции и методы в коде. Это особенно полезно для крупных проектов.
Практические примеры удаления старого кода
Удаление неиспользуемого шорткода
Допустим, у вас остался шорткод [old_shortcode], который больше нигде не используется. Вот как его безопасно удалить:
function wpcoding_remove_old_shortcode() {
remove_shortcode('old_shortcode');
}
add_action('init', 'wpcoding_remove_old_shortcode');После этого проверьте сайт на предмет ошибок. Если всё в порядке, можно удалить функцию полностью из кода.
Удаление устаревшего хука
Если в теме есть хук, например:
add_action('wp_footer', 'wpcoding_old_footer_message');
function wpcoding_old_footer_message() {
echo '<p>Старое сообщение в футере</p>';
}Если это сообщение не нужно, удалите регистрацию хука и функцию:
remove_action('wp_footer', 'wpcoding_old_footer_message');Лучше делать это в дочерней теме или через специальный плагин для кастомных функций, чтобы сохранить возможность восстановления.
Удаление неиспользуемого плагина и связанного кода
Прежде чем удалить плагин, убедитесь, что его функции и хуки больше не используются. Также проверьте, не осталось ли в базе данных опций, которые плагин создавал.
Для удаления опций плагина используйте функцию:
function wpcoding_delete_plugin_options() {
delete_option('plugin_option_name');
delete_site_option('plugin_network_option');
}Эту функцию можно вызвать один раз вручную или через интерфейс WP-CLI:
wp eval 'wpcoding_delete_plugin_options();'Использование плагина Clearfy Pro для автоматизации очистки
Плагин Clearfy Pro помогает автоматически отключать и удалять ненужные функции и оптимизировать базу данных. Он позволяет:
- Удалять неиспользуемые короткие коды;
- Отключать лишние хуки;
- Оптимизировать таблицы базы данных от остатков удалённых плагинов;
- Автоматически очищать метаданные постов и пользователей.
Это значительно упрощает процесс безопасного удаления старого кода без глубокого погружения в PHP.
Рекомендации по безопасному удалению кода
Всегда делайте резервные копии сайта и базы данных перед удалением кода или деактивацией плагинов. Рекомендуется тестировать изменения на локальной копии или staging-сервере.
Используйте контроль версий (Git), чтобы отслеживать изменения в коде и быстро откатывать нежелательные правки.
Внедряйте удаление кода постепенно, поэтапно проверяя работоспособность сайта и отслеживая логи ошибок.
Заключение
Удаление старого и неиспользуемого кода — важный этап поддержки WordPress-сайтов. Используйте комплексный подход: анализируйте шорткоды, хуки, функции и данные в базе, применяйте инструменты автоматизации, такие как Clearfy Pro, и обязательно тестируйте изменения. Это поможет сохранить скорость, безопасность и стабильность вашего сайта.