301 редирект с www на без www в htaccess

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

301 редирект с www на без www в htaccess и директивой host

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

Сайт или блог должен обязательно иметь 301 редирект (redirect) с одного домена на другой. Он должен быть настроен таким образом, чтобы один из сайтов (с www или без www) стал бы главным. Вот, например для моего блога главным адресом является DmitriyZhilin.ru, но если в поисковой системе набрать адрес www.DmitriyZhilin.ru, то вас автоматически перебросит на DmitriyZhilin.ru. Спрашивается, зачем это придумали? И зачем это нужно?

Сейчас, я постараюсь ответить на эти вопросы.

Что будет, если не настраивать 301 редирект

Вот смотрите. Поисковые системы видят www.DmitriyZhilin.ru и DmitriyZhilin.ru, как совершенно разные сайты. К чему это приводит?

А последствия такие:

1. Разделение ссылочной массы

Внешние ссылки, которые ссылаются на ваш сайт будут автоматически разделены на 2 части. То есть смотрите, на каком то блоге, допустим, с показателем ТИЦ 50 PR 3 поставили ссылку на DmitriyZhilin.ru, а на другом ресурсе с показателями ТИЦ 1200 PR 7 поставил ссылку на www.DmitriyZhilin.ru. А я решил продвигать свой ресурс по адресу без www. Получается, что вторую жирную ссылку я теряю и будет она уже указывать не на продвигаемый мной домен, а на двойника (идентичного моему сайту, но находящемуся по другому адресу). Отсюда делаем вывод, что мы будем терять часть внешних ссылок и недополучим те бонусы, которые они дают при ранжировании. Контролировать вебмастеров на других сайтах мы не можем и они будут ставить такую ссылку, которая им нравится.

2. Уникальность контента

Возникает вопрос об уникальности контента. Не забывайте о  том, что сайт будет доступен для индексации по обоим адресам. Как вы знаете, или узнаете, авторитетные поисковые системы Яндекс, Google, Yahoo борются за уникальный контент, и на данный момент перестают индексировать абсолютно идентичные сайты, что очень и очень плохо. Объясню, как это происходит. Вот например, есть у вас домен DmitriyZhilin.ru,  на него ведет огромное количество внешних ссылок, но вот, вы публикуете новую статью и робот поисковой системы первым индексирует адрес www.DmitriyZhilin.ru, а после DmitriyZhilin.ru, отсюда получается, что DmitriyZhilin.ru является двойником (т.е. своровал контент). Ну а поисковик в свою очередь покарает вора и исключит его страницу из индекса, частое повторение такого косяка может принести и более серьезные санкции.

Плохо? Плохо, не то слово!!!!

Такие серьезные последствия можно предупредить очень простыми действиями, чем раньше вы их сделаете, тем меньше гемороя себе наживете. Называется лечение redirect 301 (постоянно перенаправление) или склейка адресов сайтов употребляемых  с www и без. Далее мы с вами поговорим о его реализации.

Как сделать перенаправление с WWW на домен без WWW

301 редирект в файле .htaccess

Заключается данный способ в том, что нужно настроить файл .htacess. Найти его можно в корневой папке блога. Его может и не быть, а так же он может быть скрыт от вас. Сначала проверим его наличие. Осуществим мы это с помощью программы FileZilla, предоставляющей нам доступ к файлу через FTP. Качаете программу FileZilla и запускаете ее. В открывшееся окно ввести IP адрес домена  и пароль доступа, которые обычно высылает вам ваш хостиг-провайдер.

Далее необходимо открыть меню СЕРВЕР и выбрать пункт ПРИНУДИТЕЛЬНО ОТОБРАЖАТЬ СКРЫТЫЕ ФАЙЛЫ.

показать скрытый htaccess

Откройте файл .htaccess с помощью текстового редактора, например Notepap++ или Akelpad (которым пользуюсь я).  В этом файле дописываем следующий блок (адрес моего блога замените на свой):

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

Если вы хотите сделать не так как у меня, а настроить главным зеркалом домен с www, то ваш редирект будет выглядеть вот так:

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

Если будут ошибки, убедитесь, что хостер позволяет редактировать .htaccess файл (думаю, что проблем не возникнет).

Не забывайте сделать копию первоначальной версии файла.

Директива HOST

С директивой host мы уже встречались тогда, когда делали файл robots.txt. В нашем деле (обозначения главного зеркала сайта) она играет важную роль для поисковой системы Яндекс (Гугл ее не понимает). Если вы настроили этот файл по моим рекомендациям, то данная директива уже у вас имеется и показывает роботам Яндекса основное зеркало. Если же ее нет, то вам необходимо добавить одну строчку. Эта директива является внеблоковой, поэтому пишется либо в отдельной строке, не относящейся ни к какому поисковому роботу, либо указывается в блоке для yandex.

host: dmitriyzhilin.ru

Подробнее о том, как составить файл Robots.txt для сайта можете почитать в этой статье.

Так же, главное зеркало блога, можно определить не только с помощью директивы Host, но и при помощи Инструментов для вебмастеров Яндекса — это www.webmaster.yandex.ru. Раньше аналогичная возможность была и в Google, но сейчас я ее не нашел.

Если вашего сайта в Яндекс Вебмастерс еще нет, то рекомендую поскорее его туда добавить. В инструментах для вебмастера находим раздел о настройке индексирования и там ссылку на указание главного зеркала. И там определяетесь с подходящим вам вариантом. Посмотрите на изображение ниже.

главное зеркало без www в яндекс

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

Все что мы описывали можно провернуть не только с одним доменом, но и с совершенно разными (для поисковиков они все разные).

Вот например возникли у вас проблемы с вашим хостингом, или просто разонравилось доменное имя (например было plohoy-domen.ru, а захотелось ochen-horoshiy-domen.com), как сделать новое доменное имя с тем условием, чтобы статьи которые вы писали не потерялись и постоянные читатели не исчезли. Опять же в помощь вам будет 301 редирект. Открываете файл .htaccess и добавляете в него нужный блок:

Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} plohoy-domen.ru [NC]
RewriteRule ^(.*)$ http://ochen-horoshiy-domen/$1 [R=301,L]

Теперь если в браузере вы будете набирать адрес plohoy-domen.ru, то вас автоматически будет перебрасывать на страницу ochen-horoshiy-domen.com.

Очень важно не ошибиться при выборе Host-а и в том, как будет осуществляться поиск вашего блога с www или без, так как ошибки могут привести к тому, что ваш ресурс может быть выкинут из индекса.

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

3 thoughts on “301 редирект с www на без www в htaccess

  1. Доброго дня! Ваш вариант хорош для всех доменных зон, кроме .РФ
    С русскоязычными доменами такой пример не срабатывает.
    Позвольте приведу рабочий пример для доменов на кириллице:

    RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]
    RewriteRule ^(.*)$ https://%1/$1 [R=301,L]

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *