Войти
БлогТехническая оптимизация

Отличия 301 и 302 редиректа

2020-03-23
758
(152)
Отличия 301 и 302 редиректа

В отличие от 301 редиректа, 302 редирект не является постоянным перенаправлением. Он сообщает что в скором времени страница на которой установлен будет вновь доступна. Из этого вытекают и все различия в реагировании на них поисковой системой Goolge. Для Яндекса редиректы 301 и 302 воспринимаются приблизительно одинаково.

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

302 может становиться 301
Если 302 редирект стоит продолжительное время, то начинает восприниматься поисковой системой Google как 301.

Передача веса страницы

В Google редирект 302 не передает вес странице на которую направляет, в отличии от 301 редиректа. В Яндексе 302 редирект воспринимается также как 301 и вес передается.

Индексация страниц

При 301 редиректе в Google страница с которой стоит перенаправление исключается из индекса, а при 302 - останется в индексе на какое-то время. Страница на которую осуществляется перенаправление будет индексироваться в любом случае (если, конечно, она не закрыта от индексации).

В Яндексе при установке внутрихостового 302 редиректа (в рамках одного сайта) в поиске будет отображаться наиболее компактный URL.

Риск фильтров

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

Когда нужен 301 редирект

Использовать 301 редирект нужно во всех случаях когда адрес становится некорректным навсегда, а именно в случаях:

  • переноса страницы на новый адрес;
  • переезда сайта на новый домен;
  • установки редиректа с www, без www;
  • установки редирект а с http на https;
  • установки редиректа со слешем на без слеша (или обратного);
  • удалении страницы (когда есть страница покрывающая тот же интент).

Когда нужен 302 редирект

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

Сайт закрыт на технические работы

Также допускается кратковременная установка 302 редиректа с одного домена на другой в случае если производится тестирование нового дизайна на поддомене (или тестовом домене) и вы туда перенаправляете пользователей основного сайта. Только не забудьте закрыть такой поддомен/домен от индексации.

Как настроить

Настройка в файле .htaccess

В зависимости от того, хотите вы настроить 301 редирект или 302, укажите в коде редиректа R=301 или R=302 вместо фрагмента R-CODE.

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

RewriteCond %{REQUEST_URI} ^/test/$

RewriteRule ^.*$ http://site.ru/new-test/? [R-CODE,L]

, где /test/ - страница с которой осуществляется перенаправление, а http://site.ru/new-test/ - адрес на который будет осуществляться перенаправление.

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

RewriteCond %{HTTP_HOST} ^site\.ru$ [NC] RewriteRule ^(.*)$ http://test-site.ru/$1 [R-CODE,L]

, где site\.ru - сайт с которого осуществляется перенаправление (точка экранируется обратным слешем), а http://test-site.ru/ - сайт на который будет осуществляться перенаправление.

Настройка в PHP

Для того чтобы настроить 302 редирект посредством PHP, нужно указать адрес перенаправления с помощью функции header, содержащей location:

<?php   header("Location: https://site.ru");   exit(); ?>

Для того чтобы код редиректа был 301, нужно предварительно его указать через функцию header:

<?php   header("HTTP/1.1 301 Moved Permanently");   header("Location: https://site.ru");   exit(); ?>

Как проверить

Проверить какой редирект стоит со страницы можно с помощью сервиса bertal.ru, для этого вводим адрес страницы, выбираем User-Agent (YandexBot или GoogleBot) и опцию “Показать html-код страницы” и нажимаем “Проверить”. В результате будет показан заголовок ответа сервера, а в случае редиректа и заголовок ответа сервера страницы на которую произошло перенаправление.

Проверка 301 и 302 редиректа в bertal.ru

В случае если проверить нужно большое количество страниц разом, на помощь нам придет Screaming Frog SEO Spider, выбрав тип получения данных “List”, мы можем ввести вручную список URL для обхода. Существует также бесплатный онлайн-сервис httpstatus.io, он позволяет выявлять цепочки редиректов.

Кстати, быстро проверить у сайта наличие основных редиректов можно используя бесплатный сервис Rocket Tools.

Какие нетипичные случаи использования редиректов вы встречали?

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