В процессе обновления плагинов WordPress на сервере зачастую остаются старые версии, которые занимают дисковое пространство и могут создавать потенциальные риски безопасности. В этой статье мы подробно рассмотрим, как можно найти и удалить старые версии плагинов WordPress, используя как готовые плагины, так и собственные функции.
Почему важно удалять старые версии плагинов WordPress
Когда вы обновляете плагин в WordPress, новая версия устанавливается в отдельную папку, а старая версия обычно остается в архиве в директории wp-content/upgrade или в папке самого плагина, если обновление было не полностью корректным. Эти остатки занимают место и могут содержать уязвимости, особенно если плагин содержит известные баги в старых версиях.
Кроме того, наличие старых версий может создавать путаницу при ручном управлении плагинами и мешать отладке. Регулярное удаление устаревших файлов помогает поддерживать сайт в чистоте и безопасности.
Рассмотрим несколько способов очистки: вручную, с помощью плагинов, и автоматизированно через код.
Удаление старых версий плагинов WordPress вручную через FTP
Самый простой способ — зайти на сервер через FTP или файловый менеджер хостинга и проверить папки:
wp-content/plugins— основная папка с установленными плагинами;wp-content/upgrade— временная папка для обновлений.
В wp-content/upgrade часто остаются архивы старых версий плагинов после обновления. Их можно смело удалять, если обновления прошли успешно.
Однако будьте осторожны и не удаляйте папки самих плагинов, если вы не уверены в необходимости.
Для очистки:
- Подключитесь к сайту через FTP.
- Перейдите в
wp-content/upgrade. - Удалите все архивы и папки, связанные со старыми версиями плагинов.
После этого освободится место на сервере, и сайт будет работать без лишних файлов.
Использование плагинов для удаления старых версий плагинов
Для тех, кто предпочитает автоматизацию, существуют плагины, которые помогают управлять версиями плагинов и удалять ненужные файлы.
Рассмотрим несколько популярных:
WP-Optimize
Этот плагин известен как средство для оптимизации базы данных, но он также позволяет очищать временные файлы, кэш и остатки обновлений, включая старые версии плагинов.
После установки и активации перейдите в раздел "Очистка" и выберите пункты, связанные с временными файлами и кэшем — это поможет удалить ненужные архивы.
Advanced Database Cleaner
Этот плагин позволяет глубоко очистить базу данных и файлы. В числе опций есть удаление временных файлов обновлений. Это удобный способ не только почистить базу, но и избавиться от старых версий плагинов.
WP Lite Cleanup (функционал для wplite.ru)
Представим, что на нашем сайте wplite.ru мы разрабатываем собственный небольшой плагин WPLite_Cleanup, который сканирует папку wp-content/upgrade и удаляет архивы старых плагинов. Ниже пример простой функции, которая это выполняет:
function wplite_cleanup_delete_old_plugin_archives() {
$upgrade_dir = WP_CONTENT_DIR . '/upgrade/';
if (!is_dir($upgrade_dir)) {
return 'Папка upgrade не найдена';
}
$files = scandir($upgrade_dir);
$deleted = [];
foreach ($files as $file) {
if (preg_match('/\.zip$/i', $file)) {
$file_path = $upgrade_dir . $file;
if (unlink($file_path)) {
$deleted[] = $file;
}
}
}
return $deleted ? 'Удалены файлы: ' . implode(", ", $deleted) : 'Архивы не найдены';
}Эту функцию можно вызывать через админ-страницу или wp-cli, чтобы быстро очистить папку от старых архивов плагинов.
Автоматизация удаления старых версий плагинов через хук обновления
Можно настроить автоматическую очистку папки с архивами сразу после обновления плагинов. Для этого используем хук upgrader_process_complete, который срабатывает после обновления, и вызываем функцию очистки.
add_action('upgrader_process_complete', 'wplite_cleanup_after_update', 10, 2);
function wplite_cleanup_after_update($upgrader_object, $options) {
if ($options['type'] === 'plugin' && $options['action'] === 'update') {
wplite_cleanup_delete_old_plugin_archives();
}
}Таким образом, каждый раз после обновления плагина ненужные архивы будут автоматически удаляться, экономя место и упрощая обслуживание.
Рекомендации по безопасности при удалении старых версий
Удаляя старые версии плагинов, убедитесь, что текущие версии работают корректно и сайт стабилен. Не удаляйте файлы, если не уверены, к чему они относятся.
Резервное копирование — обязательный шаг перед любыми чистками. Сделайте бэкап сайта и базы данных, чтобы иметь возможность откатиться в случае проблем.
Используйте проверенные плагины и собственные функции, чтобы избежать случайного удаления важных файлов.
Выводы и лучшие практики
Регулярное удаление старых версий плагинов помогает поддерживать сайт WordPress в порядке, экономит дисковое пространство и снижает риски безопасности.
Выбирайте подходящий способ: если вы предпочитаете ручное управление, используйте FTP для очистки папок, для автоматизации — плагины или собственные функции с хуками.
Обязательно тестируйте все изменения и делайте резервные копии. Таким образом, вы обеспечите стабильную работу сайта и упрощаете его поддержку.