Хорошие и плохие редиректы

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

Вот они:

• 301 moved permanently.

Этот код состояния говорит браузеру (или пауку поискового движка), что ресурс был перенесен в другое место и обратно возвращен не будет.

• 302 moved temporarily.

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

Обе формы редиректа посылают человека или паука поискового движка в новое место, но поисковые движки интерпретируют эти два кода состояния HTTP очень по-разному.

Когда паук видит код состояния 301, то предполагает, что должен передавать исторический "сок ссылок" (и все остальные показатели) со старой страницы на новую.

Когда паук видит код состояния 302, то предполагает, что не должен передавать исторический "сок ссылок" со старой страницы на новую. Кроме того, редирект 301 приведет к тому, что поисковый движок удалит старую страницу из индекса и заменит ее новой страницей.

Сохранение исторического "сока ссылок" очень важно для оптимизации. Например, представьте себе, что у вас была тысяча ссылок наhttp://www.yourolddomain.com, а вы решили перенести все на http://www.yournewdomain.com. Если бы вы использовали 302-й редирект, то вам пришлось бы начать сбор ссылок сначала. Кроме того, старая версия страницы может остаться в индексе и конкурировать за рейтинг в поисковом движке.

Следует также отметить, что могут быть такие редиректы, которые не передают кода состояния либо выдают неверный код состояния, например, ошибку 404 (страница не найдена) или 200 ОК (страница загружена успешно). Такие вещи создают проблемы, и их следует избегать. Если вы сделали постоянный перенос, то вам нужно четко вернуть код состояния 301 при выполнении редиректа.