Блогосфера примечательна тем, что часто люди пишут, не разобравшись в ситуации. Возьмём таку простую вещь, как
склейка доменов. Забьём в Google и проверим выдачу. Множество хороших статей на эту тему. Начинаем читать одну из них. Встречаем строчку:
для склейки Google используется 301 редирект, а для склейки Yandex – запись в Robots.txt (не дословно).
Т.к. на форуме постоянно появляются темы с подобными вопросами, а посылать людей читать статьи, содержащие вышенаписанное предложение, мы не имеем морального права, я решил написать небольшое руководство по склеиванию доменов.
Прежде всего, необходимо чётко различать
зеркало сайта и
редирект.
Зеркало – это сайт, являющийся полной или частичной копией другого сайта. Если поисковая система видит одинаковые сайты с двух различных доменных имён, то, скорее всего, она станет считать их одним сайтом. В выдаче будет участвовать только один из сайтов, тот, кого поисковая система посчитает главным зеркалом. Индексироваться будет тоже только один из сайтов, а вот их ссылочная масса, ТИЦ,
PageRank и прочие пузомерки будут суммироваться. Чаще всего, сайты с «www» и без являются зеркалами.
Вы можете провести эксперимент: скопируйте полностью весь свой сайт на другой хостинг с другим доменным именем и проверьте, через сколько времени поисковые системы поймут что это – зеркало.
Проверить зеркальность домена просто: попробуйте добавить его в
адурелку Яндекса и, если для Яндекса этот домен является зеркалом, он вам так и сообщит. Также можно поступить и с Google, а можно просто набрать
info:example.com в строке поиска и, если в возвращаемом результате будет другое доменное имя, значит, сайт является зеркалом.
Редирект – это всего лишь
один из способов создания зеркала. Всё логично: зачем полностью копировать сайт, если можно просто сделать перенаправление. С точки зрения поискового робота, страница с редиректом и без него отличается всего на одну строчку. Но робот распознаёт эту строчку, а, следовательно, он может учитывать её наличие для отличия основного домена от неосновного.
Методов осуществления редиректа довольно много. В первую очередь, это использование файла .htaccess на серверах с Apache. На эту тему написано очень много документации, но я люблю
первоисточники (осторожно: английский). В общем, чтоб не нагружать вас чтением мануалов (если, конечно, вам это не интересно), я просто напишу 2 примера.
Добавив первый в файл .htaccess в корневом каталоге вашего хостинга, вы получите redirect с сообщением 301 с домена с www на домен без него.
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.example\.com$ [NC]
RewriteRule ^(.*)$ http:// example.com/$1 [R=301,L]
Добавив второй, вы получите обратный результат.
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ^ example \.com$ [NC]
RewriteRule ^(.*)$ http://www. example.com/$1 [R=301,L]
Если нет возможности использовать файл .htaccess, то redirect можно осуществить и другими способами, например с помощью скриптов. Например,
тут можете почитать как сделать редирект с помощью php скрипта.
Теперь мы подошли к главному вопросу:
для чего нам это бывает нужно?Я заметил, что чаще всего вопросом склеивания и редиректа задаются именно тогда, когда хотят перенаправить сайт с www на сайт без него или наоборот. Чаще всего, это можно и не делать: как я уже писал, сайты с www и без, скорее всего, являются зеркалами и об этом уже знают поисковые системы (особенно такие продуманные как Google и Яндекс). Но бывают ситуации, когда поисковые системы не видят очевидного, и их необходимо ткнуть мордой. Если вы проверили свои домены как написано выше и поняли, что они не являются зеркалами, то вам необходимо срочно их склеить.
1. Разберитесь, не ведут ли имена с www и без него на разные сайты.
2. Посмотрите, какие заголовки возвращаются браузеру (или роботу) при обращении по адресам. Для этого вы можете воспользоваться инструментом
Сайт глазами поиcкового робота Вас интересует наличие строчки
HTTP/1.1 301 Moved Permanently
Если строчка есть – значит редирект уже стоит и вам ничего не остаётся, как ждать, когда это заметит робот. Если строчки нет – то поставьте редирект, как написано выше.
И остался последний момент: Ваши сайты являются зеркалами, но вам не нравится, какой из них выбран главным. Изменить это очень просто, но иногда возникают проблемы с Яндексом.
Вообще, в случае большинства поисковых систем, сайт, на котором стоит редирект автоматически становиться неглавным зеркалом.
Для Google ещё можно указать какое зеркало является основным с помощью
Инструментов для вебмастеров в разделе «Конфигурация сайта».
Для Яндекса вместо Инструментов для вебмастеров необходимо воспользоваться директивой
Hosts в файле Robots.txt. Наличие этой директивы не гарантирует смены главного зеркала, но является важным фактором при его определении.
Для использовании директивы, достаточно на всех сайтах, являющихся неосновными зеркалами в robots.txt дописать:
Host: www.example.com
, если вы хотите, чтоб www.example.com был основным зеркалом.
Если зеркало организованно с помощью редиректа, то, естественно, robots.txt будет один.
Подробнее о директиве Host для Яндекс вы можете прочитать
тут.
Собственно, это всё, что я хотел сегодня рассказать. Если у вас возникнут дополнения – я с радостью обсужу их с вами.