Проблема с медиа-библиотекой после FTP … /uploads

Вопрос или проблема

У меня проблема с медиабиблиотекой. Перенес старый сайт на сервер для редизайна и загрузил большой .../content/uploads через FTP после неудачной попытки импортировать медиафайлы с помощью импортера WordPress. Все страницы и посты импортировались нормально. Изменил все URL на домен сервера – без проблем, но все вложения в медиа на страницах и в постах были потеряны. Использовал плагин “Добавить с сервера”, чтобы попытаться зарегистрировать папку uploads в медиабиблиотеке. Плагин вернул много результатов, но ни одно медиа не было повторно прикреплено. Все встроенные ссылки на медиа в постах и страницах теперь не действуют, и все Избранные изображения показываются как монохромный значок в виджете Избранного изображения в правой боковой панели редактора постов. Я потратил часы, пытаясь решить это — отключил все плагины, связался с издателем темы (Divi), искал на форуме WP и, наконец, искал здесь в течение некоторого времени. Много схожих проблем, но без удачи. Наконец, я решил просто взять дело в свои руки и пройтись по всем постам вручную, заменив все медиа в постах через функцию Добавить медиа и удалив и снова прикрепив все Избранные изображения в боковой панели через функцию поиска медиа, поскольку Избранные изображения нельзя выбрать нигде, кроме вида Сетки.

Что я вижу сейчас — вид списка медиабиблиотеки показывает все изображения, но ни одно не прикреплено, даже после замены их вручную. Вид сетки всех изображений медиабиблиотеки показывает только часть всех доступных медиа из вида списка. Вид сетки (неприкрепленные) медиабиблиотеки показывает все изображения, но после ручной замены ничего не перемещается, как добавленное в вид сетки всех медиа… и снова, ничего нигде не прикреплено.

Я имею в виду, что на фронтенде это работает, но это важно для меня, потому что, когда редизайн будет завершен, я собираюсь использовать только около 100 из 1000 изображений в папке загрузок, и если я не смогу зарегистрировать или различить активные изображения от остальных, не будет никакого способа очистить этот сайт и привести его к разумному размеру.

Человек, это долгое объяснение. Возможно, это моя какая-то простая, глупая ошибка, но я использовал этот же процесс десятки раз и никогда не сталкивался с проблемами после изменения домена в базе данных. Есть идеи, что я делаю не так? Заранее большое спасибо.

Тема: Divi 4.0
Сервер редизайна: http://langston.combsdoadly.com
Версия WP: 5.2.4
Версия PHP: 7.3
То же поведение во всех браузерах

Медиа ‘объект’ имеет URL в базе данных wp-posts, который указывает на местоположение файла.

Если вы меняете доменные имена, вам нужно отрегулировать все упоминания старого доменного имени на новое… включая в базе данных wp-posts для URL медиа.

Плагин для поиска и замены (мне нравится “Лучший поиск и замена”, но есть и другие варианты) позволит вам изменить любое упоминание www.olddomain.com на www.newdomain.com.

Конечно, сначала сделайте резервную копию вашей базы данных.

Ответ или решение

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

Теоретическая часть

Основная проблема здесь заключается в отсутствии связи между файлами в папке uploads и записями в базе данных WordPress, ответственными за отображение медиафайлов в медиатеке. В обычных условиях, когда загрузка происходит через админку WordPress, файлы автоматически получают соответствующие записи в базе данных. В результате пересылки файлов напрямую через FTP эта автоматизация теряется.

Архитектура медиафайлов в WordPress такова, что каждый медиафайл представляется в базе данных как запись, аналогичная посту или странице. Эти записи хранятся в таблице wp_posts, где тип поста (post_type) указывается как attachment, и на них ссылаются другие таблицы для предоставления данной в админке.

Пример применения

В вашей ситуации вы пытались использовать плагин "Add from Server", чтобы зарегистрировать файлы. Однако, как вы заметили, это не решило проблему с прикреплением медиафайлов к соответствующим записям постов и страниц. Эта задача требует обновления URL-адресов в базе данных, чтобы новая структура ссылок согласовывалась с текущим доменом.

Практическое применение

Рекомендую следующий пошаговый подход для решения данной проблемы:

  1. Резервное копирование базы данных и файлов:
    Прежде чем вносить какие-либо изменения, убедитесь, что у вас есть актуальные резервные копии базы данных и всех файлов на сервере.

  2. Использование Search and Replace для обновления URL:
    Загрузите и установите плагин, такой как "Better Search and Replace". Этот инструмент позволит вам массово заменить все вхождения старого доменного имени на новое. Обратите внимание на то, чтобы обновить ссылки для всех типов записей, включая attachment.

  3. Перерегистрация файлов вручную:
    Возможно, потребуется вручную зарегистрировать файлы, добавив их к страницам или постам. При этом необходимо будет пройтись по каждой записи и через стандартный функционал WordPress (добавление медиа из библиотеки) зарегистрировать их заново.

  4. Использование WP-CLI для автоматизации процессов:
    Знание WP-CLI может значительно ускорить процесс. Используйте команды WP-CLI для передачи необходимых данных и перерегистрации медиафайлов. Команда wp media regenerate может быть полезной для восстановления недостающих данных изображений.

  5. Полный аудит и чистка медиатеки:
    После завершения изменений проверьте медиатеку на предмет дубликатов и ненужных файлов. Именно в этот момент следует определить, какие файлы действительно используются на страницах и в постах, чтобы очистить папку uploads от ненужных элементов.

Заключение

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

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

Оцените материал
Добавить комментарий

Капча загружается...