С течением времени на сайте WordPress может накопиться большое количество старых версий плагинов, особенно если вы часто обновляете плагины вручную или используете автоматические системы обновления. Эти старые версии занимают место на сервере, увеличивают размер резервных копий и могут создавать потенциальные риски безопасности. В этой статье я подробно расскажу, как найти и удалить старые версии плагинов WordPress, чтобы очистить пространство и оптимизировать работу сайта.
Почему в WordPress остаются старые версии плагинов
Когда вы обновляете плагин в WordPress, новая версия обычно заменяет файлы старой, однако WordPress сохраняет резервные копии предыдущих версий в папке wp-content/upgrade или в wp-content/plugins в виде временных директорий. Это сделано для возможности отката к предыдущей версии, если новая вызывает ошибки.
Но эти резервные копии не всегда удаляются автоматически, и со временем их количество может вырасти до нескольких сотен мегабайт. Особенно это актуально на хостингах с ограниченным дисковым пространством.
Также некоторые плагины при обновлении создают свои резервные копии в отдельных папках, например, для возможности отката или сохранения настроек, что тоже увеличивает нагрузку на файловую систему.
Как найти старые версии плагинов на сервере
Для начала нужно определить, где именно хранятся старые версии. Вот несколько стандартных мест:
wp-content/upgrade- временная папка для распаковки обновлений.wp-content/plugins- иногда старые версии остаются в подпапках с префиксом или суффиксом типа-backupили с датой обновления.- Папки плагинов с резервными копиями, например
wp-content/plugins/plugin-name/backups.
Для поиска таких папок можно использовать SSH и команду:
find wp-content/plugins -type d -name '*backup*' -o -name '*old*' -o -name '*-copy*'Или искать большие папки по размеру с помощью:
du -h wp-content/plugins | sort -hr | head -20После выявления подозрительных папок можно проверить их содержимое и при необходимости удалить.
Удаление старых версий через PHP-скрипт WordPress
Если вы не хотите заходить на сервер вручную, можно написать простой PHP-скрипт, который автоматизирует поиск и удаление старых версий. Ниже пример функции wptricks_remove_old_plugin_versions(), которая ищет папки с префиксами backup, old и удаляет их.
function wptricks_remove_old_plugin_versions() {
$plugin_dir = WP_CONTENT_DIR . '/plugins';
$dirs = scandir($plugin_dir);
$deleted = 0;
foreach ($dirs as $dir) {
if (in_array($dir, array('.', '..'))) continue;
$path = $plugin_dir . '/' . $dir;
if (is_dir($path) && preg_match('/(backup|old|copy)/i', $dir)) {
wptricks_rrmdir($path);
$deleted++;
}
}
return $deleted;
}
function wptricks_rrmdir($dir) {
if (!is_dir($dir)) return;
$objects = scandir($dir);
foreach ($objects as $object) {
if ($object == '.' || $object == '..') continue;
$path = $dir . '/' . $object;
if (is_dir($path)) {
wptricks_rrmdir($path);
} else {
unlink($path);
}
}
rmdir($dir);
}Эту функцию можно вызвать из консоли WP-CLI или через админку в файле темы (после чего удалить код).
Плагины для управления и очистки старых версий
Если хотите использовать готовые решения, обратите внимание на плагины:
- WP-Optimize — отлично подходит для очистки базы данных и удаления мусора, включая неиспользуемые версии плагинов.
- Advanced Database Cleaner — позволяет управлять ревизиями и очисткой временных файлов.
- Clearfy Pro — предлагает расширенные инструменты оптимизации, в том числе очистку старых и временных файлов WordPress.
Для установки любого из них используйте панель WordPress или скачайте с https://wpshop.ru/ с соответствующими utm-метками.
Как предотвратить накопление старых версий плагинов
Чтобы не сталкиваться с проблемой постоянно, нужно организовать процесс обновления и очистки:
- Используйте автоматические обновления плагинов с контролем через WP-CLI или плагины.
- Настройте регулярную очистку временных папок (
wp-content/upgrade). Например, с помощью CRON-задания, которое будет удалять файлы старше 3 дней. - Проверяйте, не создают ли используемые плагины собственные резервные копии, и периодически очищайте их.
Пример CRON-скрипта для очистки папки upgrade старше 3 дней:
find /path/to/wordpress/wp-content/upgrade -type f -mtime +3 -exec rm {} \;Выводы и рекомендации
Удаление старых версий плагинов — простая, но важная задача для поддержания чистоты и производительности сайта. Используйте комбинацию ручного поиска, скриптов и проверенных плагинов для автоматизации. Обязательно делайте резервные копии перед массовыми удалениями.
Если вы хотите комплексное решение для оптимизации WordPress, рассмотрите Clearfy Pro, который позволяет управлять многими аспектами вашего сайта, включая очистку лишних данных (подробнее на wpshop.ru).