Пост

SQL-запросы для миграции WordPress на новый домен: пошаговое руководство

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 авторов комментариев.

Важные замечания

  1. Префиксы таблиц: В примерах используется стандартный префикс wp_. Если на вашем сайте используется другой префикс, замените его в запросах.

  2. Протокол: Обратите внимание на протокол (http/https) в старом и новом домене. Они должны соответствовать реальной конфигурации.

  3. Бэкап: Перед выполнением запросов обязательно создайте резервную копию базы данных.

  4. Проверка: После выполнения запросов проверьте работу сайта, особенно:

    • Внутренние ссылки
    • Изображения
    • RSS-ленты
    • Комментарии

Автоматизация процесса

Для упрощения процесса миграции можно использовать специальные плагины WordPress или скрипты, которые автоматизируют выполнение этих запросов. Однако понимание SQL-запросов важно для отладки и решения проблем, которые могут возникнуть в процессе миграции.

Заключение

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

Авторский пост защищен лицензией CC BY 4.0 .