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

Диагностика проблемы с накоплением неиспользуемых видеофайлов

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

Для диагностики выполните следующий запрос SQL в phpMyAdmin или через WP-CLI:

SELECT ID, post_title FROM wp_posts WHERE post_type = 'attachment' AND post_mime_type LIKE 'video/%' AND ID NOT IN (SELECT meta_value FROM wp_postmeta WHERE meta_key = '_thumbnail_id') AND ID NOT IN (SELECT ID FROM wp_posts WHERE post_content LIKE CONCAT('%', guid, '%'));

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

Пошаговое решение: автоматическое удаление неиспользуемых видео

1. Установка и настройка плагина Media Cleaner

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

  • Установите и активируйте плагин.
  • Перейдите в настройки плагина и выполните сканирование.
  • Проверьте результаты, обратите внимание на видеофайлы, отмеченные как неиспользуемые.
  • Создайте резервную копию сайта перед удалением.
  • Удалите неиспользуемые видео через интерфейс плагина.

2. Автоматизация удаления с помощью WP-CLI

Если у вас есть доступ к серверу и WP-CLI, можно написать кастомный скрипт для удаления неиспользуемых видео по расписанию.

Пример простого PHP-скрипта, который удаляет вложения видео без связанного контента:

function delete_unused_videos() {
    $args = [
        'post_type'      => 'attachment',
        'post_mime_type' => 'video',
        'posts_per_page' => -1,
        'post_status'    => 'inherit',
    ];
    $videos = get_posts($args);
    foreach ($videos as $video) {
        $used = false;
        $content_posts = get_posts([
            's'           => $video->guid,
            'post_type'   => ['post', 'page', 'product'],
            'post_status' => 'publish',
            'fields'      => 'ids',
        ]);
        if (!empty($content_posts)) {
            $used = true;
        }
        if (!$used) {
            wp_delete_attachment($video->ID, true);
        }
    }
}

// Для запуска в WP-CLI создайте команду или вызывайте функцию в cron

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

Проверка результата после внедрения

Чтобы убедиться, что удаление прошло корректно:

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

Частые ошибки и способы их исправления

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

Практические советы по безопасности и производительности

  • Перед удалением любых медиафайлов всегда делайте резервную копию базы и файлов.
  • Настройте регулярный cron-задачу для запуска очистки, чтобы не копить неиспользуемые видео.
  • Используйте плагин Clearfy Pro (https://wpshop.ru/plugins/clearfy?utm_source=wpvideo.ru&utm_medium=article&utm_campaign=kak-avtomaticheski-udaljat-neispolzuemye-video-iz-mediabiblioteki-wordpress) для оптимизации базы и удаления дублей, что помогает поддерживать медиабиблиотеку в порядке.
  • Оптимизируйте видео для веба, чтобы минимизировать нагрузку на сервер и ускорить загрузку.

Сравнение способов удаления неиспользуемых видео

МетодПлюсыМинусыПример использования
Плагин Media CleanerУдобный интерфейс, проверка зависимости, безопасное удалениеМожет не распознавать видео в сложных конструкторахОтсканировать и удалить через админку
WP-CLI скриптАвтоматизация, гибкость настройкиТребуется опыт, риск удаления нужных файлов без проверкиЗапуск в cron или вручную
Ручное удалениеМаксимальный контрольТрудозатратно, риск ошибокЧерез медиабиблиотеку WordPress
Как создать видео трекинг в WordPress с помощью плагинов и кода
30.03.2026
Как использовать WPRemark для автоматического видеоотзыва в WordPress
17.03.2026
Как создать видео галерею в WordPress с помощью Shortcode
08.11.2025
Как автоматически устанавливать миниатюры видео в WordPress
30.12.2025
Автоматическое добавление подписей к видео в WordPress
27.01.2026