Как поменять домен на сайте? Безболезненно
Я тот человек, который любил много раз менять домен на своём блоге, за всё время, насколько я помню, он был поменян ровно 5 раз. Конечно, это не сказалось положительно на позициях сайта в поисковиках, ну вот как-то так… Хочу поделиться с вами своим опытом по переездам.
В видеокурсе по созданию сайтов на WordPress с нуля у меня есть целый модуль по работе с доменами и хостингами. Рекомендую.
1. Привязка нового домена к сайту
Предположим, что у вас сайт лежит в какой-то директории на хостинге. Когда вы привязываете домен к хостингу, обычно не обязательно создавать отдельную директорию под него и можно привязать к той же самой директории, после чего сайт будет открываться по обоим доменам.
Вот как это реализовано у меня на хостинге Beget.

2. Замена старого домена на новый в базе данных и в файлах темы
2.1 В базе данных
Для того, чтобы заменить старый домен на новый в базе данных и ничего не пропустить, рекомендую сделать это автоматически при помощи SQL-запросов, которые можно сгенерировать при помощи этого инструмента, а потом просто запустить их в phpMyAdmin на вкладке SQL (только не забудьте сначала выбрать нужную базу данных). У меня кстати есть целый урок, посвященный этим SQL запросам — вон он, возможно будет полезен.
Вот сюда мы и будем вставлять наши SQL-запросы:

2.2 В файлах темы
Вообще этого шага быть не должно. Но если у вас какая-то кастомная тема, и вам прямо не хотелось использовать site_url() и вы много где указывали домен статикой, чтобы сэкономить малейшие доли производительности, то да, этот шаг для вас.
В любом случае ничего страшного, вам лишь понадобится редактор кода, который позволяет искать и производить замену во всех файлах в выбранной директории — используем его, чтобы осуществить массовую замену старого домена на новый. Например у меня это выглядит так:

3. Ставим 301 редиректы в .htaccess
Это самый ответственный момент. Если неправильно проставить редиректы, то на всё остальное уже будет просто пофиг. Хотя тут я наверное преувеличиваю, так как без второго шага сайт и вовсе работать не будет.
Окей, тут важно понять одну вещь — все ссылки на материалы сайта на старом домене должны перенаправляться на соответствующие материалы на новом (важно — даже, если они при этом изменили структуру URL! ).
Пример:
misha.blog/blog/post1.html должен перенаправляться 301м редиректом на misha.agency/blog/post1.html , но так как я вообще решил избавиться от /blog в ссылках, то у меня он перенаправляется на misha.agency/post1.html . А можно например, пользуясь случаем, избавиться от .html на конце ссылок. На самом деле это довольно просто, а теперь давайте глянем, как это делается.
Вот какие правила в .htaccess использую я:
RewriteCond % ^misha.blog$ [OR] RewriteCond % ^www.misha.blog$ RewriteRule (.*)$ https://misha.agency/$1 [R=301,L]
Эти строчки кода всегда должны идти после RewriteEngine on (если нету, добавьте!), однако, если вы решили прилинковать новый домен к той же самой директории на хостинге, то возможно у вас в .htaccess уже существуют какие-то правила WordPress — принцип тот же, но обратите внимание — добавляем сразу же на следующей строчке после RewriteEngine on .
4. robots.txt и sitemap.xml
Если вам эти слова не знакомы, на пока вы можете скипнуть этот шаг, но задуматься о том, что неплохо было бы заняться SEO-оптимизацией сайта, хотя бы внутренней.
Если ваша карта сайта sitemap.xml генерируется динамически, то ничего делать не нужно, если же нет, то пересоздайте её в том плагине, который используете. Чтобы проверить, перейдите на неё в браузере прямой ссылке и убедитесь, что в ней не осталось старого домена.
В файле robots.txt обычно меняется URL у директивы host и sitemap . Если вы прилинковали новый домен к другой директории, сделайте изменения в robots.txt в обоих местах.
Host: https://misha.agency Sitemap: https://misha.agency/sitemap.xml
5. Яндекс Вебмастер и Google Search Console
Понимаю, что скорее всего на блоге есть читатели, которые не используют эти инструменты (один или второй, или оба), но тем не менее, какие действия нужно в них сделать при смене домена? Тут могут быть разные сценарии, а так как я себя сеошником не считаю, то наверное не опишу их все подробно. Скажу лишь, какой должен быть конечный результат.
Оба домена должны быть добавлены в Google/Яндекс вебмастерс и должен быть запущен процесс переезда домена.
Google Search Console (Google Webmaster Tools)

