301 Redirect - что это такое и как это использовать?

38 месяцев назад

301 Moved Permanently – такой ответ сервера знаком практически каждому оптимизатору. С ним связано множество вопросов на тематических форумах, а от правильно настроенного редиректа зачастую зависит успешность продвижения сайта. Не случайно пункты по работе с ним входят в базовые чек-листы seo-специалистов.

Используем 301 redirect грамотно!

Слово «redirect» переводится с английского как «перенаправление». Если поисковый робот или посетитель сайта зайдёт на выбранный адрес, сервер его сразу перенаправит по другому адресу (согласно указанным правилам).

Когда необходим 301 Redirect?

Самые часто используемые ситуации, когда используется данный тип редиректа это:

  • Ситуация, когда старая страница (раздел) теперь доступны по новому адресу;
  • Смена доменного имени, переезд с site1.ru на site2.ru;
  • Борьба с дублями страниц

Также существуют и другие случаи, которые мы рассмотрим подробно для самого распространенного web-сервера Apache. В качестве примера, возьмем домен нашей компании oridis.ru

Redirect без www на сайт с www

Вы можете осуществить такое перенаправление, указав в файле .htaccess следующие строчки:

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

Redirect с www на сайт без www

Обратный тип перенаправления описывают так:

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

Redirect с index.php на корень

Другой часто возникающей задачей является редирект с индексной страницы (index.php) на / (корень). Решить её можно следующим способом:

RewriteEngine On
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteRule ^index\.php$ http://oridis.ru/ [R=301,L]

Аналогично можно сделать редиректы с index.htm или index.html на корень.

Redirect с одной страницы на другую

Главной особенностью 301-го редиректа является то, что при перенаправлении с одной страницы на другую, вес старой старой страницы «перетекает» на новую. Именно поэтому его так любят seo-специалисты. Самый простой способ реализации перенаправления является следующая конструкция:

Redirect 301 /old.html http://oridis.ru/new.html

После исполнения данного правила, пользователь, зайдя на http://oridis.ru/old.html, будет автоматически перенаправлен на http://oridis.ru/new.html. Поисковые системы также получат информацию о том, что страничка полностью переехала на новый адрес. При этом в поисковой выдаче останется только http://oridis.ru/new.html, в отличие от 302-ого редиректа при котором в выдаче останется old.html.

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

С его помощью, за пару кликов я сгенерировал правила для перенаправления таких страниц.

Redirect на страницы со слешем в конце

Если у вас индексируются страницы и со слешем и без него («/») на конце, то исправить ситуацию поможет следующее правило:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !\..{1,10}$
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*)$ http://www.oridis.ru/$1/ [L,R=301]

Если предыдущий вариант не сработал, например, если настройки вашего web-сервера запрещают использовать подобную конструкцию, то используйте этот код:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !\..+$
RewriteCond %{REQUEST_URI} !/$
RewriteRule (.*) http://www.oridis.ru/$1/ [R=301,L]

PHP 301 Redirect

И наконец, можно осуществить перенаправление через PHP код:

‹?php
header(“HTTP/1.1 301 Moved Permanently”);
header(“Location: http://www.oridis.ru /new.htm”);
exit();
?›

Вышеописанный код размещается на странице, с которой необходимо сделать редирект. После его исполнения произойдет перенаправление на http://www.oridis.ru/new.htm

Желаю всем оптимизаторам и веб-мастерам успехов в продвижении!

Ямщиков Сергей, SEO-специалист

Хотите получить бесплатный SEO-аудит сайта?

Заявки на бесплатный SEO-аудит принимаются только для коммерческих сайтов

Имя*: Адрес сайта*:
E-mail*: Телефон:
Поля отмеченные звездочкой* обязательны для заполнения

Была ли Вам полезна информация на этой странице?

Помогите нам стать полезнее:
пожалуйста, укажите какие у вас остались вопросы.

Спасибо за информацию!