SQL-запросы для миграции WordPress на новый домен: пошаговое руководство
В процессе разработки и поддержки сайтов на WordPress часто возникает необходимость переноса сайта на другой домен. Это может быть связано с переходом с тестового окружения на продакшн, сменой доменного имени или созданием резервной копии сайта. В этой статье я поделюсь опытом и покажу, как правильно выполнить миграцию с помощью SQL-запросов.
Почему важны SQL-запросы при миграции?
При переносе WordPress-сайта недостаточно просто скопировать файлы и базу данных. WordPress хранит множество URL-адресов в базе данных, которые нужно обновить. Ручное изменение этих значений не только трудоемко, но и чревато ошибками. SQL-запросы позволяют автоматизировать этот процесс и минимизировать риск ошибок.
Основные SQL-запросы для миграции
1. Обновление основных URL сайта
1
2
3
UPDATE wp_options
SET option_value = REPLACE(option_value, 'http://old-domain.com', 'https://new-domain.com')
WHERE option_name = 'home' OR option_name = 'siteurl';
Этот запрос обновляет основные URL сайта в таблице wp_options. Без этого запроса WordPress будет пытаться перенаправлять пользователей на старый домен.
2. Обновление контента постов
1
2
UPDATE wp_posts
SET post_content = REPLACE(post_content, 'http://old-domain.com', 'https://new-domain.com');
Этот запрос заменяет все ссылки в содержимом постов. Важно для корректного отображения внутренних ссылок и изображений.
3. Обновление метаданных постов
1
2
UPDATE wp_postmeta
SET meta_value = REPLACE(meta_value, 'http://old-domain.com', 'https://new-domain.com');
Этот запрос обновляет URL в произвольных полях постов, которые могут содержать ссылки на изображения или другие ресурсы.
4. Обновление GUID постов
1
2
3
UPDATE wp_posts
SET guid = REPLACE(guid, 'http://old-domain.com', 'https://new-domain.com')
WHERE post_type = 'attachment';
GUID (Globally Unique Identifier) используется в RSS-лентах. При миграции важно обновить эти значения для вложений.
5. Обновление комментариев
1
2
3
UPDATE wp_comments
SET comment_content = REPLACE(comment_content, 'http://old-domain.com', 'https://new-domain.com'),
comment_author_url = REPLACE(comment_author_url, 'http://old-domain.com', 'https://new-domain.com');
Этот запрос обновляет ссылки в текстах комментариев и URL авторов комментариев.
Важные замечания
-
Префиксы таблиц: В примерах используется стандартный префикс
wp_. Если на вашем сайте используется другой префикс, замените его в запросах. -
Протокол: Обратите внимание на протокол (http/https) в старом и новом домене. Они должны соответствовать реальной конфигурации.
-
Бэкап: Перед выполнением запросов обязательно создайте резервную копию базы данных.
-
Проверка: После выполнения запросов проверьте работу сайта, особенно:
- Внутренние ссылки
- Изображения
- RSS-ленты
- Комментарии
Автоматизация процесса
Для упрощения процесса миграции можно использовать специальные плагины WordPress или скрипты, которые автоматизируют выполнение этих запросов. Однако понимание SQL-запросов важно для отладки и решения проблем, которые могут возникнуть в процессе миграции.
Заключение
Правильное выполнение SQL-запросов при миграции WordPress-сайта - это ключевой этап, от которого зависит успешность переноса. Используйте эти запросы как основу, адаптируя их под конкретные нужды вашего проекта. Помните о важности создания резервных копий и тщательной проверки результатов миграции.