GoGetLinks — самая выгодная биржа рекламных обзоров

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

8 октября, 2009 | Рубрика: Хостинг и домены

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

Откуда появилась приставка 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 выбрать пункт "Сервер" - "Принудительно отображать скрытые файлы".

Включение отображения скрытых файлов в FileZilla

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

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

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

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

Не забывайте про обратную наклонную черту перед точкой (.) в строке 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 должен выглядеть следующим образом:

User-agent: Yandex
Disallow:
Host: ktonanovenkogo.ru

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

User-agent: *
Disallow:

User-agent: Yandex
Disallow:
Host: ktonanovenkogo.ru

Sitemap: http://ktonanovenkogo.ru/sitemap.xml.gz
Sitemap: http://ktonanovenkogo.ru/sitemap.xml

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

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

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

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

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

Вы так же можете ознакомиться с другими статьями на эту же тему:

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

Удачи вам! До скорых встреч на страницах блога KtoNaNovenkogo.ru


Спасибо Вам за добавление этой статьи в
Подписаться на обновления по E-mail RSS
Получать обновления на E-mail
GoGetLinks — самая выгодная биржа рекламных обзоров
Кстати, тоже интересно почитать:
Рубрика : Хостинг и домены Теги : , , , , ,

Комментарии
10 октября 2009

Спасибо огромное – ваша статья очень помогла!!! =)


14 октября 2009

Я на первых парах пробовал сделать редирект, но после этого сайт вовсе не отображался, как с приставкой, так и без, поэтому вернул пустой .htaccess. Наверное я что-то делал не так и сейчас смогу разобраться. Быть может поможет, спасибо!


22 октября 2009

Полезная статья – надо будет обязательно сделать на своем блоге.
Хотя вот проблемка – делал этот редирект на одном своем проекте изаметил что онс стал после этого хуже индексироваться – убрал все вернулось обратно. может из за того что в robots.txt не указал для яндекса хост?


22 октября 2009

Игорь, если получилось так, что вы выбрали в виде главного зеркала не тот вариант, что выбрал Яндекс, а в роботе для Яндекса это явно не указали, то в этой ситуации может быть вообще прекращение индексации вашего сайта Яндексом. Его робота будет перекидывать с основного для Яндекса зеркала на второстепенное, которое он, по алгоритму его работы, индексировать не будет. =)


29 октября 2009

Спасиба! =)

Max

3 декабря 2009

Скажите а куда именно вставлять этот код? в конец, в начало или между какимто кодом?
# -FrontPage-
# BEGIN WPSuperCache
# END WPSuperCache
# BEGIN WordPress
# END WordPress

Nikita

4 декабря 2009

Nikita: в принципе, не так важно в каком месте файла .htaccess будет прописан данный код. Я его, например, вообще добавил внутрь правила, которое прописал плагин защины фото от воровства:

# BEGIN WordPress
<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.ktonanovenkogo\.ru$ [NC]
RewriteRule ^(.*)$ http://ktonanovenkogo.ru/$1 [R=301,L]

RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !http://ktonanovenkogo.ru
RewriteRule (wp-content/uploads.*\.(gif|jpg|jpeg|png)$) http://ktonanovenkogo.ru/wp-content/plugins/hotlink-protection/forbid.png [L]
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

4 декабря 2009

Здравствуйте!
Спасибо за полезную статью. Сам недавно сделал 301 редирект, только не между с www и без www, а со старого доменного имени на новое. Однако я не стал прописывать в robots новый домен, потому что считал, что робот Яндекса файл robots на старом домене никогда не прочитает из-за того, что всегда будет перекидываться на robots, лежащий по новому адресу. Как Вы считаете, прав ли я? Сейчас страницы с нового домена постепенно попадают в индекс Яндекса, старые выходят из него. Вот только позиции новых страниц далеко не такие, как старых.

Денис

5 декабря 2009

Немного н по теме вопрос, но раз уж тут лазили в .htaacess
У меня такой вопрос: у меня на сайте иногда появляется ошибка в которой пишется, что нет доступа к файлу refresh_informers.php и в тоже время пропадает возможность изменять все файлы в вордпресе через админку. хотя доступ стоит 7.
сайт http://www.victoryinvestors.com

