Заработок в итернете » Вебмастеру » Как поменять домен у сайта. 


Зарабатывай на файлах

Рекомендую
Программа для комплексного анализа сайта


Хостинг

Апы

Пользуюсь

Партнёры
2leep.com

Подписка

Календарь
«    Февраль 2014    »
ПнВтСрЧтПтСбВс
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
 

Считалки
Рейтинг@Mail.ru

Участник Blograte.ru


Как поменять домен у сайта.

Добавил: wovanich
Существуют причины, по которым вам нужно сменить домен, где располагается ваш сайт: вы нашли наиболее удачный домен для своего сайта или указали для старого домена несуществующие данные, которые запрашиваются регистром для их подтверждения, что может привести к потере старого домена.
Можно завести два домена на один сайт и многие провайдеры предоставляют такую возможность, так что это не проблема. Однако некоторые неприятности возникнут с тем, что ваши домены не будут равноправны. Старый домен будет на более высоких позициях, ссылки будут вести к прежнему домену, показатели ТИЦ и PR будут принадлежать ему же, а у нового домена будет все по нулям.
Выйти из такой ситуации можно несколькими способами. Есть различные спецификации, дающие описание, как сделать, чтобы новый домен был на нужных позициях в поисковых системах и т.д. Но трудность в том, что бездумное следование спецификациям может привести не к тем результатам, да и к ущербу.
Представим некоторые рекомендации, позволяющие правильно осуществить склейку доменов.

Путь 1-й. Использовать код ответа сервера 301 («301-й редирект»)
Веб-сервер, на котором находится ваш сайт, кроме содержимого веб-страницы отсылает браузеру цифровой код, где описывает состояние запрашиваемой страницы. Код 200 – «все ОК, страница найдена», код 404 – «не нашел никакой страницы по данному адресу».
На случай смены адреса страницы или домена есть спецкод 301 – «страница перемещена», т.е. страница существует по следующему адресу. Получив этот код, браузер меняет в адресной строке старый адрес на новый и открывает страницу уже по новому адресу.
Сделать так, чтобы ваш сервер отсылал по адресам старого сайта код 301 очень легко. Нужно использовать модуль mod-rewrite, но только если хостинг не на windows-серверах.

Найдите в корне вашего сайта файл .htaccess, если его нет, тогда создайте, и добавьте туда строки:
Options +FollowSymLinks # эту строку нужно добавить, если она раньше не встречалась.
RewriteEngine on # эту строку нужно добавить, если она раньше не встречалась.
RewriteCond %{HTTP_HOST} ^www\.старый-сайт\.ru$ [NC]
RewriteRule ^(.*)$ http://новый-сайт.ru/$1 [L,R=301]
RewriteCond %{HTTP_HOST} ^старый-сайт\.ru$ [NC]
RewriteRule ^(.*)$ http://новый-сайт.ru/$1 [L,R=301]

В случае если оба домена находятся в разных местах или в разных каталогах, можно применить более простой код, разместив его только на старом домене (при этом по старому адресу может ничего не быть, кроме файла .htaccess):
Options +FollowSymLinks # эту строку нужно добавить, если она раньше не встречалась.
RewriteEngine on # эту строку нужно добавить, если она раньше не встречалась.
RewriteRule (.*) http://новый сайт.ru/$1 [R=301,L]
После этого запрос адреса по старому домену будет переадресован на новый домен, и поисковые машины передадут все имеющиеся показатели старого адреса на новый.
Однако не все так просто, есть подвох – разрыв во времени между исключением старого домена из индекса поисковой системы и добавлением в него нового. Код 301 редирект дает поисковой машине две команды:
1.исключить из поискового индекса веб-страницу по старому адресу;
2.добавить в поисковый индекс веб-страницу по новому адресу.
Команда 1 осуществляется сразу же, а вот для осуществления команды 2 может понадобиться время (день, неделя, месяц), что зависит от степени загрузки поискового робота. Поэтому ваш сайт не будет показываться в поисковых машинах какое-то время. Также может случиться и так, что поисковый робот выполнит команду 1 для всех страниц сайта, а команду 2 частично, и часть сайта выпадет из индекса.
Скорость отработки кода 301 редирект зависит от поисковой машины. Быстрее всего это делает Google, в ней разрыв между командой 1 и командой 2 обычно составляет несколько дней. В Яндексе этот процесс может длиться и полгода.

Путь 2-й. Использовать код ответа сервера 302.
Этот код аналогичен коду 301, но отличие в том, что он обозначает то, что страница перемещена на новый адрес временно. Поэтому он сообщает, что страница теперь находится по новому адресу, но при этом старый адрес не надо удалять из поискового индекса, потому что страница может быть на него возвращена.
Для работы 302 редиректа можно использовать коды, описанные в 1-м пути, необходимо только заменить 301 на 302. Все будет работать аналогично предыдущему случаю, также будет происходить переадресация, но разрыва в видимости сайта в поисковых машинах не должно быть, т.к. старый домен не должен выпадать из индекса поисковой машины.
Но есть некоторые проблемы. На самом деле поисковые машины до сих пор не знают правильной обработки 302 редиректа.

