Управление медиафайлами в WordPress — задача, с которой сталкивается каждый сайт с большим количеством загруженных изображений, видео и других файлов. Со временем в библиотеке накапливаются неиспользуемые и устаревшие файлы, которые занимают место на сервере и могут замедлять работу сайта.
Почему важно удалять старые и неиспользуемые медиафайлы
Каждый загруженный файл в WordPress сохраняется в базе данных и на сервере. Если вы часто обновляете контент, удаляете посты или меняете изображения, старые медиа остаются и занимают место. Это приводит к:
- Переполнению дискового пространства хостинга.
- Замедлению резервного копирования сайта.
- Усложнению поиска нужных файлов в библиотеке.
Автоматизация удаления старых или неиспользуемых медиафайлов помогает поддерживать порядок без лишних затрат времени.
Как найти неиспользуемые медиафайлы в WordPress
Для начала нужно определить, какие медиафайлы не используются на сайте. Ручной поиск очень трудоемок, поэтому рекомендуются специальные инструменты и плагины.
Плагины для поиска и удаления неиспользуемых медиа
Вот несколько популярных плагинов, которые помогут решить задачу:
- Media Cleaner — сканирует библиотеку и контент, выявляя неиспользуемые файлы. Позволяет безопасно удалять их.
- DNUI (Delete Not Used Image) — бесплатный плагин, ищет неиспользуемые изображения и предлагает их удаление.
- WP-Optimize — комплексный плагин для оптимизации базы и файлов, включая очистку медиа.
Важно делать резервные копии перед массовым удалением.
Автоматизация удаления старых медиафайлов с помощью кода
Если вы хотите настроить автоматическое удаление файлов, которые не использовались более определенного времени, можно добавить кастомный код в файл functions.php или создать небольшой плагин.
Пример функции, которая удаляет медиафайлы без связей с постами старше 90 дней:
function wpbloger_auto_delete_old_unused_media() {
$days_limit = 90;
$args = [
'post_type' => 'attachment',
'post_status' => 'inherit',
'posts_per_page' => -1,
'date_query' => [
[
'column' => 'post_date',
'before' => "$days_limit days ago",
],
],
'meta_query' => [
[
'key' => '_wp_attachment_metadata',
'compare' => 'EXISTS',
],
],
];
$attachments = get_posts($args);
foreach ($attachments as $attachment) {
$attached_id = $attachment->post_parent;
if ($attached_id === 0) {
wp_delete_attachment($attachment->ID, true);
}
}
}
// Запускаем крон-задачу раз в неделю
if (!wp_next_scheduled('wpbloger_weekly_media_cleanup')) {
wp_schedule_event(time(), 'weekly', 'wpbloger_weekly_media_cleanup');
}
add_action('wpbloger_weekly_media_cleanup', 'wpbloger_auto_delete_old_unused_media');В этом коде мы:
- Получаем вложения (медиафайлы), опубликованные более 90 дней назад.
- Проверяем, прикреплены ли они к каким-либо постам (родительский ID равен 0 означает отсутствие связи).
- Удаляем такие файлы полностью с помощью
wp_delete_attachment. - Настраиваем запуск функции раз в неделю через WP-Cron.
Такой подход гарантирует, что старые и неиспользуемые медиафайлы будут удаляться без вашего участия.
Учет возможных рисков и рекомендации
Перед автоматическим удалением медиа важно учитывать несколько моментов:
- Резервное копирование. Обязательно делайте бэкап базы и файлов, чтобы избежать потери нужных данных.
- Проверка связей. Медиа могут использоваться не только в постах, но и в виджетах, настройках темы, плагинах. Поэтому стоит дополнительно проверять использование.
- Использование плагинов. Если вы не уверены в безопасности собственного кода, лучше использовать проверенные плагины с функцией предварительного просмотра перед удалением.
Интеграция с плагином Clearfy Pro для оптимизации медиа
Плагин Clearfy Pro предлагает удобные инструменты для оптимизации WordPress, включая очистку неиспользуемых медиафайлов. С его помощью вы можете:
- Автоматически находить и удалять неиспользуемые изображения.
- Оптимизировать базу данных и уменьшить размер медиа.
- Настроить расписание очистки и получать отчеты.
Clearfy Pro — отличный вариант для тех, кто хочет управлять медиа без написания кода.
Заключение
Автоматическое удаление старых и неиспользуемых медиафайлов помогает поддерживать чистоту и скорость сайта на WordPress. Используйте сочетание плагинов и кастомных решений для надежного результата. Не забывайте про резервные копии и тестирование на тестовом сервере.