Nikita

5 декабря 2009

Денис: мне пока вплотную не приходилось заниматься переносом сайта на другой домен с сохранением пузомерок. Есть неплохой материал по этой теме у Димокса (знаете, наверное). Он это на своем опыте проверил и написал цикл статей. Вот ссылка на результирующую статью – http://dimox.name/speed-comparison-of-domains-splicing-by-yandex/
Все это я прочитал, но т.к. на практике не применял, то оно не отложилось, что именно и как лучше будет сделать. Почитайте сами, там вроде все доступно и понятно описано =)

Nikita: к сожалению, ничего путного не могу сказать по вашему вопросу, странная ситуация, на мой взгляд. =-O


6 декабря 2009

Здравствуйте.
Спасибо за полезную статью.Извините что отвлекаю и трачу ваше время на такую мелочь но все же не могли бы прописать полный путь к файлу htaccess на пример ваш путь к этому файлу

Денис

6 декабря 2009

Денис: он лежит в корне сайта. У меня путь получается такой:

public_html/.htaccess

Если вы его не видите, то в FileZila нужно в верхнем меню выбрать пункт “Сервер” – “Принудительно отображать скрытые файлы”.
Про работу с файлами сайта по FTP можете почитать здесь: Как получить доступ к сайту по FTP с помощью программы FileZilla


6 декабря 2009

В корне, где index.html или index.php и т.д.


6 декабря 2009

Спасибо вам Дмитрий второй раз к вам обращаюсь и оба раза вы мне помогали.
Успехов вам

Денис

8 декабря 2009

Дмитрий, спасибо за ссылку на статью Димокса. Почитал, интересно.

Денис

15 января 2010

Отличная статья, вмиг все удолось поправить и теперь все отлично работает.
httpacces, FreeBSD, Postfix, SQUID, NAT, Firewall, все это я изучаю вторую неделю, вродебы результаты уже не плохие, желаю вам успехов, А ваша статья мне очень помогла.


18 января 2010

Здравствуйте, спасибо за статью. Но у меня этот редирект работает таким образом, что с http://www.домен.ru/папка перекидывает на домен.ru, а не на домен.ru/папка. В этом, вероятно, виноваты настройки сервера?

Евгений

23 января 2010

Спасибо за отличный цикл статей!
У меня вопрос такой. Имеет ли принципиальное значение, какой редирект прописывать в .htaccess: с домена с www на домен без www или же наоборот? И зависит ли это от того, какой Host прописан в robots.txt: опять же – с www или без www? Надеюсь, понятно изложил вопрос )) Спасибо заранее!

Святослав

23 января 2010

Святослав: какое именно зеркало вы выберете главным не важно (с WWW или без WWW), но именно на это зеркало должен быть сделан редирект и именно оно должно быть прописано в Host. Иначе могут возникнуть проблемы с индексацией сайта Яндексом.

Главное зеркало в директиве Host вы укажете, допустим без WWW, а редирект сделаете на зеркало с WWW. В этом случае при заходе на ваш сайт робота Яндекса будет перебрасывать на не главное зеркало (с WWW), которое Яндекс индексировать не будет (т.к. в Host оно не прописано главным). Индексация сайта в этом случае вообще Яндексом осуществляться не будет.


23 января 2010

Огромное спасибо, Дмитрий!


1 апреля 2010

Спасибо за инфу, у меня вопрос если я сделал основным имя без www а Гогл индексировал сайт с www как будет развиватся ситуация? И что лутьше сделать если яша видит без ввв а гогл с ввв.

Костя

5 апреля 2010

Костя: чего то, как то запутано получается. Боюсь сам запутаться и вас запутать. Надо просто думать логически, какой вариант будет работать, а какой приведет к проблемам с индексацией вашего сайта одним из поисковиков.


8 апреля 2010

Спасибо. Наконец-то разобрался с этим 301 редиректом.


9 апреля 2010

Здравствуйте! Блог – шикарный, за что Вам большое спасибо!
Есть вопрос на счёт редиректа, прочитал – всё понял и добавил код в .htacces.txt
########## Редирект с www на без www
#
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.имя-сайта\.ru$ [NC]
RewriteRule ^(.*)$ http://vij.имя-сайта/$1 [R=301,L]
#
##########
но если я ввожу в адресной строке http://www.имя-сайта.ru, меня перебрасывает на http://www.имя-сайта.ru/

