Дизайн та розробка сайту

Перенос сайта на новый домен

Перенос сайта на новый домен

Доброго времени суток 🙂

Сейчас рассмотрим с вами, как можно перенести сайт на новый домен. Уже давно хотел написать эту статью да все никак руки не доходили. Где-то около года назад ко мне обратились с просьбой перенести сайт на новый домен. Люди хотели перейти с зоны RU на COM. Сейчас я расскажу как я сделал перенос и какие действия предпринимал. Перерыл по этому поводу много информации и забегая наперед, скажу что перенос осуществился успешно. Спустя такое время уже 100% известно, что сайт потерь не понес, тИЦ и PR в норме. Тут больше интересует тИЦ Яндекса, потому что PR от Google уже несколько лет не обновлялся. Сам Гугл заявлял, что откажется от этого, поэтому скорее всего про PageRank можно потихоньку забывать.

Перенос сайта на новый домен

В моей ситуации были следующие условия. Осуществлялся перенос как на новый домен, так и на новую систему управления сайтом и вообще переезд на новый хостинг. Поэтому о переносе материалов, в этой статье я не напишу. Тут мы поговорим именно о переходе на новый домен.

В свое время заказчик по неопытности заключил договор с посреднической компанией, что предоставляла услуги по содержании сайтов. Хостинг, домен и система управления сайтом, все в одном комплекте. Плати и получай готовый сайт. Через пару лет, когда заказчик овладел знаниями, он захотел поменять CMS(движок) сайта, но его завернули и объяснили что нельзя. Когда он захотел перенести сайт к другому хостеру, его тоже обломали и дали понять что не домен не сам сайт, по сути ему не принадлежит. Доступа к файлам сайта нет, только админка для внесения информации на сайт, настройки внешнего вида и решения некоторых вопросов настройки. В итоге было принято решение создать новый домен, схожий с стары, изменить лишь зону. Новый сайт создать на WordPress и вручную перенести все тексты на него. Задача не с простых, но с ней справились и потерь никто не понес. Старый сайт еще мог функционировать пол года, поэтому это помогло сделать правильный перенос.

Давайте же рассмотрим, что нужно сделать, чтобы перенести сайт на новый домен?

Перенос файлов

Думаю тут особо объяснять нечего. Если Вы не переносите сайт на другой хостинг, то с файлами делать ничего не нужно. К каталогу сайта просто подключается новый домен и меняете доменное имя в базе данных, об этом поговорим в следующем пункте.

Если же Вы меняете хостинг, то все файлы нужно скопировать с одного хостинга на другой. Для этого сделайте архив корневого каталога сайта. Таким образом, все файлы будут перенесены сразу. Потом архив разархивируйте на новом хостинге и и все. Сделать архив можно в административной части управления хостингом. От туда его и скачать. Так же скачать можно через FTP. Для этого воспользуйтесь каким ни-будь файл менеджером для работы с FTP, например - FileZilla.

База данных

Если Вы переходите на новый домен, то у Вас поменяются все ссылки, а это значит, что все ссылки в Вашей базе данных, станут нерабочими на новом домене. То бишь, Вам нужно сменить все ссылки внутри базы данных. Сделать это можно несколькими способами.

Перед работой с базами данных - сделайте резервную копию!Чтобы в случаи возникновения проблем, вы смогли бы вернуть все к исходному состоянию.

Настройка с админки.

В некоторых системах, можно прямо с админки сменить все URL. То есть указать новый домен. Например в WordPress это делается так:

  • В админке перейти в общие настройки.
  • Найти поле Адрес WordPress и Адрес сайта, в них указать новый домен и сохранить настройки. После этого Вас сразу же перенаправит на админку нового сайта

PHP редактор

Второй способ, потребует немного больше знаний и усилий. Его суть заключается в ручной правке. Все упоминания старого домена нужно поменять на новый. Сделать нужно примерно следующее:

  1. Через phpMyAdmin сделайте sql-дамп базы данных.
  2. Откройте этот файл с помощью какого ни-будь редактора для правки кода и запустите замену текста.
  3. Замените все старые упоминания домена http://oldsite.com на новый - http://newsite.com, естественно подставьте свои домены.
  4. Загрузите измененный дамп на сайт и проверьте результат.

SQL запрос

