Изображения, выделенные в постах, пропали после переноса сайта на другой сервер.

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

Я переместил свой сайт на WordPress с Amazon AWS на Bluehost с тем же доменным именем.

  1. Настроить и связать домен с Bluehost.
  2. Установить WordPress.
  3. Скопировать папки плагинов, загрузок и тем на новый сервер.
  4. Сделать дамп базы данных и импортировать базу данных.

После загрузки сайта все работает нормально, но все изображения постов пропали, хотя я уже загрузил папку “uploads”.

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

Но если я введу URL изображения в браузере, я увижу правильный URL изображения.

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

С уважением,
Алекс

У меня была такая же проблема после того, как я перенес один из моих сайтов. Лучшее решение, которое я смог придумать, было удалить все записи базы данных для своих медиафайлов (открыть таблицу wp-posts, найти все записи с post_type “attachment” и удалить их). Затем установить плагин Add from Server и пройтись по каждой папке, выбирая только родительское изображение (НЕ дополнительные размеры, которые находились в папках) и импортировать их.

Он не дублирует файлы, которые уже находятся на сервере, а просто добавляет их в медиабиблиотеку. Посты, которые уже имели использованные изображения, по-прежнему работали, хотя они больше не были “прикреплены” к родительскому посту.

Я уверен, что есть лучшее решение, какой-то способ “воссоздать медиабиблиотеку” было бы замечательно. Когда я только импортировал базу данных с другого сайта, все ссылки на посты были целыми, и все выглядело отлично, за исключением того, что изображения не отображались в самой медиабиблиотеке. Если кто-то найдет лучшее решение, я с удовольствием его выслушаю, но для меня “Add From Server” для изображений решило мою задачу.

Мой выбор для перемещения сайтов – это WP Clone https://wordpress.org/plugins/wp-clone-by-wp-academy/. Самый простой способ это сделать, на мой взгляд.

Вы можете сделать это вручную, но я нашел, что использовать WP Clone очень просто. Он выполняет всю работу, связанную с перемещением сайта. Работает каждый раз, когда я его использую.

Ваша проблема в том, что ссылки на медиабиблиотеку не обновлены; они хранятся с полным URL изображения. Есть вещи, которые вы можете сделать с базой данных, но WP Clone – это самый простой и быстрый способ. (У меня нет отношения к этому плагину, кроме того, что я очень доволен его использованием.)

Для миграции сайтов и резервного копирования я также использую плагин, называемый Duplicator. Он создает пакет, который включает в себя базу данных и все другие файлы. Он автоматически обновляет URL, настоятельно рекомендую это: https://wordpress.org/plugins/duplicator/

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

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

Проблема:

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

Шаги по решению проблемы:

  1. Проверка базы данных:

    • Убедитесь, что записи в таблице wp_posts, относящиеся к типу attachment, присутствуют. Эти записи содержат информацию о медиафайлах, таких как их названия, пути и связи с записями.
    • К сожалению, если вы просто переместили папку uploads, записи в базе данных могут оставаться устаревшими или отсутствовать. В этом случае отобразится пустой значок.
  2. Перемещение и обновление URL:

    • Если вы заметили, что ссылки на медиафайлы содержат старый URL (например, с Amazon), вам необходимо обновить URL в базе данных.
    • Используйте SQL-запросы в phpMyAdmin или подходящие плагины для массового обновления. Например:
      UPDATE wp_posts SET guid = REPLACE(guid, 'old-url.com', 'new-url.com');
      UPDATE wp_posts SET post_content = REPLACE(post_content, 'old-url.com', 'new-url.com');
    • Это обновит путь к медиафайлам и всем записям в контенте.
  3. Использование плагина "Add from Server":

    • Вы можете использовать плагин, как упомянуто в вашем описании, например, "Add from Server", чтобы добавить медиафайлы в медиабиблиотеку, основываясь на перемещенных файлах в папке uploads. Это поможет вам восстановить привязки к медиафайлам.
  4. Рекомендации по копированию сайтов:

    • В дальнейшем, для упрощения процесса переноса сайта, рассмотрите использование плагинов, таких как Duplicator или WP Clone. Эти решения автоматически создают копию сайта с правильной настройкой URL-адресов и минимизируют риск подобных проблем при миграции:
      • Duplicator: Позволяет создавать пакеты, включая базы данных и файлы, и автоматически обновляет URL.
      • WP Clone: Упрощает процесс переноса сайта и минимизирует вероятность ошибок.
  5. Проверка прав на доступ (permissions):

    • Убедитесь, что права доступа к папке uploads соответствуют стандартам. Это могут быть 755 для папок и 644 для файлов, чтобы сервер мог корректно обращаться к медиафайлам.

Заключение:

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

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

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

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