Домены с www и без www — история появления, использование 301 редиректа для их склеивания

Есть мнение, и оно не безосновательно, что каждый сайт должен иметь 301 редирект, который был бы настроен так, чтобы один из сайтов, с или без www, был главным (например, для моего блога, главным является ktonsnovenkoQO.ru, и при заходе по адресу www.ktonanovenkogo.ru, вас автоматически перебросит на ktonanovenkogo.ru). Для чего это нужно, спросите вы? Об этом я постараюсь рассказать в этом посте, но начать, пожалуй, стоит с истории зарождении самой проблемы, связанной с использованием или не использованием приставки WWW в названии сайта.
 
image3

Откуда появилась приставка WWW и что в этом плохого для начинающего вебмастера

Примерно десять лет назад World Wide Web (Всемирная паутина — то, что мы сейчас и считаем, собственно, интернетом) была лишь малой частью интернета, а сервера были очень слабенькими, поэтому приходилось размещать, например, сервер Apache на одном компьютере, почтовый сервер на другом, а сервер FTP на третьем. Имена серверов начинались с названия машин, на которых они располагались, и в зависимости ОТ предоставляемого сервиса, выглядели так: www. domain. com, mail. domain. com, И ftp. domain. com (а так же совсем раритет — gopher. domain. com).

В настоящее же время приставка www является анахронизмом и должна была бы благополучно отмереть, однако, до сих пор существует масса каталогов, которые автоматически прибавляют к имени сайта вида domain.com пресловутое www. Так же существует немало пользователей, которые автоматически набирают в браузерах адрес сайта с www в начале (все же знают песню группы Ленинград). Поэтому www остается и создает очень интересную ситуацию. Получается, что www. domain. com и domain. com технически считаются полностью различными объектами, причем www. domain. com является родственным домену третьего уровня вида sub. domain. com. Но при этом же, обычно, www. domain. com и domain. com ведут (или должны вести) на одну и туже страницу (в отличии от субдомена sub. domain. com), т.е. получается, что каждый только псевдоним для другого (алиас или же по англицки alias).

Конечно же, можно все это пропустить и не забивать голову, но если вы всерьез заботитесь о продвижении вашего сайта в поисковых системах, то это может быть серьезной помехой у вас на пути. Смотрите сами что получается. Многие поисковики воспримут domain.com и www.domain.com как разные сайты, со всеми вытекающими отсюда последствиями. А именно — все внешние ссылки на ваш сайт будут делится на две части, в зависимости от того, в каком виде на вас проставили ссылку (с www или же без него). Получается, что вы лишаетесь части внешних ссылок на ваш сайт, а это, соответственно приводит к понижению сайта в рейтинге поисковиков, и пользователей с них к вам будет приходить меньше, чем могло бы. Кроме этого еще нужно учитывать то что серьезные поисковики (Google, например) борются за уникальный контент и не индексируют страницы (и даже сайты целиком) двойники, что чревато для нашей ситуации. Поясню.

Допустим, что домен domain. com стал популярным и на него много ссылаются, но, как на зло, при начальной индексации сайта поисковик нашел первым домен www. domain. com и теперь получается, что domain. com стал двойником (не имеет уникального содержания) и с большой долей вероятности он выпадает из рейтинга. Печально, не правда ли? Теперь поговорим о том, как этого избежать. Кто-то очень умный придумал способ как переадресовать один псевдоним к другому, который по существу является переадресацией к самому себе. Способ это называется Редирект и существует несколько вариантов его реализации на разных серверах. Я приведу здесь самый простой на мой взгляд способ, с использование файла .htaccess.

Редирект 301: с WWW на без WWW и наоборот

Файл .htaccess нужно создать в корневом каталоге сайта или открыть на редактирование, если он уже имеется. Этот файл является скрытым и поэтому, чтобы его увидеть нужно зайти в корневую папку вашего сайта на сервере (Как настроить доступ к сайту по FTP с помощью программы FileZilla) и в верхнем меню программы FileZilla выбрать пункт «Сервер» — «Принудительно отображать скрытые файлы».

