301 редирект с WWW и без WWW

Поисковые системы считают сайты http://yoursite.ru/ и http://www.yoursite.ru/ абсолютно разными. Отсюда следует, что если часть сайтов будет ссылаться на http://yoursite.ru/, а другая часть на http://www.yoursite.ru/, то ссылочная популярность Вашего сайта делится между разными доменами, что не есть хорошо. С этим надо что-то делать.

Используя 301 редирект, который автоматически будет переадресовывать всех, кто заходит по ссылке, начинающейся с http://yoursite.ru/ на http://www.yoursite.ru/, Вы сможете дать поисковым системам понять, что эти 2 домена являются как бы одним.Таким образом, ссылочная популярность больше не будет распределяться между двумя доменами, а будет считаться общей, что позволит улучшить позиции сайта в поисковых системах.
Как активировать 301 редирект

Чтобы 301 редирект заработал, Вам необходимо подготовить сервер. Современные серверы работают либо с ПО Microsoft, либо Apache (Linux, Unix). Чтобы приступить к настройке 301 редиректа, Вам необходимо узнать, какой у Вас сервер (Microsoft или Apache). После того, как Вы это разузнали, приступайте читать дальше, выбрав нужный раздел данного руководства.

Краткое оглавление руководства:

  • Установка 301 редиректа домена без WWW на домен с WWW на Apache сервере
  • Установка 301 редиректа домена без WWW на домен с WWW на Microsoft IIS сервере

Установка 301 редиректа домена без WWW на домен с WWW на Apache сервере

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

Если же у Вас есть доступ к файлу httpd.conf, то Вы сможете активировать данный модуль собственноручно. Для этого откройте данный файл для редактирования (не забудьте сперва сделать его резервную копию) и раскомментируйте следующую строку:

LoadModule rewrite_module modules/mod_rewrite.so

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

2. Скачайте на свой компьютер с сервера файл .htaccess

3. Сделайте резервную копию данного файла и сохраните ее, по возможности, в другом месте на компьютере.

4. Откройте оригинальный файл .htaccess для редактирования, например, в блокноте.

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

RewriteEngine On
RewriteCond %{HTTP_HOST} ^example.ru
RewriteRule (.*) http://www.example.ru/$1 [R=301,L]

И наоборот, кому надо редирект домена с WWW на домен без WWW:

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

6. Сохраните изменения в файле и загрузите его на сервер.

7. После этого откройте браузер и в адресной строке введите адрес своего сайта без WWW, например http://example.ru/ и зайдите на сайт. Если Вы все сделали правильно, то в адресной строке браузера автоматически произойдет изменение — адрес сайта с введенного Вами сменится на http://www.example.ru/.

8. Но чтобы на 100% быть уверенным в успешности проделанного я Вам советую зайти сюда, ввести адрес сайта без WWW. Данный инструмент покажет Вам, работает ли настроенный Вами 301 редирект или нет. Если Вы все сделали правильно, то должны будете увидеть следующее (особое внимание уделите выделенным жирным участкам кода):

#1 Server Response: http://example.ru
HTTP Status Code: HTTP/1.1 301 Moved Permanently
Date: Wed, 14 Mar 2007 22:49:28 GMT
Server: Apache/1.3.27 (Unix) PHP/4.4.1 FrontPage/5.0.2.2510 mod_ssl/2.8.14 OpenSSL/0.9.6b
Location: http://www.example.ru/
Connection: close
Content-Type: text/html; charset=iso-8859-1
Redirect Target: http://www.example.ru/

#2 Server Response: http://www.example.ru/
HTTP Status Code: HTTP/1.1 200 OK

Date: Wed, 14 Mar 2007 22:49:28 GMT
Server: Apache/1.3.27 (Unix) PHP/4.4.1 FrontPage/5.0.2.2510 mod_ssl/2.8.14 OpenSSL/0.9.6b
Connection: close
Content-Type: text/html

9. Если у Вас в ключевых (выделенных жирным) местах все сошлось, то все работает!

Если же Вы проделали указанные выше шаги и не добились требуемого результата, то воспользуйтесь резервной копией файла .htaccess — проделайте с ней еще раз все указанные выше шаги, но будьте предельно внимательны. Выверяйте каждый шаг.