то есть редирект не работает, в чём может быть причина?

Виктор

11 апреля 2010

Виктор говорит, что:

RewriteRule ^(.*)$ vij.имя-сайта/$1 [R=301,L]

вроде как, ошибочка у вас – вместо “http://” у вас написано “vij.”. Может из-за этого. Во-вторых файл должен называться не “.htacces.txt”, a “.htacces” (без расширения). Так же возможно, что ваш хостер не поддерживает конфигурирование сайта с помощью файла “.htacces”


11 апреля 2010

Извиняюсь это я здесь написал не внимательно, а как исправить не нашел.
файл конечно .htaccess (не txt)
вот точный код, что я вставил в него:

########## Редирект с www на без www
#
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.vij\.ru$ [NC]
RewriteRule ^(.*)$ http://vij.ru/$1 [R=301,L]
#
##########

вроде все верно, но редиректа не происходит, запрос с www – открывает сайт с www, запрос без www – соответственно без..

хостер поддерживает .htaccess (узнавал, говорят все должно работать)

Виктор

11 апреля 2010

Виктор говорит, что:

RewriteRule ^(.*)$ vij.ru/$1 [R=301,L]

вот опять, “http://” там есть, просто визуальный ред. его в ссылку превратил

Виктор

11 апреля 2010

Ура! работает )
похоже эти решетки “#” не просто так, я думал они просто строки комментируют, вставил код без них (и в самом начале файла) и все сразу же стало нормально.
В общем сам дурак )извините за мусор, можете стереть все что я тут понаписал.

Виктор

21 июля 2010

Вот вопрос: если склеить забаненый домен яндексом к нормальному домену, какие последствия? будет ли бан перенесен на новый домен?


21 июля 2010

Юрий: нет такого опыта. Если сделаете, то сообщите обязательно о результатах (если не в лом).


21 июля 2010

Тогда этим и займусь, всегда любил экспериментировать…результаты извещу


26 июля 2010

Есть ещё один вопрос. Поставил редирект и host на главный домен. Нужно ли в яндекс вебмастере удалить неправильное главное зеркало с www? Или оно само изменится?


3 августа 2010

В тексте статьи находится ошибка: «соответственноЮ». Явно подразумевается «соответственно,».

Agor71

3 августа 2010

Agor71: спасибо за замечание, поправил.


9 августа 2010

Помогите пожалуйста решить следующий вопрос: поменял доменное имя и CMS (контент не изменял), через 301 редирект получится ли сделать перенаправление со всех страниц старого доменного имени на например newdomain.ru? Или может посоветуете что нибудь другое, или ссылочку где можно почитать?
Заранее спасибо.

Илья

15 августа 2010

Подскажите, плиз, как определить, удачно или нет прошел редирект. на WP у меня редирект делает плагин, вот не знаю, есть ли смысл добавлять в .haccess строчки редиректа. Потому что при вводе ссылки с www он автоматом перебрасывает меня на сайт уже без www. Я так понимаю, это говорит об удачном редиректе. А вот 2 других сай


15 августа 2010

Извините, прошлый пост был не целиком. Так вот, я прописываю для сайтов на Джумле оба файлика, как указано у вас, но при вводе адреса с www и без www ничего не происходит, то есть url разные. Что делать и где копать?


17 августа 2010

Пожалуй остановлюсь на “без www”.


7 сентября 2010

Спасибо за статью. Сейчас настрою редирект и себе, руководствуясь вашими указаниями.

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

Возник вопрос, если у меня есть бесплатный блог на домене третьего уровня, мне нужно редактировать его .htaccess чтобы делать редирект на свой сайт второго уровня?

Дело в том, что это бесплатный хостинг (третьего уровня) и его
.htaccess я редактировать не могу никак. Нет такой возможности.
Есть ли какой-либо другой способ?


Написать

(обязательно)

(обязательно)


Это не спам.

Subscribe without commenting

» Подписаться на комментарии к этой статье по RSS