Если понимать его как временную смену адреса, то нет смысла что-либо менять, ведь страница вернется на предыдущий адрес, поэтому его логично вообще не использовать. Однако большое количество пользователей использует 302 редирект именно для смены сайта, следовательно, было бы логично обрабатывать его в соответствии с ожиданиями пользователей. Но держать в базе несколько копий веб-страниц по разным адресам – неразумно и затратно, поэтому с точки зрения оптимизации 302-й следует обрабатывать так же как 301 редирект.
Из-за этого поисковые машины применяют «динамические» алгоритмы обработки 302 редиректа, изменяя их по необходимости в конкретной текущей ситуации. В первые дни появления кода 302 в ответах сервера, поисковики могут его игнорировать, а если он просуществует достаточно долго, то они начнут его обрабатывать как 301 редирект. Четких правил тут не существует, они постоянно подвергаются изменению, и если с одним сайтом удалось успешно использовать код 302, то не факт, что повезет в следующий раз.

Путь 3-й. Использовать директиву Host.
Следующий способ, позволяющий изменить адрес сайта, использовать директиву Host в файле robots.txt.
Если дело касается смены домена целиком, то это самый разумный из всех путей. Найдите в корне вашего сайта файл robots.txt, найдите в нем блок, который состоит из директив Allow и Dissalow и сразу после него (не оставляйте пустых строк) вставьте строку:
Host: site.ru # где site.ru название вашего нового домена.

Если такого файла как robots.txt в корне вашего сайта нет, тогда создайте его и заполните следующим содержимым:
User-agent: Yandex
Disallow:
Host: site.ru # где site.ru название вашего нового домена.

Эта директива сообщает поисковым машинам, чтобы они в случае нахождения нескольких доменов с одинаковым содержимым использовали в качестве основного домен, указанный в директиве Host. Эта директива просто сообщает, на какой домен надо ориентироваться. Поэтому она считается самым безопасным способом сменить домен у сайта.

Но он не считается надежным, т.к. директива Host носит рекомендательный, а не обязательный характер. Поэтому поисковая машина может принять ее во внимание, а может и не сделать этого.
Яндекс следует ее указаниям, а Google не всегда к ней прислушивается.

Путь 4-й. Использовать все.
Так как не существует универсального пути при смене домена угодить всем поисковикам, то нужно удовлетворять всякую поисковую машину отдельно. Практика показала следующую оптимальную последовательность действий:
1.Для Яндекса и Рамблера прописываем директиву Host в файле robots.txt и ожидаем, пока новый домен не станет основным (ждать иногда приходится довольно долго). Проверку можно выполнить с помощью добавления нового домена в форму по адресу http://webmaster.yandex.ru/addurl.xml. В случае получения сообщения: «Указанный вами сайт является неглавным зеркалом сайта» вам необходимо еще подождать. Если в сообщении будет написано, что домен уже проиндексирован, то переходите к п.2.
2. Для Google и Yahoo! прописываем 301 или 302 редирект, т.к. они обрабатывают их с приемлемой скоростью.

Несколько советов.
- не меняйте местами п.1 и п.2, т.к. сделав все наоборот, по коду 301 Яндекс может на некоторое время потерять страницы вашего сайта.
- не объединяйте п.1 и п.2, т.к. это может привести к тому, что директива Host при назначенном 301 редиректе не будет работать, потому что редирект будет распространяться и на файл robots.txt – поисковик не будет его читать.

Но есть еще одна хитрость. При назначении 301 редиректа не всегда может подойти способ, описанный выше, т.к. на ряде хостингов нет ни mod_rewrite, ни возможности использовать файлы .htaccess.

Код 301 можно назначить следующим способом (в случае, если ваш сайт построен на CMS, например Joomla!, Drupal, WordPress, Bitrix и т.д.):
1. нужно найти в корне вашего сайта файл index.php;
2. затем найдите в начале этого файла строки со словом require или include;
3. сразу перед этими строками вставьте следующий код:
if ($_SERVER['HTTP_HOST'] != "новый домен")
{
header("HTTP/1.0 301 Moved Permanently");
header("Location: http://новый домен");
}


Вместо «новый домен» укажите имя вашего нового домена без приставки http://, домен может быть как с www, так и без www.
Этот способ назначения 301 редиректа, позволяет использовать одновременно c 301 редиректом директиву Host, но лучше этого не делать.
ПРОСМОТРОВ - 9528
КОММЕНТАРИЕВ - (0)