Если же и сейчас ничего не получилось, то свяжитесь со службой поддержки своего хостинг-провайдера, объясните им ситуацию и пусть они примут соответствующие меры, нацеленные на решение Вашей проблемы.

Установка 301 редиректа домена без WWW на домен с WWW на Microsoft IIS сервере

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

1. Используя Internet Services Manager, создайте новый веб-сайт с уникальным IP, используя http://example.ru или, как альтернатива, можно избежать использования уникального IP, используя виртуальный веб-сайт www.example.ru

2. Теперь проверьте заголовки, отдаваемые сервером для каждого из сайтов, используя данный инструмент. Сервер должен отдавать 200 OK для обоих сайтов.

3. Добавьте следующий код на главную страницу сайта http://example.ru:

< %@ Language=VBScript %>
< %
Response.Status=»301 Moved Permanently»
Response.AddHeader «Location», http://www.example.ru
%>

ВНИМАТЕЛЬНО! Вносить какие-либо изменения в код нельзя, скопируйте и вставьте его в таком виде, как есть.

4. Чтобы убедиться в работоспособности 301 редиректа, зайдите на сайт http://example.ru. Затем воспользуйтесь данным инструментом для сайта http://example.ru и убедитесь, что в результате проверки есть следующие данные: «HTTP Status Code: HTTP/1.1 301 Moved Permanently». Если Вы такое видите, то у Вас все получилось!

Переадресовываем всех со старого домена на новый, полностью сохраняя ссылочную структуру сайта

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

Для наглядности написанного в предыдущем абзаце привожу банальный пример:

Нажимая на ссылку www.yourolddomain.ru/company/profile.php, посетитель или робот поисковой системы будет автоматически переадресован сюда www.yournewdomain.ru/company/profile.php.

Несмотря на то, что данный процесс многим может показаться очень хитрым или даже трудно реализуемым, на самом деле, все довольно-таки просто, независимо от того, на каком сервере размещен Ваш сайт — на Linux или Windows.

Данное руководство научит Вас устанавливать 301 редирект как на Linux, так и Windows-сервера, причем он будет переадресовывать как посетителей сайта, так и поисковых роботов со старого домена на новый.

Запомните! Во-первых, 301 редирект очень любим поисковыми системами. Во-вторых, его рекомендуют использовать профессионалы.

Краткое оглавление руководства:

  • Как установить 301 редирект на Linux-сервере
  • Как установить 301 редирект на Windows-сервере

Как установить 301 редирект на Linux-сервере

ОБЯЗАТЕЛЬНОЕ ТРЕБОВАНИЕ! Рассматриваемый в данной части руководства 301 редирект не будет работать без активного Apache-модуля ModRewrite на сервере. Поэтому, прежде всего, уточните данный нюанс у администратора сервера.

ИНСТРУКЦИИ! Создайте файл .htaccess в корне сайта или отредактируйте уже имеющийся (перед началом редактирования уже существующего файла, сделайте его резервную копию во избежание форс-мажора). Добавьте в него следующие строки:

Options +FollowSymLinks
RewriteEngine on
RewriteRule (.*) http://www.yournewdomain.ru/$1 [R=301,L]:

ВНИМАНИЕ! Не забудьте заменить http://www.yournewdomain.ru/ на реальный адрес своего нового домена.

Когда это сделаете, сохраните файл и загрузите его в корень сайта. Все! Теперь каждый, кто зайдет по ссылке, ведущей на старый домен Вашего сайта, будет автоматически переадресован на новый!

Как установить 301 редирект на Windows-сервере

ОБЯЗАТЕЛЬНЫЕ ТРЕБОВАНИЯ! Рассматриваемый в данной части руководства 301 редирект требует прямого доступа к администраторской панели сервера. Если Ваш сайт размещен не на Вашем собственном или даже не на выделенном сервере, то такого доступа у Вас, естественно, не будет.

Решить данную проблему можно, связавшись и объяснив ситуацию службе поддержки хостинг-провайдера, у которого размещен Ваш сайт.

Объяснение будет выглядеть примерно следующим образом: «Пожалуйста, установите перманентный редирект с домена http://www.myolddomain.ru/ на домен http://www.mynewdomen.ru/ и уведомите меня, когда это будет сделано. Спасибо за помощь!»

Если же Ваш хостинг-провайдер отказывается выполнить Вашу просьбу, моя Вам рекомендация — смените его. Лишние проблемы Вам ни к чему.

