Обсудим ваш проект?
Интернет-маркетинг,
который даёт результат
Россия: 8 (800) 775-63-20
Отправить заявку

Настраиваем 301 редирект

Дарья,
редактор
Станислав Мозгель,
руководитель отдела разработки
Поделиться
Просмотров:
941
Время на прочтение:
Статья обновлена:
1 апреля 2021
Информация о статье
Просмотров: 941
Время на прочтение:
Статья обновлена: 01.04.2021
Дарья, редактор
Станислав Мозгель, руководитель отдела разработки
Поделиться

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

Директ Лайн
Кто мы
Крупнейшее агентство
интернет-маркетинга за МКАДом:
1200+ проектов
65 специалистов
14 лет на рынке
ТОП-10
лучших компаний интернет-продвижения России 2020
Коммерчекое предложение

Для чего используется 301 редирект?

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

Причины использования 301 редиректа:

  • У сайта сменилось доменное имя, производится его перенос.
  • Указание зеркал сайта, к примеру, с www и без. Также это актуально в случае установки SSL сертификатов.
  • Сменился URL-адрес страницы с целью SEO-продвижения, например, в него были прописаны ключевые слова.
  • Устранение проблем с дубликатами страниц.
  • Переезд страницы на новый адрес, но при этом необходимо сохранить ее вес и пользовательский опыт.

301 редирект vs тег Canonical

Перед тем как понять, в каких случаях используется 301 редирект, а в каких тег Canonical, необходимо разобраться в ключевых их различиях.

При 301 редиректе происходит физическое перенаправление посетителя или поискового робота. Т.е., этот способ переадресации ориентирован как на ботов, так и на людей. Тег Canonical в свою очередь, предназначен исключительно для роботов. К примеру, у нас есть две страницы, обозначим их как 1 и 2, при этом, вторая является основной (канонической), а первая – дубликатом (содержание страниц идентично). Наша задача состоит в том, чтобы в поисковой выдаче ранжировалась основная страница, т.е. вторая, но при этом первая также должна работать. В этом случае, на помощь приходит тег Canonical, который позволяет указать поисковому роботу на каноническую страницу.

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

301 или 302 редиректы

Оба этих вида редиректов физически перенаправляют пользователей и роботов на альтернативные URL-адреса, однако, у них есть существенные различия. 301 редирект сообщает поисковым краулерам о том, что страница переехала на новый адрес на постоянной основе. А 302 – на временной, к примеру, на период проведения какой-либо акции.

Важно не допускать путаницы в использовании 301 и 302 редиректов, в противном случае, это негативно скажется на SEO-продвижении страницы или ресурса в целом.

Где настраивается 301 редирект?

Разберем наиболее популярные и универсальные способы настройки 301 редиректа на сайте.

Как настроить 301 редирект с помощью файлов сервера Apache

Внесение специальных правок в конфигурационные файлы сервера Apache – это наиболее распространенный способ настройки 301 редиректа. Отличия между этими файлами заключаются в том, что httpd.conf является главным конфигурационным файлом сервера, и все настройки в нем влияют на все директории. А правила из .htaccess относятся исключительно к той директории, в которой он находится.

Расположение файла httpd.conf варьируется в зависимости от типа операционной системы и версии Apache:

  • FreeBSD (версия сервера 1.3) – /usr/local/etc/apache/httpd.conf.
  • FreeBSD (версия сервера 2.2) – /usr/local/etc/apache22/httpd.conf.
  • Убунта (версия сервера 1.3) – /etc/apache/httpd.conf.
  • Убунта (версия сервера 2.2) – /etc/apache2/apache2.conf.
  • Linux – /etc/httpd/conf/httpd.conf.

Через плагины в CMS

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

Wordpress

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

Redirection

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

  • Настройка переадресации со страницы 404-ошибки.
  • Простая переадресация с одной страницы на другую.
  • Создание сложных правил перенаправления с нескольких страниц на одну и прочее.
  • Возможность автоматического добавления 301 редиректа при удалении или изменении страниц.

