301 редирект htaccess с одного домена на другой

При смене домена возникает необходимость перенаправить пользователей с одного домена на другой. Для этого используется 301 редирект. Он позволяет сообщить поисковым системам о том, что перенаправление является постоянным, а также сохранить вес, полученный веб-страницами в частности и сайтом в целом. Примечательно, что для автоматизации перенаправления с одного домена на другой удобно использовать соответствующие директивы 301 редиректа в файле .htaccess. Об этом и некоторых особенностях данного процесса мы и поговорим.

Перед созданием 301 редиректа…

А начну я с того, что перед созданием перенаправления, стоит тщательно проверить работоспособность сайта на новом домене. В частности:

  • Проверьте директивы в файле robots.txt.
  • Проверьте метатеги Robots на веб-страницах сайта, на новом домене.
  • Проверьте метатеги canonical.
  • Проверьте доступность страниц.
  • Обязательно создайте 404 страницу и установите на неё счётчик, в дальнейшем это позволит отследить наличие проблем.

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

Перенаправление с одного домена на другой в .htaccess

Существует достаточно много вариантов решения поставленной задачи. Лично я рекомендую использовать вот такой вариант?

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} robots.txt$ [NC]
RewriteRule ^([^/]+) $1 [L]
RewriteCond %{HTTP_HOST} ^(www\.)?old-domain\.ru$
RewriteRule ^(.*)$ http://www.new-domain.ru/$1 [R=301,L]
</IfModule>

Чем хорош данный вариант? Во первых, он исключает из редиректа на старом домене файл robots.txt, что позволяет задать в нём директиву Hostс указанием нового домена. Это работает только для поисковой системы Яндекс, подробней читайте тут. Я же отмечу, что директива Hostможет быть указана где угодно, но лучше будет указать её так:

User-agent: Yandex
Disallow: /cgi-bin
Host: www.new-domain.ru

Во вторых, этот вариант осуществляет редирект с одного домена на другой, независимо от того было ли указано в старом домене www. или нет, учтены оба варианта.

Очевидно и то, что для работы приведенного примера редиректа необходимо указать свои домены. Обращаю ваше внимание на то, что в регулярном выражении директивы RewriteCond необходимо экранировать спецсимволы, тот же символ точки (.), например: old-domain\.ru, в то время как для нового домена в этом нет необходимости, но нужно начинать именно с HTTP-протокола, т.е. http:// и т.д.

К слову, новый домен можно указать и без www. в начале, но тут не забывайте о главном зеркале.

Дополнительные рекомендации

Рекомендация 1: Ещё до установки редиректа можно использовать директиву Hostдля Яндекс и метатег canonicalдля Google, а также файл sitemap.xml с URL-адресами страниц на новом домене; дождаться склейки и только тогда ставить редирект.

Примечание: Проверить склейку в Яндекс можно путём добавлении не главного зеркала (старого домена) в форму Сообщить о новом сайте, она возвращает соответствующее сообщение: Указанный вами сайт является неглавным зеркалом сайта...

В Google для этого можно использовать поисковый оператор запросов info:, указав в качестве значения старый домен, например: info:old-domain.ru.

Также Вы можете использовать и ряд онлайн сервисов, например: проверка домена на склейку от SEOGadget, проверка склейки на webmasters.ru и т.д.

С моей точки зрения лучше сразу ставить 301 редирект с исключением файла robots.txt, что избавит нас от лишних телодвижений и проблем с дублями.

Рекомендация 2: зарегистрируйте сайт на новом домене в Яндекс.Вебмастер и Google инструменте для веб-мастеров, не удаляя сайт на старом домене.

Рекомендация 3: используйте инструмент «Изменение адреса» в Google инструменте для веб-мастеров, чтобы сообщить Google о новом домене сайта. Для этого должен быть добавлен и подтверждён сайт на старом домене. Выбираем его в списке. На открывшейся странице кликаем список с иконкой в виде шестеренки, а потом пункт «Изменение адреса».

Инструмент изменения адреса в Google инструментах для веб-мастеров

Рекомендация 4: будет не лишним создать файл sitemap.xml на новом домене и добавить его в Яндекс.Вебмастер и Google инструменты для веб-мастеров.

Рекомендация 5: внимательно следите за сообщениями сервисов для вебмастеров. В частности, особый интерес могут представлять отчёты:

  • Индексирование сайта > Исключенные страницы – в Яндекс.Вебмастер.
  • Сканирование > Ошибки сканирования (вкладка «Не найдено») – в Google инструментах для веб-мастеров.

На этом у меня всё. Спасибо за внимание. Удачи!

Короткая ссылка: http://goo.gl/sTIVZA