Вопрос или проблема
Я переместил свой сайт на WordPress с Amazon AWS на Bluehost с тем же доменным именем.
- Настроить и связать домен с Bluehost.
- Установить WordPress.
- Скопировать папки плагинов, загрузок и тем на новый сервер.
- Сделать дамп базы данных и импортировать базу данных.
После загрузки сайта все работает нормально, но все изображения постов пропали, хотя я уже загрузил папку “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 с сохранением того же домена, вы столкнулись с ситуацией, когда картинки, отображающиеся в медиабиблиотеке, представлены пустыми значками, хотя сами файлы изображений физически находятся на сервере. Это означает, что ссылки на изображения были нарушены или не обновлены в базе данных.
Шаги по решению проблемы:
-
Проверка базы данных:
- Убедитесь, что записи в таблице
wp_posts
, относящиеся к типуattachment
, присутствуют. Эти записи содержат информацию о медиафайлах, таких как их названия, пути и связи с записями. - К сожалению, если вы просто переместили папку
uploads
, записи в базе данных могут оставаться устаревшими или отсутствовать. В этом случае отобразится пустой значок.
- Убедитесь, что записи в таблице
-
Перемещение и обновление 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');
- Это обновит путь к медиафайлам и всем записям в контенте.
-
Использование плагина "Add from Server":
- Вы можете использовать плагин, как упомянуто в вашем описании, например, "Add from Server", чтобы добавить медиафайлы в медиабиблиотеку, основываясь на перемещенных файлах в папке
uploads
. Это поможет вам восстановить привязки к медиафайлам.
- Вы можете использовать плагин, как упомянуто в вашем описании, например, "Add from Server", чтобы добавить медиафайлы в медиабиблиотеку, основываясь на перемещенных файлах в папке
-
Рекомендации по копированию сайтов:
- В дальнейшем, для упрощения процесса переноса сайта, рассмотрите использование плагинов, таких как Duplicator или WP Clone. Эти решения автоматически создают копию сайта с правильной настройкой URL-адресов и минимизируют риск подобных проблем при миграции:
- Duplicator: Позволяет создавать пакеты, включая базы данных и файлы, и автоматически обновляет URL.
- WP Clone: Упрощает процесс переноса сайта и минимизирует вероятность ошибок.
- В дальнейшем, для упрощения процесса переноса сайта, рассмотрите использование плагинов, таких как Duplicator или WP Clone. Эти решения автоматически создают копию сайта с правильной настройкой URL-адресов и минимизируют риск подобных проблем при миграции:
-
Проверка прав на доступ (permissions):
- Убедитесь, что права доступа к папке
uploads
соответствуют стандартам. Это могут быть 755 для папок и 644 для файлов, чтобы сервер мог корректно обращаться к медиафайлам.
- Убедитесь, что права доступа к папке
Заключение:
После выполнения вышеперечисленных шагов ваши изображения должны начать отображаться в медиабиблиотеке и ваших записях. Если проблема сохраняется, рекомендуется обратиться к хостинг-провайдеру или к специалисту по WordPress для более детального анализа и устранения неисправностей.
Сохранение порядка и следование рекомендациям по миграции сайтов значительно облегчит вам задачу в будущем и поможет избежать подобных проблем.