Плагин полностью бесплатен, прост в использовании, и при этом не затрагивает конфигурационные файлы сервера.

Simple 301 Redirects

Также простой плагин, но с менее богатым функционалом. Интерфейс представлен в виде двух полей: URL-адрес страницы-исходника и URL-адрес страницы, куда настраивается 301 перенаправление (исключительно). Его удобно использовать при переезде сайта с одного домена на другой, либо при небольшом количестве страниц, с которых требуется настроить 301 редиректы. Т.к. отсутствуют возможности настройки автоматических правил, для больших массивов адресов его использовать нецелесообразно.

SEO Redirection

В отличии от прошлого плагина, SEO Redirection позволяет настраивать все виды редиректов, а не только 301. В целом, это мощный инструмент, с большим количеством функций, со средней оценкой пользователей в 4 звезды. Есть возможность настройки автоматических правил, а также просмотра статистики по перенаправлением отдельно взятых URL-адресов.

Плагин SEO Redirection
Плагин SEO Redirection

Easy Redirect Manager

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

Битрикс

В случае с Битриксом, настройка 301 редиректа возможна, например, через модуль «Редирект мастер» или же через правку файла .htaccess:

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

Отредактировать сам файл можно напрямую через админку сайта:

Настройка 301 редиректа в Битриксе
Настройка 301 редиректа в Битриксе

Через PHP-условие

Данная возможность настройки 301 редиректов больше подходит для самописных CMS-систем, работающих на PHP. Для ее реализации необходимо добавить в код индексного файла (чаще всего index.php) функцию header() с указанием типа редиректа и Location – адреса сайта.

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

Итак, перейдем непосредственно к настройке. Пример, 301 редирект с одного домена на другой:

$ref=$_SERVER["QUERY_STRING"];
if ($ref!="") $ref="?".$ref;
header("HTTP/1.1 301 Moved Permanently");
header("Location: http://newdomain.ru/".$ref);

Обратите внимание, указывается только новый домен.

Настройка 301 редиректа с одной страницы на другую:

header("HTTP/1.1 301 Moved Permanently");
header("Location: http://www.domain.ru/catalog/page.htm");

Здесь указывается страница, на которую срабатывает перенаправление.

HTML-редирект

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

Редирект на другой домен:

<meta http-equiv="refresh" content="0;https://new-domain.ru">

Редирект на другую страницу:

<meta http-equiv="refresh" content="0;https://domain.ru/index2.html">

Параметр content отвечает за задержку, указывается число, равное секундам.

Правила настройки файла .htaccess для 301-редиректа

Правил настройки 301 редиректов существует достаточно много и применяются они в зависимости от поставленной задачи. Разберем самые популярные.

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

Короткая версия варианта: 
Redirect 301 /primer-page1.html/ https://site.ru/primer-page1.html/

Развернутая версия:

RewriteCond %{REQUEST_URI} ^/primer-page1.html/$
RewriteRule ^.*$ https://site.ru/primer-page1.html? [R=301,L]

С главной страницы на каталог

Redirect 301 / https://site.ru/catalog

С каталога на главную

Redirect 301 /catalog https://site.ru

С одного домена на другой

RewriteEngine On
RewriteCond %{HTTP_HOST} domain1.ru
RewriteRule (.*) https://domain2.ru/$1 [R=301,L]

301 редирект с http на https

При установке SSL-сертификата, настраивается перенаправление с http на https:

RewriteCond %{HTTPS} !=on
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]

Либо альтернатива:

RewriteCond %{HTTPS} off
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

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

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

С без www на с www

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

301 редирект для отдельного IP-адреса

RewriteEngine On
RewriteCond %{REMOTE_ADDR} 111.222.333.444
RewriteRule ^(.*)$ http://site.ru [R=301,L]

Перенаправление только с главной страницы сайта

В этом случае, 301 редирект будет срабатывать исключительно при посещении главной страницы сайта:

RewriteEngine On
RewriteRule ^$ https://domain.ru [R=301,L]

Борьба с дубликатами