- Переходим в Google Search Console.
- Добавляем в него сайт на новом домене.
- Выбираем затем старый сайт и переходим в настройки (ссылка Settings с шестерёнкой в меню слева).
- А на страницы настроек выбираем опцию смены адреса сайта.
- В итоге у нас откроется вот такая страница, где мы должны указать, куда будет переезжать сайт:
Яндекс Вебмастер
Принцип примерно тот же, как и в Google Search Console, подробнее — на скриншоте.

Вот вроде бы и всё, на этом наш переезд на новый домен завершён, знакомый сеошник сказал, что теперь нужно терпеливо ждать месяц. И во время переезда старайтесь не менять дизайн сайта.
Миша
Впервые познакомился с WordPress в 2009 году. Организатор и спикер на конференциях WordCamp. Преподаватель в школе Нетология.
Пишите, если нужна помощь с сайтом или разработка с нуля.
Смена домена для сайта на WordPress

Если сайт переносится на кириллический домен в зоне .рф, новый домен перед указанием на сайте необходимо перевести в формат Punycode, например, при помощи сервиса https://2ip.ru/punycode/. Если прописать домен кириллицей, сайт будет работать некорректно.
При переносе сайта, созданного на WordPress, на другой домен потребуется сменить предыдущий домен на новый, внеся соответствующие изменения в базу данных сайта. Сделать это можно несколькими способами.
Смена домена на новый в административной панели WordPress
1. Откройте страницу «Настройки — Общие» в административной панели сайта.

