Table of Contents
Переезд с сохранением ТИЦ и PR
Задача
Перенести сайт с одного доменного имени на другой с сохранением позиций ТИЦ и PR.
Решение
Для склеивания PR, ТИЦ с Яндекса и Гугла при замене домена чаще всего используют такую последовательность действий:
По состоянию на 2010 год поисковики по прежнему обрабатывают 302 код ответа веб сервера (302 temp — документ перемещен временно) “кто во что горазд”. Поисковые роботы чаще всего в первые дни при получении 302 кода игнорируют его, а затем просто обрабатывают его как 301 - навсегда. Поэтому четко сказать, как все пройдет затруднительно. Именно поэтому вместо более теоретически правильного для начала переноса кода сервера 302 (временно), мы будем использовать сразу 301 (перенесен навсегда), с некоторыми дополнениями.
Итак, последовательность действий при смене домена должна быть такой.
Определяем главный хост
Воспользовавшись специальной директивой, созданной для поисковиков определяем главный хост - домен из двух зеркал, т.е. в директиву Host в файлах robots.txt заносим главный домен, далее ждем пока не увидим, что нужный домен стал реально основным.
В текстовом файлике - robots.txt обязательно на старом, да и можно и на новом домене пишем следующее:
- “Disallow: /cgi-bin” - по рекомендации Яндекса ставим директиву Disallow с любым корректным параметром, далее если http://new_name.ru главное зеркало - главный - новый сайт, то наиболее универсальный robots.txt будет выглядит так:
User-Agent: * Disallow: /cgi-bin Host: www.new_name.ru
Кстати говоря, для Яндекса после этого http://www.new_name.ru будет главным доменом, а http://new_name.ru (без www) и если есть и другие домены будут “является неглавными - зеркалом сайта”. То есть с “www” вы уж сразу определяйтесь.
Стоит так же отметить что Host- директива носит рекомендательный характер и не все поисковики её выполняют, но для Яндекса и Рамблера она вполне работоспособна.
Ждём реакции Яндекса
В Яндекс панельку добавления сайтов вбиваем новый домен, и если в ответ получаем - “Указанный вами сайт является неглавным зеркалом сайта www.old_name.ru” значит ждем. Если “Сайт www.new_name.ru уже проиндексирован” значит, двигаемся дальше. Нужно запастись терпением, и хотя бы 2-4 месяцами времени. И только теперь:
Делаем редирект 301
Для зарубежных поисковых машин Google и Yahoo, и др. что говорить более оперативных быстрых поисковых машин, ставим редирект - с кодом - 301.
- на старом домене в корневой директории создаем текстовый файлик .htaccess с такой строкой
Redirect 301 / http://new_htaccess.net.ru/
- или выполненная средствами Модуля mod_rewrite - URL преобразований который, как правило, доступен только на платных хостингах
RewriteCond %{HTTP_HOST} ^www\.old_htaccess\.net\.ru$ [NC] RewriteRule ^(.*)$ http://new_htaccess.net.ru/$1 [L,R=301] RewriteCond %{HTTP_HOST} ^old_htaccess\.net\.ru$ [NC] RewriteRule ^(.*)$ http://new_htaccess.net.ru/$1 [L,R=301]
Справочно, для расшифровки параметров:
^ | Маркер начала строки |
$ | Маркер конца строки |
* | 0 или N из предшествующего текста, т.е. любой символ, который может и отсутвовать вовсе |
$1, $2 | |
redirect|R [=code] | (вызывает редирект) Префикс в Подстановке вида http://thishost[:thisport]/ (создающий новый URL из какого-либо URI) запускает внешний редирект (перенаправление). Если нет никакого кода в подстановке ответ будет с HTTP статусом 302 (ВРЕМЕННО ПЕРЕМЕЩЕН). Если вы хотите использовать другие коды ответов в диапазоне 300-400, просто напишите их в виде числа или используйте одно из следующих символических имён: temp (По-умолчанию), permanent, seeother. |
last|L | (последнее правило) Остановить процесс преобразования на этом месте и не применять больше никаких правил преобразований. Это соответствует оператору last в Perl или оператору break в языке C. Используйте этот флаг для того, чтобы не преобразовывать текущий URL другими, следующими за этим, правилами преобразований. К примеру, используйте это для преобразования корневого URL из ('/') в реальный, например, '/e/www/'. |
Есть специальный формат: %{HTTP:заголовок} где заголовок может быть любым именем HTTP MIME-заголовка. Это ищется в HTTP запросе.
Аргумент директивы RewriteCond. Flags список следующих флагов разделенных запятыми: 'nocase|NC' (регистро независимо)
Итог
В общем нужен запас времени… Если пропустить пункт 1, то Яндекс на время просто выбросит страницы из индекса… на период переезда длительностью вплоть до тех же 2-4 месяцев.
Если одновременно сделать первое и третье, и хост и редирект, то получим по существу только 3 пункт, так как редирект распространяется на все файлы, содержащиеся на сайте, в том числе и на robots.txt, в итоге он становиться вне игры.
Discussion
В течении какого времени PR перенесется у страниц. Поставил SEF компонент, редирект работает. Только у старых страниц был pr2, а у новых Sef урлов 0.