Два одинаковых URL-адреса, но у одного на конце есть слеш, а у другого он отсутствует. Для поисковых систем они будут разными, т.е. дубликатами. 301 редирект позволяет бороться с подобным явлением. Например, убираем слеш на конце адреса:

RewriteCond %{REQUEST_URI} !\?
RewriteCond %{REQUEST_URI} !\&
RewriteCond %{REQUEST_URI} !\=
RewriteCond %{REQUEST_URI} !\.
RewriteCond %{REQUEST_URI} ![^\/]$
RewriteRule ^(.*)\/$ /$1 [R=301,L]

Меняем отображение расширения страницы, к примеру, с .htm на .html:

RewriteEngine on
RewriteBase /
RewriteRule ^(.*)\.htm$ $1.html [R=permanent]

Перенаправление с 404 на главную страницу

ErrorDocument 404 http://www.site.com/301.html

Обратите внимание, требуется активация функции mod_rewrite с помощью команды RewriteEngine on, но, если применяется несколько правил перенаправления в одном .htaccess, то данная команда прописывается один раз.

Памятка по используемым символам и обозначениям

Директива RewriteCond определяет условие для правила RewriteRule при соблюдении которого, срабатывает редирект. Правила представляются в виде регулярных выражений.

Метасимволы:

  • \ – экранирующий слеш, сохраняет символы, идущие после него в исходном виде.
  • ^ – начало строки.
  • $ – конец строки.
  • ! – знак отрицания.
  •  . – любой символ.
  • ( ) – применяется для обозначения группировки символов.
  • # – комментарии.

Модификаторы:

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

  • ? – ставится после символа, который может присутствовать или отсутствовать. Например, htm?l – под правило попадает и htm и html.
  • * – ставится перед символом, который может повторятся от 0 (отсутствует полностью) до 65536 раз. Пример, htm*l, под правило попадают htm, html, htmm.
  • + – аналогично предыдущему, но символ может повторятся от 1 до 65536 раз.

Флаги:

Указываются в квадратных скобках, перечисляются через запятую, представляют собой дополнительные опции.

  • NC (nocase) – если правило срабатывает, то регистр символов не имеет значения.
  • R (redirect) – прекращает процесс преобразования, возвращает ответ браузеру в виде редиректа.
  • L (last) – данная ссылка является окончательной, при этом останавливается процесс преобразования.

Как проверить 301 редирект?

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

  • bertal.ru – сервис, который позволяет получить HTTP-заголовок страницы.
  • Screaming Frog SEO – платная программа, которая позволяет сканировать сайт и находить редиректы.

Итак, мы подробно рассмотрели вопрос о том, как сделать 301 редирект, и показали наиболее универсальные способы. Надеемся статья была вам полезной.


Комментарии
Написать
Увеличим ваши продажи через интернет!
Разрабатываем и поддерживаем сайты. Приводим на сайт целевой трафик с помощью SEO и рекламы. Увеличиваем конверсию сайтов. Имеем успешные кейсы увеличения продаж интернет-магазинов, медицинских центров, производителей, застройщиков, автоцентров, интернет-сервисов и пр. В команде 33 специалиста.

в топ-10 в SEO глазами клиентов 2014, 2016, 2017

В ТОП-10
«SEO глазами клиентов»

19 место
В топ-100 perfomance-агентств России

9 место в Топ-100 SEO-компаний России

9 место
В топ-100 SEO-
компаний России

1 место
Рейтинг агентств контекстной рекламы Новосибирска

Золотая сотня
Российского Digital

Сертифицированное агентство Яндекс 2020

Работающие инструменты SEO, интернет–рекламы, UX от
60 профессионалов
Директ Лайн — агентство интернет–маркетинга с 15-летним опытом, 1200+ клиентами и 50+ специалистами. Мы сами ведём свой блог. У вас мало времени, мы в вас это ценим, поэтому раз в месяц пришлём самые интересные и полезные публикации.
  • #SEO
  • #интернет-реклама
  • #email рассылки
  • #юзабилити сайта
  • #веб–разработка на bitrix
  • #кейсы
60 профессионалов
Раз в месяц
Без спама и СМС