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

Со временем в библиотеке медиафайлов WordPress накапливается много изображений, видео и других файлов, которые уже не используются на сайте. Они занимают место на сервере и могут замедлять работу сайта. В этой статье разберём, как найти и удалить неиспользуемые файлы в Media Library WordPress, используя готовые плагины и собственные скрипты. Это поможет поддерживать сайт в порядке и улучшить его производительность.

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

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

  • Занимают дисковое пространство хостинга;
  • Увеличивают время резервного копирования;
  • Могут замедлять загрузку страницы при неправильной настройке;
  • Создают беспорядок в медиатеке, усложняя поиск нужных файлов.

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

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

Media Cleaner

Один из самых популярных и эффективных плагинов для поиска неиспользуемых файлов — Media Cleaner. Он анализирует базу данных и контент сайта, выявляя файлы, которые нигде не используются.

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

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

Для установки плагина зайдите в админ-панель WordPress, перейдите в раздел «Плагины» → «Добавить новый», введите в поиске «Media Cleaner», установите и активируйте.

Пример использования Media Cleaner Pro (платная версия)

Pro-версия поддерживает интеграцию с WooCommerce, ACF, WPBakery, Elementor, что позволяет точнее находить неиспользуемые изображения в сложных конструкциях сайта.

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

Ручной метод: поиск неиспользуемых файлов с помощью SQL и PHP

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

Основная идея — получить список всех файлов из таблицы wp_posts с типом attachment и проверить, упоминаются ли они в таблице wp_posts с другими типами записей или в метаданных.

Пример функции wpco_find_unused_media_files()

function wpco_find_unused_media_files() {
    global $wpdb;

    // Получаем все ID вложений
    $attachments = $wpdb->get_results("SELECT ID, guid FROM {$wpdb->posts} WHERE post_type = 'attachment'");
    $unused = [];

    foreach ($attachments as $attachment) {
        $file_url = $attachment->guid;
        $id = $attachment->ID;

        // Проверяем наличие ссылки в контенте других записей
        $count = $wpdb->get_var($wpdb->prepare(
            "SELECT COUNT(*) FROM {$wpdb->posts} WHERE post_content LIKE %s",
            '%' . $wpdb->esc_like($file_url) . '%'
        ));

        // Проверяем наличие в метаданных
        $meta_count = $wpdb->get_var($wpdb->prepare(
            "SELECT COUNT(*) FROM {$wpdb->postmeta} WHERE meta_value LIKE %s",
            '%' . $wpdb->esc_like($file_url) . '%'
        ));

        if ($count == 0 && $meta_count == 0) {
            $unused[] = ['ID' => $id, 'url' => $file_url];
        }
    }

    return $unused;
}

// Использование функции
$unused_files = wpco_find_unused_media_files();
if (!empty($unused_files)) {
    foreach ($unused_files as $file) {
        echo 'Неиспользуемый файл: ' . esc_html($file['url']) . "\n";
    }
} else {
    echo 'Неиспользуемых файлов не найдено.';
}

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

Автоматическое удаление неиспользуемых файлов с помощью WP-Cron

Для поддержания медиатеки в чистоте можно настроить автоматический процесс очистки с помощью WP-Cron и функции, подобной приведённой выше.

Пример регистрации задачи в functions.php вашей темы:

function wpco_schedule_media_cleanup() {
    if (!wp_next_scheduled('wpco_media_cleanup_event')) {
        wp_schedule_event(time(), 'weekly', 'wpco_media_cleanup_event');
    }
}
add_action('wp', 'wpco_schedule_media_cleanup');

add_action('wpco_media_cleanup_event', 'wpco_perform_media_cleanup');

function wpco_perform_media_cleanup() {
    $unused_files = wpco_find_unused_media_files();
    foreach ($unused_files as $file) {
        wp_delete_attachment($file['ID'], true);
    }
}

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

Использование плагина Clearfy Pro для оптимизации медиафайлов и удаления мусора

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

Clearfy Pro умеет:

  • Автоматически находить и удалять неиспользуемые изображения;
  • Оптимизировать базу данных;
  • Управлять загрузками и кешем.

Это удобное решение для тех, кто хочет автоматизировать процесс без глубоких технических знаний.

Советы по безопасности и резервному копированию при удалении файлов

Перед удалением медиафайлов обязательно создавайте резервную копию сайта и базы данных. В случае ошибки вы сможете быстро восстановить данные.

Также рекомендуется:

  • Проводить удаление на тестовом сайте;
  • Использовать функции предварительного просмотра удаляемых файлов;
  • Не удалять файлы, если вы не уверены в их использовании на сайте;
  • Следить за совместимостью с используемыми плагинами и темами.
Как добавить расширенные типы данных в WordPress
11.12.2025
Как использовать REST API для создания кастомных эндпойнтов в WordPress
08.12.2025
Как автоматизировать удаление старого контента в WordPress
08.02.2026
Как сделать автоматический редирект в WordPress по условиям
04.01.2026
Как отладить и исправить ошибки в плагинах WordPress
18.12.2025