image3_1

Итак, открываем этот файл обычным текстовым редактором, можно к примеру в Notepad++, и дописываем следующие строки для варианта редиректа с www на без www:

1 Options +FollowSymLinks
2 RewriteEngine On
3 RewriteCond %{HTTP_HOST} ^www.vash_sait\.ru$ [NC]
4 RewriteRule ^(.*)$ http://vash_sait.ru/$1 [R=301,L]

Вариант редиректа с без WWW на WWW:

1 Options +FollowSymLinks
2 RewriteEngine On
3 RewriteCond %{HTTP_HOST} ^vash_sait\.ru$ [NC]
4 RewriteRule ^(.*)$ http://www.vash_sait.ru/$1 [R=301,L]

He забывайте про обратную наклонную черту перед точкой (.) в строке RewriteCond — она обязательна. Вы можете так же ознакомиться и с другими вариантами 301 редиректа на этой странице. При 301 редиректе Google должен объединять PR сайтов. Теперь, кстати, ваш сайт будет доступен и по доменному с www, так и без www, но в адресной строке вас будет перебрасывать на то имя, на которое вы настроили редирект. Этот способ называется «перенаправление с шаблоном». В результате получается следующее: если набрать в адресной строке, например, http://www.ktonanovenkogo.ru/karta-sajta, то пользователь будет автоматически перемещен на ту же страницу, только без www — http://ktonanovenkogo.ru/karta-sajta.

Директива Host, позволяющая задать главное зеркало сайта для Яндекса

Для Яндекса дополнительно надо определить какое зеркало сайта является главным, с помощью директивы ‘Host’ в файле Robots. txt. Он также, как и файл . htaccess находится в коневом каталоге вашего сайта (если его там не окажется, то вам нужно будет его создать у себя на компьютере, в любом текстовом редакторе, а затем закинуть в корень сайта по FTP). Код добавляемый в Robots. txt должен выглядеть следующим образом:

1 User-agent:  Yandex
2 Disallow:
3Host:  ktonanovenkogo.ru4 User-agent:  Yandex

Лучше будет вынести директиву ‘Host’ в отдельную секцию, предназначенную только для робота Яндекса (User-agent: Yandex), т.к. возможно, что другие поисковики (Google, например) могут некорректно отработать непонятную им директиву. Так же по стандартам файла robots. txt в каждой секции ‘User-agent’ должна присутствовать хотя бы одна директива ‘Disallow’, поэтому мы и поставили в коде пустую, ничего не запрещающую директиву Disallow:. Мой файл Robots. txt, после добавления приведенного выше кода, стал выглядеть так:

1 User-agent:  *
2 Disallow:

5 Disallow:
6 Host:  ktonanovenkogo.ru

7
8 Sitemap:  http://ktonanovenkogo.ru/sitemap.xml.gz
9 Sitemap:  http://ktonanovenkogo.ru/sitemap.xml

Более подробно о создании файла robots. txt вы можете прочитать в этой статье: Улучшаем индексацию сайта поисковиками — Robots.txt для Joomla, SMF, WordPress

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

У меня, кстати, возникла еще одна необходимость воспользоваться 301 редиректом. Дело в том, что некоторые мои сайты базируются на бесплатном хостинге, который при регистрации предоставляет бесплатное доменное имя третьего уровня. Но я практически сразу покупал для сайтов доменные имена второго уровня, которые затем успешно прикручивал к своим сайтам. Проблема была в том, что сайты оставались доступны и по старым бесплатным доменам третьего уровня (например, gurhan.oxnull.net). Вот для разрешения такой ситуации, я так же прописал в файле . htaccess следующий код:

1 RewriteEngine On
2 RewriteCond %{HTTP_HOST} gurhan.oxnull.net
3 RewriteRule (.*) http://caokun.ru/$1 [R=301,L]

Теперь если в браузере набрать http://gurhan.oxnull.net, то произойдет автоматический переброс на сайт http://caokun.ru.

Posted in SEO: Поисковая Оптимизация от А до Я.