Как правильно поменять домен у сайта на WordPress
Опубликовано: 01.09.2018
Ещё месяца два назад мой сайт занимал первые-вторые позиции по многим основным запросам, связанным с WordPress. Потом я захотел поменять домен, потом, когда новый домен уже начал появляться в выдаче, я передумал и решил вернуться на старый, и вот, спустя неделю я снова решил переехать, но уже на misha.blog.
Как правильно перенести сайт с одного домена на другой? Просто о сложном
Мне уже начали писать читатели с просьбой скинуть дамп базы данных сайта на случай, если я вдруг на него забью.
Нет ребят. Не забью. При этом я ещё пытаюсь как-то найти время, чтобы регулярно заниматься всем этим делом.
Правильный перенос сайта c хостинга на хостинг с изменением доменов. В ручном режиме и без плагинов
Зачем я это творю?
Захотелось.
Что в итоге?
Удалил весь ненужный функционал сайта и не использующиеся разделы и страницы. Обновил дизайн сайта и упростил (как мне кажется) навигацию. Обещаний относительно регулярных публикаций давать не буду, но, чёрт возьми, постараюсь. Если мой сайт добавлен у вас в закладки, можете спокойно менять домен на misha.blog. Старые домены сейчас редиректят сюда, но то, что так и будет продолжаться, не обещаю.Чеклист максимальной безболезненности переезда.
В конце концов, у меня не новостной блог, поэтому надо немного увеличить пользу этого поста, чтобы он не нёс чисто информационный характер и был хоть как-то полезен людям. Что ли.
Если вам тоже нечем заняться и хочется поменять адрес сайта, то можно следовать этим инструкциям и возможно всё будет хорошо.
Шаг 1. Добавить домен на хостинг и привязать либо к новой директории, либо к той же самой.
Делал и так и так, привязка к той же самой директории проще, так как не нужно будет копировать целый сайт, но зато можно запутаться с редиректами.В принципе на этом шаге наверное больше нечего прокомментировать, на разных хостингах это делается по-разному. Лично у меня на бегете проблем никаких с этим не возникло.
Шаг 2. Заменить старый домен на новый внутри WordPress. Везде – и в базе данных и в файлах (ну мало ли – у меня вот в теме домен статикой прописан ????).
Для того, чтобы заменить старый домен на новый в базе данных и ничего не пропустить, рекомендую сделать это автоматически при помощи SQL-запросов, которые можно сгенерировать при помощи этого инструмента , а потом просто запустить их в phpMyAdmin на вкладке SQL (только не забудьте сначала выбрать нужную базу данных). У меня кстати есть целый урок, посвященный этим SQL запросам — вон он , возможно будет полезен.
Тут скажу, что в файлах темы у вас по идее не должно быть прописано домена статикой, он должен выводиться при помощи функции site_url() , home_url() и пр. Если же нет — ничего страшного, вам понадобится редактор кода, который позволяет искать и производить замену во всех файлах в выбранной директории — используем его, чтобы осуществить массовую замену старого домена на новый. Например у меня это выглядит так:
Шаг 3. Ставим 301 редиректы в .htaccess
Это самый ответственный момент. Если неправильно проставить редиректы, то на всё остальное уже будет просто пофиг. Хотя тут я наверное преувеличиваю, так как без второго шага сайт и вовсе работать не будет.
Окей, тут важно понять одну вещь — все ссылки на материалы сайта на старом домене должны перенаправляться на соответствующие материалы на новом (важно — даже, если они при этом изменили структуру URL! ).
Пример
truewp.ru/blog/post1.html должен перенаправляться 301м редиректом на misha.blog/blog/post1.html, но так как я вообще решил избавиться от /blog в ссылках, то у меня он перенаправляется на misha.blog/post1.html. А можно например, пользуясь случаем, избавиться от .html на конце ссылок. На самом деле это довольно просто, а теперь давайте глянем, как это делается.Вот какие правила в .htaccess использую я:
RewriteCond %{HTTP_HOST} ^truewp.ru$ [OR] RewriteCond %{HTTP_HOST} ^www.truewp.ru$ RewriteRule (.*)$ https://misha.blog/$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.blog Sitemap: https://misha.blog/sitemap.xml |
Шаг 5. Яндекс Вебмастер и Google Webmaster
Понимаю, что скорее всего на блоге есть читатели, которые не используют эти инструменты (один или второй, или оба), но тем не менее, какие действия нужно в них сделать при смене домена? Тут могут быть разные сценарии, а так как я себя сеошником не считаю, то наверное не опишу их все подробно. Скажу лишь, какой должен быть конечный результат.
Оба домена должны быть добавлены в Google/Яндекс вебмастерс и должен быть запущен процесс переезда домена.
Консоль Google Webmaster
Сначала выбираем интересующий нас сайт в консоли (старый домен) и кликаем на шестеренку, далее — Изменение адреса. Следуем пошаговым инструкциям.
Яндекс Вебмастер
Принцип примерно тот же, как и в Google Webmaster tools, подробнее — на скриншоте.
Вот вроде бы и всё, знакомый сеошник сказал, что теперь нужно терпеливо ждать месяц. Чуть подробнее — на видео.