2. В полях «Адрес WordPress» и «Адрес сайта» задаётся новый URL — адрес сайта на новом домене (например: http:// new-domain.ru). Результат сохраняется кнопкой «Сохранить изменения» внизу страницы.

Установка нового домена с помощью SQL запроса
Если доступ к панели управления сайтом отсутствует, изменения могут быть внесены непосредственно в базу данных через phpMyAdmin в Панели управления аккаунтом.
1. Для входа в базу данных сайта в разделе » Базы MySQL» Панели управления аккаунтом используется иконка «PMA» в столбце «Операции» напротив имени базы. Пароль к базе данных можно найти в конфигурационном файле сайта.
2. В phpMyAdmin находится вкладка «SQL», на которой в предназначенное для ввода данных поле вносятся приведённые ниже запросы. Обработка запросов происходит при нажатии кнопки «Go», расположенной справа внизу. В приводимом примере http://domain.ru и http://newdomain.ru — предыдущий и новый адреса сайта:
UPDATE wp_options SET option_value = replace(option_value, ‘http://domain.ru’, ‘http://newdomain.ru’) WHERE option_name = ‘home’ OR option_name = ‘siteurl’;
UPDATE wp_posts SET guid = replace(guid, ‘http://domain.ru’,’http://newdomain.ru’);
UPDATE wp_posts SET post_content = replace(post_content, ‘http://domain.ru’, ‘http://newdomain.ru’);

Изменение имени домена в таблице базы данных сайта
Также в phpMyAdmin можно вручную отредактировать таблицу wp_options базы данных, сменив в ней предыдущий адрес сайта на новый. Новый адрес прописывается в переменных siteurl и home. Редактирование переменных осуществляется при нажатии на иконку карандаша, находящуюся слева от имени каждой переменной:
Как изменить адрес сайта в WordPress
В статье показываем, как изменить адрес сайта в WordPress на примере панели управления хостингом cPanel. Её используем у себя на виртуальном хостинге мы, а также некоторые другие провайдеры. Если у вас другая панель, какие-то функции могут отличаться, но общий принцип будет таким же.
Шаг 1. Подключите новый домен к хостингу
Для этого нужно указать в настройках нового домена DNS-серверы вашего хостинга. Делается это на стороне компании, у которой вы регистрировали домен.
Если вы покупали домен и хостинг в разных компаниях, узнайте значения DNS-серверов у хостинг-провайдера или поищите их в письме об активации хостинга — обычно их там тоже указывают. У нас на виртуальном хостинге мы используем такие DNS-серверы:
- dns1.hostiq.ua
- dns2.hostiq.ua
Некоторые регистраторы требуют указывать DNS-серверы вместе с их IP-адресами — это нормально. Вот IP-адреса DNS-серверов на нашем виртуальном хостинге:
- dns1.hostiq.ua — 50.30.47.75
- dns2.hostiq.ua — 80.86.88.132
Если вы покупали домен там же, где и хостинг, в вашем аккаунте должен быть более простой способ подключить домен к хостингу. Вот как это делается у нас.
Зайдите в Панель клиента и перейдите в верхнем меню в раздел «Мои домены».

Нажмите «Детали» в строке с нужным доменом.

Найдите на открывшейся странице блок «NS серверы», поставьте переключатель в строку «Установить NS виртуального хостинга от HOSTiQ.ua» и сохраните изменения.

Шаг 2. Измените домен в админке WordPress
Зайдите в консоль WordPress и на боковой панели слева перейдите в раздел «Настройки – Общие». На следующей странице измените доменное имя в строках «Адрес WordPress (URL)» и «Адрес сайта (URL)».

Сохраните изменения внизу страницы. После этого, если вы введёте в браузере старый домен, он автоматически сменится на новый. Вместо сайта будет отображаться ошибка, но мы сейчас это исправим, когда добавим новый домен в панель управления хостингом.
Шаг 3. Добавьте домен в панель управления хостингом
Инструкции по добавлению нового домена будут отличаться в зависимости от того, собираетесь ли вы использовать старый домен в будущем.
Если старый домен больше не нужен
В этом случае добавьте новый домен как основной для хостинга вместо старого. У нас на хостинге это делается в Панели клиента.
Зайдите в Панель клиента и прокрутите главную страницу вниз до раздела «Продукты и сервисы». В строке с нужным хостингом нажмите «Детали».

В самом низу открывшейся страницы будет секция с кнопками, при помощи которых вы можете менять параметры тарифа. Нажмите кнопку «Изменить основной домен услуги».

На следующей странице введите новый основной домен и нажмите «Сменить основной домен». После этого старый основной домен исчезнет из cPanel, а вместо него появится тот, который вы только что указали.
Важный момент — смена основного домена на хостинге повлияет на работу доменных сервисов : SSL-сертификат, FTP-аккаунты, электронную почту. Как именно изменится их работа, читайте в отдельной статье:

Если старый домен ещё нужен
В этом случае добавьте новый домен как дополнительный. Это делается в панели управления хостингом. У нас на виртуальном хостинге это cPanel.
Зайдите в cPanel, найдите на главной странице раздел «Домены» и откройте приложение «Домены».

В открывшемся окне введите новый домен в поле «Домен». Затем снимите галочку с пункта «Share document root». Значения в дополнительных полях оставьте по умолчанию.
Больше информации о значении полей и ошибках при добавлении домена читайте в нашей отдельной статье:

Шаг 4. Скопируйте файлы сайта на новый домен
Этот шаг актуален, только если вы добавили новый домен как дополнительный . Если добавили новый домен вместо старого как основной, переходите к следующему шагу.
После добавления дополнительного домена в его корневой папке не будет никаких файлов. Нужно взять файлы сайта из корневой папки основного домена и перенести в корневую папку дополнительного домена. У нас на хостинге корневая папка основного домена называется public_html, а дополнительного — так же как и сам домен.
Зайдите в cPanel, найдите на главной странице cPanel раздел «Домены» и перейдите в приложение «Домены».

На открывшейся странице вы увидите таблицу со всеми доменами в вашем аккаунте. Кликните по ссылке в колонке «Корневая папка» в строке с нужным доменом.

Откроется «Менеджер файлов» cPanel. Нажмите на верхней панели кнопку «Выбрать все», а затем чуть выше кнопку «Копировать».
Во всплывающем окне вам останется только указать путь к корневой папке нового домена и нажать «Copy Files», после чего копирование начнётся в фоновом режиме. В зависимости от объёма файлов, процесс может занять от одной до нескольких минут.
Шаг 5. Замените старый домен на новый в базе данных
Зайдите в админку WordPress по новому домену. Хотя сайт и открывается по новому домену, в базе данных ещё остались старые ссылки. Из-за этого у некоторых картинок могут быть старые ссылки. И если вы в будущем удалите старый домен, эти картинки перестанут открываться на сайте.

Чтобы это исправить, перейдите в консоли WordPress в раздел «Плагины – Добавить новый» и установите плагин «Better Search Replace». Это специальный плагин, при помощи которого можно заменить один текст в базе данных на другой.

После активации плагина перейдите на боковой панели в раздел «Инструменты – Better Search Replace» и впишите в соответствующие поля ваш старый и новый домен.
Чуть ниже выберите таблицы, в которых нужно выполнить замену. Чтобы выбрать все таблицы, зажмите Shift на клавиатуре.

Прокрутите страницу чуть ниже и поставьте галочку в пункте «Замена GUID», а в пункте «Холостой запуск» — уберите. Затем нажмите «Запустить Поиск/Замену».

Когда плагин обработает все таблицы, вверху страницы появится уведомление о проделанной работе. Например, в нашем случае старый домен встречался в разных таблицах 749 раз.

Что ещё нужно сделать после смены домена в WordPress
Вы выполнили файловую часть переноса WordPress на другой домен. Кроме этого есть и другие вещи, которые нужно сделать. Например, установить для нового домена SSL-сертификат, настроить редиректы со старого домена на новый, добавить новый домен в Google Search Console и Google Analytics.
Часть из этих вещей нужны, чтобы сайт просто корректно работал, часть — чтобы позиции сайта в поисковых системах перешли со старого домена на новый. Полный список того, что нужно сделать вы найдёте в отдельной статье:
Регистрируем домены в 1200 зонах
Все популярные зоны вроде .com, .net, .biz, .org и сотни тематических зон вроде .agency, .school или .shop.
Большинство национальных зон: от областей Украины вроде .kiev.ua или .kh.ua, до других государств — .pl, .de или .us.
Изменение доменного имени
Если вы ошиблись в написании или решили выбрать другое имя домена для сайта, у вас есть несколько способов его изменить.
Напрямую изменить имя существующего домена невозможно, однако вы можете зарегистрировать новый домен. Стоимость и процедура замены домена зависят от того, как давно вы его зарегистрировали. Это руководство поможет вам узнать, как правильно действовать.
В этом руководстве
- Замена зарегистрированного домена в период возврата средств
- Замена зарегистрированного домена вне периода возврата средств
- Изменение подключённого домена
- Изменение основного домена
- Изменение адреса сайта по умолчанию
Замена зарегистрированного домена в период возврата средств
Возврат денежных средств за домены возможен в течение 96 часов с момента регистрации или продления. Если вы обратитесь к нам до окончания этого срока, мы поможем аннулировать существующий домен и бесплатно зарегистрировать другой.
Замена зарегистрированного домена вне периода возврата средств
По истечении 96-часового периода возврата вы можете выполнить следующие действия, чтобы изменить свой домен.
- Купите новый домен, перейдя в раздел Платные услуги → Домены и щёлкнув Добавить домен к этому сайту. См. стоимость доменов здесь.
- После регистрации сделайте новый домен основным на сайте. Изменить основной домен сайта можно в разделе Платные услуги → Домены. Щелкните значок «…» рядом с доменом и выберите Сделать основным адресом.
- Возможные действия: вы можете аннулировать исходный домен или сохранить его в качестве дополнительного.
Изменение подключённого домена
Подключённый домен — это домен, который зарегистрирован где-то в другом месте и добавлен к вашему сайту WordPress.com. Чтобы изменить подключённый домен, нужно просто подключить новое доменное имя. Затем можно удалить исходный подключённый домен на странице Покупки.
Изменение основного домена
Ваш основной домен — это адрес, который посетители вашего сайта увидят в адресной строке своего браузера. Если к одному сайту подключено несколько доменов, вы можете изменить основной домен, выполнив инструкции в руководстве по поддержке Настройка основного домена.
Изменение адреса сайта по умолчанию
Каждый сайт WordPress.com имеет адрес по умолчанию, например example.wordpress.com. В этом руководстве описано, как изменить настраиваемую часть адреса.