Здравствуйте, уважаемые посетители моего скромного блога для вебразработчиков и web мастеров ZametkiNaPolyah.ru. Продолжая рубрику Заметки для вебмастера, я решился таки открыть новый раздел Заметки о хостингах и доменах, где попытаюсь рассказать все-то, что должен знать начинающий вебмастер о хостингах и доменах. И первое о чем мы поговорим, о таком явлении, как 301 redirect и все что с ним связано, так же мы поговорим, какое доменное имя использовать с www или без www, а если быть более точным, какое имя сайта будет главным, а какое соответственно зеркалом сайта.
Что такое WWW, для чего необходима склейка доменов.
Предлагаю немного вернуться в те темные и страшные времена, когда World Wide Web или Всемирная паутина, которую все сейчас называют интернет, была малой частью интернета, а машины на которых размещалось программное обеспечение или по простому сервера были настолько слабыми, что приходилось разделять сервера, то есть Apache с PHP-сервером гоняли на одном компьютере, сервер баз данных на другом, почтовый сервер SMPT на третьем. В те времена имена серверов начинались с названия сервера, к которому обращались, например: www.sait.com
, mail.sait.com
, и ftp.sait.com
В настоящее время необходимости использовать www нет никакой, но по некоторым причинам от энтого апендикса не избавляются, так как существует масса каталогов, которые автоматически прибавляют к доменному имени сайта приставку www, некоторые пользователи до сих пор вводя URL в адресную строку пишут www, причин вообщем-то масса. И получается на данный момент у нас следующая ситуация — сайт www.sait.ru и sait.ru по своей сути являются разными объектами в сети, хотя ведут они на одну и ту же страницу сайта. Получается, что www.sait.ru является псевдонимом домену sait.ru и наоборот, иначе говоря alias.
Если вы создали сайт для души и на нем очень уникальная и специфическая информация, то для вас не будет проблемой склейка доменных имен, а вот если у вас возникнет желание раскрутить сайт, то есть провести поисковую оптимизацию, то проблема склейки доменных имен для вас может быть актуальной. Дело все в том, что поисковая система может посчитать, что www.sait.ru и sait.ru это два разных сайта.
Еще одной проблемой могут стать внешние ссылки, то есть ссылка www.sait.ru и sait.ru это будут разные внешние ссылки на разные сайты. Данный факт может понизить рейтинг сайта в выдаче поисковых систем. Так же у поисковых систем есть тенденция не индексировать сайты двойники, а как я уже говорил, sait.ru и www.sait.ru это два разных сайта, но с полностью одинаковым содержимым и один из них может быть забанен поисковой системой, причем необязательно будет забанен сайт с меньшей посещаемостью.
Redirect — выход их сложившейся ситуации. Суть редиректа в том, что один из псевдонимов переадресовывается на другой, то есть получается переадресация к самому себе, как бы замкнутый круг. На разных серверах есть несколько вариантов редиректа, в данной статье я рассмотрю редирект на сервере Apache при помощи файла .htaccess.
Redirect 301. Склейка доменов.
Склеивать домены можно по разному, можно сделать так, что бы домен с www был основным, а домен без www был зеркалом, то есть переадресация будет происходить с сайта sait.ru на www.sait.ru, а можно склеить домены и наоборот. Данный способ склейки доменных имен будет работать, при условии, что ваш хостер использует HTTP-сервер Apache. Все на самом деле просто до безобразия. В корневом каталоге сайта нужно будет создать файл с расширением .htaccess, точнее не с расширением, а именно так и назвать файл .htaccess, если .htaccess уже создан, что скорей всего так и есть, вам необходимо будет открыть файл на редактирование, воспользовавшись ftp-клиентом, обратите внимание, что файл .htaccess является скрытым.
После, того как вы нашли файл .htaccess, его необходимо будет открыть на редактирование при помощи текстового редактора, например при помощи Notepad++ и дописать несколько строчек.
Склейка доменов — redirect 301, переадресация с домена www на домен без www:
[html]
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.vash_sait\.ru$ [NC]
RewriteRule ^(.*)$ http://vash_sait.ru/$1 [R=301,L]
[/html]
Если дописать эти строки в .htaccess файл, переадресация будет происходить с домена www.site.ru на домен site.ru, то есть site.ru будет основным, а www.site.ru — зеркалом.
Склейка доменов — redirect 301, переадресация с домена без www на домен с www:
[html]
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ^vash_sait\.ru$ [NC]
RewriteRule ^(.*)$ http://www.vash_sait.ru/$1 [R=301,L]
[/html]
Не забывайте про обратную наклонную черту перед точкой (.) в строке RewriteCond — она обязательна. При 301 редиректе Google должен объединять PR сайтов. После этой труднейшей операции, сайт будет доступен как по доменному с www, так и без www, но перенаправление будет осуществляться на тот домен, который вы указали в файле .htaccess. Этот способ назвывается «перенаправление с шаблоном».
Robots.txt, директива Host или как задать главное доменное имя для Яндекса
Но поисковой системе Яндекс, мало того, что мы склеили домены в файле .htaccess (сделали переадресацию). Под Яндекс надо будет еще править файл robots.txt, который так же будет находиться в корневом каталоге сайта, доступ к этому файлу можно будет получить так же, при помощи FTP-менеджера.
Дописать придется одну строчку, в которой нам надо создать директиву Host:, а в этой директиве написать тот домен, который мы хотим сделать основным.
Код добавляемый в файл robots.txt, директива Host, основное доменное имя
[html]
User-agent: Yandex
Disallow:
Host: zametkinapolyah.ru</div>
[/html]
User-agent: Yandex, это специальная секция для поисковых роботов Яндекса, и директиву Host создавать следует именно в ней, так как роботы других поисковых систем вообще не слышали о такой директивы, как они ее воспримут для меня загадка.
Директива Disallow была создана в соответствие со стандартом написания файла robots.txt, который гласит о том, что в каждой секции User-agent должна присутствовать хотя бы одна директива Disallow, но так как запрещать в этой ситуации нам ничего не надо, директиву Dissallow мы оставляем пустой.
301 redirec как переадресация с одного доменного имени на другое доменное имя
Это вам понадобиться, если сайт размещен на бесплатном хостинге, но вам необходимо купить доменное имя и прекрутить его, но тут возникнет ситуация, при которой сайт будет доступен и по доменному имени третьего уровня adskiy_sait.mega_hoster.su, так и по купленному доменному имени, доменному имени второго уровня klassniy-sait.ru, что не есть гуд, и с этим печальным явлением надо бороться. Это легко исправить в файле .htaccess.
[html]
RewriteEngine On
RewriteCond %{HTTP_HOST} adskiy_sait.mega_hoster.su
RewriteRule (.*) http://klassniy-sait.ru/$1 [R=301,L]
[/html]
Теперь при обращение к домену третьего уровня, вас автоматически будет перенаправлять на домен второго уровня.
На этом всё, спасибо за внимание, надеюсь, что был хоть чем-то полезен и до скорых встреч на страницах блога для начинающих вебразработчиков и вебмастеров ZametkiNaPolyah.ru
Говорят, что для раскрутки сайта нужно, чтобы доменное имя было популярным в интернете, так правильно?
Дима:
По моему скромному мнению доменное имя не влияет на место в поисковой выдаче. Также я считаю, что на популярность и раскрутку сайта влияют следующие факторы: ссылочная масса(обратные ссылки с других сайтов), желательно схожей тематики, чем вы кстати не применули воспользоваться, хорошо оптимизированный текст, с нужной пропорцией ключевых слов и самое сильное на мой взгляд влияние на место в поисковой выдаче оказывает внутренняя перелинковка. Обо всех этих факторах и немного больше я писал в статье «SEO — поисковое продвижение и в чем оно заключается»
Вот вы рекомендуете делать Redirect 301 на домен без WWW, а скажите почему тогда поисковая система Гугл делает редирект 301 на свой домен с WWW, наверное, инженерам и сотрудникам Гугл лучше известны все эти особенности редиректов и использования доменов, а вы людям голову марочите тут с 301 Redirect, вообще зачем он нужен ну и будет у меня два домена, что мне хуже от этого станет?