Как автоматически удалять неиспользуемые медиафайлы в WordPress

В процессе работы с WordPress накапливается множество медиафайлов — изображений, видео, аудио и других файлов, которые со временем перестают использоваться на сайте. Это приводит к увеличению объема занимаемого места на сервере и замедлению работы сайта. В этой статье мы подробно разберем, как автоматически находить и удалять неиспользуемые медиафайлы, используя плагины и собственные решения на PHP.

Почему важно удалять неиспользуемые медиафайлы в WordPress

Каждый загруженный файл хранится в каталоге wp-content/uploads. Со временем папка может содержать сотни и тысячи файлов, многие из которых не используются в постах, страницах, виджетах или других элементах сайта. Это негативно сказывается на:

  • Размере резервных копий — они становятся тяжелее и занимают больше места.
  • Производительности — медиафайлы могут влиять на бэкапы, миграции и даже скорость загрузки сайта.
  • Организации — сложно управлять накопившимися файлами без четкой структуры.

Регулярная очистка медиа-библиотеки позволяет поддерживать сайт в оптимальном состоянии.

Плагины для автоматического удаления неиспользуемых медиафайлов

Для удобства можно использовать специальные плагины, которые анализируют базу данных и содержимое сайта, выявляют неиспользуемые файлы и предлагают их удалить. Рассмотрим несколько популярных решений.

1. Media Cleaner

Плагин Media Cleaner осуществляет сканирование медиафайлов и проверяет, используются ли они где-либо на сайте. Он поддерживает работу с различными типами контента, включая страницы, записи, кастомные типы и метаданные.

Основные возможности Media Cleaner:

  • Поиск неиспользуемых и дублирующихся медиафайлов.
  • Безопасное удаление с возможностью восстановления.
  • Совместимость с WooCommerce и другими плагинами.

Плагин доступен на WPSHOP.RU.

2. WP-Optimize

Хотя WP-Optimize известен как плагин для оптимизации базы данных и кеширования, он также содержит функцию очистки медиа-библиотеки от неиспользуемых файлов. Это удобно, если вы хотите объединить несколько задач в одном плагине.

Самостоятельное решение: скрипт для удаления неиспользуемых изображений

Если вы предпочитаете не использовать сторонние плагины или хотите более тонко контролировать процесс, можно написать собственный скрипт на PHP. Рассмотрим пример функции, которая сканирует базу данных и удаляет медиафайлы, не привязанные к постам.

function wplog_delete_unused_media() {
    global $wpdb;

    // Получаем все ID вложений
    $attachments = $wpdb->get_col("SELECT ID FROM {$wpdb->posts} WHERE post_type = 'attachment'");
    $deleted = 0;

    foreach ($attachments as $attachment_id) {
        // Проверяем, используется ли вложение где-либо
        $is_used = $wpdb->get_var($wpdb->prepare(
            "SELECT COUNT(*) FROM {$wpdb->postmeta} WHERE meta_value = %d",
            $attachment_id
        ));

        if (!$is_used) {
            // Проверяем, есть ли связь с другими постами
            $parent_id = wp_get_post_parent_id($attachment_id);
            if ($parent_id == 0) {
                // Удаляем вложение без удаления из корзины
                wp_delete_attachment($attachment_id, true);
                $deleted++;
            }
        }
    }

    return "Удалено неиспользуемых медиафайлов: " . $deleted;
}

Эту функцию можно запускать из консоли WP-CLI, через крон или подключать к административной части сайта с кнопкой запуска.

Как безопасно удалить неиспользуемые медиафайлы: рекомендации

Автоматизация удаления медиафайлов требует осторожности. Вот несколько рекомендаций:

  • Резервное копирование: Всегда делайте полный бэкап сайта и базы данных перед массовым удалением файлов.
  • Тестирование: Проверяйте скрипты на тестовой копии сайта, чтобы избежать потери нужных данных.
  • Постепенное удаление: Удаляйте файлы небольшими партиями, чтобы отследить возможные проблемы.
  • Внимание к кэшированию: После удаления очищайте кэш сайта и CDN, чтобы обновления были видны пользователям.

Как интегрировать очистку с плагином Clearfy Pro

Если вы используете плагин Clearfy Pro, вы можете дополнительно активировать функции очистки базы данных и оптимизации, которые помогут уменьшить количество мусорных записей, включая ссылки на неиспользуемые медиафайлы.

Clearfy Pro поддерживает настройку автоматической очистки и позволяет запускать задачи по расписанию, что удобно для регулярного поддержания чистоты сайта.

Заключение по теме удаления неиспользуемых медиафайлов

Удаление неиспользуемых медиафайлов в WordPress — важная задача для поддержания производительности и порядка на сайте. Использование плагинов типа Media Cleaner или WP-Optimize облегчает процесс, но если вы хотите более гибкие решения — можно написать собственные скрипты. Главное — соблюдать меры безопасности, делать резервные копии и тестировать изменения.

Как оптимизировать загрузку WordPress без плагинов
24.11.2025
Как удалить неиспользуемые теги в WordPress с помощью кода
05.02.2026
Ограничение количества категорий для постов в WordPress: практическое руководство
24.01.2026
Как сделать уникальный список постов с заказанным порядком в WordPress
01.02.2026
Как сделать автоматический sitemap в WordPress с помощью кода
08.02.2026