ИНСТРУКЦИИ! Получите доступ к «Internet Services Manager» на Вашем Windows-сервере, кликните правой кнопкой мыши по сайту и укажите, что Вы хотите сделать с него редирект, затем выберете «Properties» и потом «Home Directory».

Теперь Вы должны увидеть окно «Default Web Site Properties» наряду с «Home Directory». Сделайте следующие настройки:

1. Выберете «A redirection to a URL»
2. В строке «Redirect to:» введите домен, на который Вы хотите всех переадресовывать
3. Выберете «A permanent redirection for this source»
4. Нажмите «OK» и все готово!

Источники: http://www.seoschool.ru/search-engine-optimization-seo/how-to-301-redirect-non-www-to-www-urls.html
http://www.seoschool.ru/search-engine-optimization-seo/how-to-redirect-an-old-domain-to-a-new-domain.html

Комментарии к записи “301 редирект с WWW и без WWW. Сохранение ссылочной структуры при 301 редиректе”

  1. admin | 3.04.2008

    Опять же на одном из свих сайтов, я сделал редирект так:

    Options +FollowSymLinks
    RewriteEngine on
    RewriteCond %{HTTP_HOST} ^www.site.ru$
    RewriteRule ^(.*)$ h++p://site.ru/$1 [R=301,L]

    где h++p заменить на http

  2. Chikir | 3.12.2010

    Нужно упомянуть, что в WordPress нужно изменить в настройках url сайта, иначе редирект работать не будет.

  3. Макс | 3.12.2010

    Молодец Chikir, 5 с плюсом тебе за гениальное открытие…, только здесь речь идет не о WP, а вообще о сайтах в целом.

  4. Дмитрий | 24.12.2010

    Кто мне может ответить на такой вопрос:
    есть ли разница на какое зеркало ставить редирект 301, с www или без. Допустим я поставил редирект без www, Какие могут в этом таиться подводные камни???

    Есть мнение, что ссылки с блогов, каталогов и т.п. автоматически преоразуются в ссылку если есть фраза с конструкцией www (с точкой), это значит что там где есть www сервер сам переименыновывает текст в ссылки. а где нету www, например просто example.com сервер воспринимает как текст, а значит не преобразовавыет фразу в ссылку. Что приводит к тому, мы можем лишиться некоторых внешних ссылок.

  5. Макс | 24.12.2010

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

    В конце концов, Вам никто не мешает сделать основным домен без www а некоторые ссылки ставить с www — всеравно все поклеится.

    Принципиально разницы нет как Вы сделаете. Очень распространенная практика всем доменам второго уровня давать основные адреса с www, а доменам третьего уровня и выше — без www . Однако, я лично не считаю что это правильно. Спросите почему? — Найдите и почитайте когда и зачем вообще было придумано это www …

  6. Bober | 30.03.2011

    сделал всё кас здесь сказано, но только работает както частично. С главной страницы редирект есть, а вот с других страниц нету! =((

  7. Макс | 30.03.2011

    Bober, значит не все так как сказано (или нужно)… Рекомендую с подобным описанием проблемы обратиться на один из форумов для вебмастеров (например php.su) — гуру помогут составить правильный .htaccess

  8. Оксана | 29.02.2012

    я хочу перенести сайт с бесплатного домена на blogspot на собственный домен на вордпресс и сделать 301 редирект при помощи плагина SEO Blogger to WordPress Migration using 301 Redirection (уже тестила -все получается) Интересует вопрос =- реально сохранить пузомерки?

  9. Макс | 29.02.2012

    Оксана, конечно реально. Только на это может уйти время…

  10. dezm021 | 13.04.2012

    Здравствуйте!
    подскажите как организовать редирект с wwww на без, если ссылка выглядит так: h++p://www.shop.biz.ua/blog/, перепробовал множество вариантов, не помогло.

  11. Макс | 13.04.2012

    dezm021, а какая разница то с какой директории редиректить? Размещайте файл .htaccess с указанными здесь настройками в КОРНЕ домена и редирект будет работать для всех каталогов сайта…

  12. Web | 2.05.2012

    Спасибо за статью, помогло:)
    Очень действенный метод
    И расписано все очень понятно, снимаю шляпу:)

Оставьте свой комментарий


+ 8 = девять