Во время работы с WordPress многие плагины создают и загружают на сервер дополнительные файлы: временные, кэшированные, лог-файлы, изображения и другие ресурсы. После удаления таких плагинов часто остаются ненужные файлы и папки, которые занимают место и могут замедлять работу сайта. В этой статье мы подробно рассмотрим, как эффективно удалить загруженные файлы после удаления плагинов, используя как готовые инструменты, так и собственные скрипты.
Почему важно удалять файлы плагинов после их удаления
Удаление плагина в WordPress не всегда означает полное удаление всех его данных и файлов. Многие разработчики оставляют за собой право не трогать папки с файлами, чтобы пользователь мог сохранить важные данные. Однако спустя время эти файлы могут стать мусором, занимать дисковое пространство и вызывать конфликты с другими плагинами или темами.
Если не удалять такие файлы, возможны следующие проблемы:
- Переполнение дискового пространства, особенно на хостингах с ограничениями.
- Снижение производительности из-за большого количества кэша и временных файлов.
- Безопасностные риски, если старые логи или бэкапы доступны публично.
- Ошибки и конфликты в работе других плагинов.
Поэтому регулярная очистка – важная часть технического сопровождения сайта.
Как найти файлы удалённых плагинов в WordPress
После удаления плагина нужно определить, какие файлы остались на сервере. Обычно плагин хранит их в одной из следующих директорий:
wp-content/uploads/— медиафайлы, созданные плагином.wp-content/cache/— кэш, если плагин создавал временные данные.wp-content/plugins/имя-плагина/— иногда остаются папки с файлами.wp-content/wflogs/или другие служебные папки (например, плагин безопасности).
Для поиска можно использовать FTP-клиент или файловый менеджер в панели хостинга. Также удобно применять SSH и команду find для поиска по дате изменения или по названию плагина.
Пример команды для поиска файлов, содержащих название плагина «example-plugin» в имени:
find wp-content/uploads/ -name '*example-plugin*'
Удаление файлов плагинов через WP-CLI и PHP-скрипты
Если доступ к командной строке есть, WP-CLI поможет быстро просканировать и удалить ненужные файлы. Например, чтобы удалить папку с остатками, можно выполнить:
wp eval-file delete-plugin-files.php
Где delete-plugin-files.php — скрипт, который удаляет нужные директории.
Пример простого PHP-скрипта для удаления папки с файлами плагина:
<?php
// Функция удаления каталога и всех его файлов
function wpgen_delete_plugin_files($dir) {
if (!is_dir($dir)) return false;
$objects = scandir($dir);
foreach ($objects as $object) {
if ($object != '.' && $object != '..') {
$path = $dir . DIRECTORY_SEPARATOR . $object;
if (is_dir($path)) {
wpgen_delete_plugin_files($path);
} else {
unlink($path);
}
}
}
return rmdir($dir);
}
// Пример вызова для удаления папки с кэшем плагина
$cache_dir = WP_CONTENT_DIR . '/cache/example-plugin-cache';
wpgen_delete_plugin_files($cache_dir);
?>
Этот код можно запустить через стандартный плагин вставки кода или через WP-CLI.
Использование плагинов для очистки файлов после удаления плагинов
Если хочется автоматизировать процесс без написания кода, рассмотрите плагины для очистки и оптимизации:
- Clearfy Pro — помогает отключать ненужные функции и очищать остатки от удалённых плагинов. Поддерживает удаление временных файлов и оптимизацию базы данных. Подробнее на wpshop.ru.
- WP-Optimize — простой плагин для очистки базы и кэшированных файлов.
- Advanced Database Cleaner — удаляет старые таблицы и данные, оставшиеся после деинсталляции плагинов.
Такие плагины можно использовать регулярно для поддержания чистоты и производительности вашего сайта.
Особенности работы с мультсайтами и остатками от плагинов
В случае мультисайтовой установки WordPress, удаление файлов плагинов может быть сложнее, так как файлы могут использоваться на разных сайтах сети. Перед удалением обязательно проверьте, что плагин действительно не нужен ни одному из сайтов. Очистку нужно делать аккуратно, чтобы не повредить данные других сайтов.
Можно использовать условие проверки активных плагинов на всех сайтах через WP-CLI:
wp site list --field=url | xargs -I % wp plugin list --url=% --status=active
Это позволит понять, где еще используется плагин.
Рекомендации по безопасному удалению файлов плагинов
При удалении файлов важно соблюдать осторожность:
- Всегда делайте бэкап сайта и базы данных перед очисткой.
- Проверяйте права доступа к файлам, чтобы избежать ошибок удаления.
- Удаляйте только файлы, связанные с удалённым плагином, чтобы не повредить сайт.
- Используйте безопасные функции PHP и WP-CLI для удаления.
- Регулярно проверяйте состояние сайта после очистки.
Пример автоматического удаления старых папок плагинов через WP-Cron
Для автоматизации можно создать функцию, которая будет запускаться по расписанию и удалять старые файлы от неактивных плагинов.
<?php
// Функция для удаления папок по условию времени
function wpgen_cron_cleanup_plugin_files() {
$dirs_to_check = [
WP_CONTENT_DIR . '/uploads/example-plugin',
WP_CONTENT_DIR . '/cache/example-plugin-cache'
];
foreach ($dirs_to_check as $dir) {
if (is_dir($dir)) {
$last_modified = filemtime($dir);
// Удаляем папку, если не изменялась более 30 дней
if ($last_modified < time() - 30*24*3600) {
wpgen_delete_plugin_files($dir);
}
}
}
}
// Регистрируем событие при активации плагина
register_activation_hook(__FILE__, function() {
if (!wp_next_scheduled('wpgen_cleanup_hook')) {
wp_schedule_event(time(), 'daily', 'wpgen_cleanup_hook');
}
});
// Удаляем событие при деактивации
register_deactivation_hook(__FILE__, function() {
wp_clear_scheduled_hook('wpgen_cleanup_hook');
});
// Хук события
add_action('wpgen_cleanup_hook', 'wpgen_cron_cleanup_plugin_files');
// Функция удаления из предыдущего примера
function wpgen_delete_plugin_files($dir) {
if (!is_dir($dir)) return false;
$objects = scandir($dir);
foreach ($objects as $object) {
if ($object != '.' && $object != '..') {
$path = $dir . DIRECTORY_SEPARATOR . $object;
if (is_dir($path)) {
wpgen_delete_plugin_files($path);
} else {
unlink($path);
}
}
}
return rmdir($dir);
}
?>
Этот код поможет держать папки с остатками под контролем.
Итоговые советы по работе с файлами плагинов в WordPress
Удаление плагина — это только первый шаг. Чтобы полностью очистить сайт от ненужных файлов и повысить производительность, нужно регулярно проверять и удалять остаточные данные. Используйте комбинацию ручных методов, WP-CLI и надежных плагинов, таких как Clearfy Pro, для удобства и безопасности.
Если вы хотите более подробно ознакомиться с возможностями Clearfy Pro, посетите страницу плагина с актуальными предложениями и документацией: Clearfy Pro на WPSHOP.RU.