Перенос WordPress-сайта на новый домен — задача, которая выглядит пугающей только до первого раза. На самом деле весь процесс сводится к четырём основным шагам:
- Перенести файлы сайта на новый сервер.
- Перенести базу данных на новый сервер.
- Заменить в базе данных адрес старого домена на новый.
- Прописать доступ к новой базе данных в файл конфигурации
wp-config.php.
Казалось бы — всё просто и логично. Но именно третий пункт традиционно вызывает больше всего вопросов. Стоит спросить у ИИ-ассистента «как заменить домен в базе WordPress» — и получишь пять разных способов, три плагина, две противоречивые инструкции и один совет «сделать бэкап» (последнее, кстати, дельное).
Так вот — никакой магии. Всё делается тремя SQL-запросами. Без плагинов, без танцев с бубном, без платных инструментов.
Выполнить их можно в phpMyAdmin, через MySQL-консоль или любой другой SQL-клиент — на ваш вкус:
Запрос 1. Меняем главное — адрес сайта и домашнюю страницу в настройках WordPress:
UPDATE wp_options
SET option_value = replace(option_value, 'https://old-domain.ru', 'https://new-domain.ru')
WHERE option_name = 'home' OR option_name = 'siteurl';
Запрос 2. Обновляем GUID записей — уникальные идентификаторы каждого поста и страницы:
UPDATE wp_posts
SET guid = replace(guid, 'https://old-domain.ru', 'https://new-domain.ru');
Запрос 3. Заменяем все упоминания старого домена внутри контента записей — ссылки, вставленные изображения, якоря:
UPDATE wp_posts
SET post_content = replace(post_content, 'https://old-domain.ru', 'https://new-domain.ru');
Вот и всё. Домен заменён, сайт живёт на новом месте, а вы сэкономили час на изучение противоречивых инструкций из интернета.
⚠️ Важно: перед любыми манипуляциями с базой данных — делайте резервную копию. Это не паранойя, это гигиена.
Копи-френдли версия. Все три запроса:
UPDATE wp_options SET option_value = replace(option_value, 'https://old-domain.ru', 'https://new-domain.ru') WHERE option_name = 'home' OR option_name = 'siteurl';
UPDATE wp_posts SET guid = replace(guid, 'https://old-domain.ru', 'https://new-domain.ru');
UPDATE wp_posts SET post_content = replace(post_content, 'https://old-domain.ru', 'https://new-domain.ru');