Вопрос или проблема
В общем, как и предполагает название
У меня на сервере есть файлы (в основном изображения), которые не отображаются в медиатеке. Какой лучший способ удалить их?
Существуют ли плагины или мне нужно создать список файлов, поместить его в таблицу и делать поиск/сравнение с таблицами медиа, чтобы увидеть, существуют ли файлы, и если нет, удалить их?
Спасибо
Только потому, что что-то отсутствует в медиатеке, это не означает, что это не используется на вашем сайте или на каком-то другом. Проблема, с которой вы можете столкнуться, заключается в удалении файла, который на самом деле используется.
С другой стороны, только потому, что файл “находится” в медиатеке, это не означает, что он действительно используется.
Поэтому лучший вопрос должен быть “Как определить медиафайлы, которые не используются”, на который, к сожалению, я не имею ответа, и это будет не по теме на сайте разработки WordPress.
Я просто не удаляю файлы. Это трата места, но если вы не используете такие сервисы, как S3, где вы оплачиваете каждую медиабайта, риск углубляться в нахождении файла в резервной копии не стоит тех небольших экономий, которые вы получите от удаления файлов.
Изменение Марка Каплана к вопросу является правильным. Медиафайлы могут быть либо ‘привязанными’ к записям и необходимыми сайту, либо могут быть упомянутыми в ссылке на странице, тем самым становясь ‘отвязанными’ медиафайлами, необходимыми сайту. У меня нет решения в виде плагина или программирования, но я использовал следующие шаги решения.
1. Просканируйте сайт с помощью Screaming Frog SEO spider (или аналогичного инструмента) и извлеките csv-файл всех внутренних URL. Отфильтруйте этот список так, чтобы в нем были только URL, указывающие на папку /upload. Это ‘используемые’ медиафайлы.
2. Скопируйте названия всех медиафайлов в папке /upload.
3. Удалите все элементы из пункта 1 из пункта 2. То, что останется, будет списком неиспользуемых медиафайлов.
Ответ или решение
Удаление медиафайлов с сервера, отсутствующих в медиабиблиотеке WordPress
Удаление медиафайлов с сервера, которые не отображаются в медиабиблиотеке, может быть сложной задачей. Проблема заключается в том, что не все файлы, отсутствующие в медиабиблиотеке, действительно не используются. Некоторые из них могут быть связаны с постами или страницами, в то время как другие могут быть доступны через прямые ссылки. В данной статье мы рассмотрим несколько шагов, которые помогут вам проверить, какие медиафайлы могут быть безопасно удалены, минимизируя риск потери ценной информации.
Шаг 1: Сканирование вашего сайта
Рекомендуется использовать инструменты для сканирования сайта, такие как Screaming Frog SEO Spider или аналогичные. Эти инструменты позволяют собрать все внутренние ссылки на вашем сайте и экспортировать их в формате CSV.
-
Настройка сканирования: Установите настройки для удаления всех элементов, кроме внутренних URL, чтобы получить чистый список адресов.
-
Фильтрация результатов: После завершения сканирования выделите URL-адреса, которые ссылаются на директорию
/upload
, где хранятся ваши медиафайлы.
Шаг 2: Создание списка файлов медиабиблиотеки
Следующий шаг – собрать список всех медиафайлов, размещённых в папке /upload
:
- Войдите в админ-панель WordPress.
- Перейдите в Медиабиблиотека.
- Получите список всех добавленных медиафайлов. Это можно сделать вручную или с помощью специальных плагинов для экспорта списка (например, Export Media Library).
Шаг 3: Сравнение списков
Теперь, когда у вас есть два списка (используемых файлов и файлов в медиабиблиотеке), проведите их сравнение:
-
Удалите дубликаты: Уберите из списка всех медиафайлов те элементы, которые были найдены в списке собранных URL-адресов.
-
Идентификация неиспользуемых файлов: Все оставшиеся файлы могут считаться ненужными для вашего сайта.
Шаг 4: Удаление неиспользуемых файлов
После того как вы определили файлы, которые не используются:
-
Резервное копирование: Прежде чем удалять любые файлы, сделайте резервную копию вашей базы данных и директории
uploads
. Это гарантирует, что вы сможете восстановить данные в случае ошибки. -
Удаление файлов: Вы можете вручную удалить файлы через FTP или через файловый менеджер в хостинге, либо воспользоваться плагином, который автоматизирует процесс (например, Media Cleaner).
Шаг 5: Дополнительные меры предосторожности
Помните, что удаление медиафайлов может повлиять на некоторые посты или страницы, если ссылки будут сломаны. Также, даже если файл не отображается в медиабиблиотеке, он может все равно быть важен для сайта. Вот несколько советов:
-
Регулярное сканирование: Вы можете запланировать периодические сканирования для контроля за медиафайлами на вашем сервере.
-
Анализ использования: Оцените, действительно ли там есть необходимость в хранении медиафайлов, которые не отображаются в сайтах.
-
Использование внешних хранилищ: Для значительных объемов медиафайлов рассмотрите возможность использования облачных хранилищ, таких как Amazon S3, что может снизить ваши затраты на хранение и повысить производительность сайта.
Эти шаги помогут вам тщательно и без лишних рисков очистить ваш сервер от ненужных медиафайлов, при этом сохраняя целостность и функциональность вашего сайта.