Этот способ осуществляется с помощью SQL запросов. Для каждой системы управления они будут свои. Все здесь я указывать не буду. Вы можете поискать такую информацию на сайтах, форумах посвященных именно вашей системе(движку). Покажу лишь для WordPress, так что если у вас эта система, нужно сделать следующее:

  1. Нужно зайти в phpMyAdmin, выбрать нужную базу и перейти к sql запросам.
  2. Ввести три запроса которые указаны ниже. Сначала нужно в них указать свой старый (http://oldsite.com) и новый домен (http://newsite.com).
UPDATE wp_options SET option_value = replace(option_value, 'http://oldsite.com', 'http://newsite.com') WHERE option_name = 'home' OR option_name = 'siteurl';
UPDATE wp_posts SET guid = replace(guid, 'http://oldsite.com','http://newsite.com');
UPDATE wp_posts SET post_content = replace(post_content, 'http://oldsite.com', 'http://newsite.com');

В своем переносе, ни один из способов не применял, потому как изъять базу данных на старом домене попросту не удалось. Вся информация копировалась вручную. Хорошо, что ее было не очень много.

301 Редирект

Суть переноса в том, чтобы после него все старые ссылки были доступны, но уже с новым доменом. Если Вы переносите на новый хостинг, как это делал я то тут у Вас все отлично. У Вас с старым доменом остается и хостинг, прикрепленный каталог, в котором должны размещаться файлы сайта. Если Вы остаетесь на том же хостинге, то после подключения к сайту нового домена, к старому нужно так-же подключить каталог, для размещения файлов. Это нужно потому, чтобы сделать 301 редирект.

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

Давайте условимся так, что старый сайт у нас будет - oldsite.com, а новый - newsite.com. Вместо них будете подставлять свой старый и новый домен.

И так, что же такое 301 редирект? Редирект - это перенаправление пользователей и поисковых систем из старого адреса на новый. Есть разные коды перенаправления, нас интересует именно 301.

301 Редирект - это постоянное перенаправление, которое указывает, что страница или целый сайт перемещен по новому адресу. При этом старый адрес считается устаревшим и поисковики избавляются от него.

Для того чтобы сделать редирект, нужно на старом домене, там где хранятся старые файлы, найти файл - .htaccess. Он должен располагаться в корневой папке. Если его нет, то создайте его. В него нужно добавить вот такой код:


Options +FollowSymLinks
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} robots.txt$ [NC]
RewriteRule ^([^/]+) $1 [L]

RewriteCond %{HTTP_HOST} ^oldsite\.com
RewriteRule ^(.*)$ http://newsite.com/$1 [R=301,L]
RewriteCond %{HTTP_HOST} ^www.oldsite\.com
RewriteRule ^(.*)$ http://newsite.com/$1 [R=301,L]

Как и описывал выше, вместо oldsite.com и newsite.com подставляйте свой старый и новый домен.

При данном условии, любая ссылка с старым доменом, будет вести на такую-же только с новым доменом. Например, если была ссылка oldsite.com/link.html то после редиректа Вы будете попадать на newsite.com/link.html.

Но иногда бывает, что на новом сайте ссылки на некоторые страницы по тем или иным причинам могут изменится. Вдруг Вы решили link.html заменить на pagelink.html. Тогда, чтобы не было проблем, в том же .htaccess надо добавить так же и такую строку.

Redirect 301 /link.html http://site.ru/pagelink.html

Естественно меняете ссылки на свои. Таких строк может быть много и каждая для перенаправления с одной ссылки на вторую.

Помимо добавления кода в .htaccess, я рекомендую еще добавить несколько правил в файл robots.txt. Дело в том, что после добавления кода выше все поисковые системы, подчинятся правилам и начнут редирект. Но есть один особенный поисковик, который не такой как все. Ему желательно еще немножко помочь, чтобы он перенес тИЦ на новый домен. Как Вы поняли это Яндекс. Открываем robots.txt, если его нет создайте. Если в нем что-то есть, то замените все на такие вот правила:

User-agent: Yandex
Host: newsite.com

User-agent: *
Disallow:
Sitemap: http://newsite.com/sitemap.xml

Как видите мы указали новый домен сайта и расположение новой карты сайта. Теперь все поисковики будут перенаправляться на новый домен. Это то что касается именно 301 редиректа.

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

Если что-то из этой статьи поможет Вам в решении вопроса о переносе, я буду очень рад.

На этом все, спасибо за внимание. 🙂

Дизайн та розробка сайту

Back to top