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


Дело в том, что домены http://example.com и http://www.example.com это в общем случае разные домены. Хотя, зачастую, эти домены указывают на один и тот же IP-адрес и содержат идентичный контент, но теоретически может быть и иначе. В любом случаи, поисковый робот не знает что у вас там с доменами, и соответственно предполагает худшее, а именно, что они разные. Таким образом, ссылки на домены http://example.com и http://www.example.com он будет считать ссылками на разные сайты, то есть PR(или ТИЦ кому что ближе) нашего сайта будут делиться между этими двумя доменами. Такой вариант нас совершенно не устаивает, поэтому нам необходимо сделать переадресацию. Что характерно, не имеет никакого значения, с какого из доменов на какой должна идти переадресация, это исключительно вопрос вкуса.

Итак, теперь, когда мы знаем «зачем нам это необходимо?», перейдем к вопросу «как нам это сделать?» Рассмотрим решение данной задачи на .htaccess. Веб-сервер Apache поддерживает перезапись URL с помощью движка mod_rewrite. Настраивая правила в файле .htaccess вы можете задать удобную для вас логику работы с URL.

Если на вашем веб-сайте уже есть файл .htaccess, то необходимо просто добавить следующий код. Если же данного файла у вас нет, то для начала его придется создать (точка вначале обязательна). Затем, добавьте любое из ниже приведенных правил в ваш файл и сохраните. Вместо example.com используйте свое доменное имя.


Переадресация с домена с www на домен без www:
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^www.example.com [NC]
RewriteRule ^(.*)$ http://example.com/$1 [L,R=301]



Переадресация с домена без www на домен с www:
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^example.com [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301]


Оба эти правила в результате переадресовывают клиента, отправляя код 301 HTTP, что нормально воспринимается поисковыми роботами . Также, этот способ сохраняет структуру ссылки, то есть, например, при обращении к ресурсу yoursite.com/about вы будете переадресованы на www.yoursite.com/about.
0

Комментарии

Для того, чтоб оставлять комментарии или зарегистрируйтесь.