88422 16 8
SEO Читать 16 минут 21 июля 2020

Подробная инструкция: когда и как использовать редиректы

Подробная инструкция по редиректам: когда и как их использовать
Фото Евгения Зайца, CEO Digital Yaponochka
Евгений Заяц
С редиректами приходится работать и SEO-специалистам и разработчикам. При этом первые зачастую не понимают как их настроить, а вторые — зачем они нужны.

Эта статья поможет обоим лучше понять зачем же нужны редиректы и как их использовать. И, надеюсь, поможет специалистам лучше понимать друг друга :)

Что такое редиректы?

Редиректы — это способ перенаправлять пользователей сайтов на URL, отличный от того, что они запросили. Дубли страниц ухудшают ранжирование сайта, а редиректы помогают с ними бороться.

Ещё их используют когда нужно создать новую страницу взамен уже существующей и при этом сохранить позиции и трафик. Существует 9 видов редиректов, но в SEO-практике активно применяются лишь три из них:

  • 301 Moved Permanently (постоянный редирект) — указывает, что документ перенесён на новый URL навсегда. Когда SEO-специалисты или разработчики говорят о редиректе, они почти всегда имеют в виду 301 редирект. Старый адрес исчезает из выдачи, его место с сохранением позиций занимает новый.
  • 302 Found, 302 Moved Temporarily (найдено, перемещено временно) — документ перенесён временно, например, переводит пользователя на страницу акции (распродажи), не меняя содержимое старой страницы. При этом в выдаче остается старый адрес страницы, ведь на новый она перемещена временно.
  • 307 Temporary Redirect (временный редирект) — запрашиваемый документ на короткое время доступен по другому URL с сохранением метода передачи запроса (GET, POST) В целом выполняет ту же задачу что и 302 редирект.
По словам Джона Мюллера (John Mueller), Google может не делать различий между кодами ответов 301 и 302 — все варианты передают 100% ссылочного веса и PageRank от старого адреса к новому. Поэтому если Google решит, что вы установили 302 редирект по ошибке, он будет воспринимать его как 301.

Общие советы по настройке редиректов

1. Делайте редиректы только на релевантные страницы, со статусом 200 (OK)

Чем более релевантна страница акцептора (та что принимает редирект) странице донору, тем быстрее они склеятся и тем больше веса она передаст.

2. Не используйте редирект там, где лучше поставить rel=canonical

Если контент страниц дублируется, но вам важно оставить страницы доступными для пользователей, используйте rel=canonical вместо редиректа. Например, если есть несколько версий контента (для печати, для мобильных,)

3. Не используйте редиректы для файла robots.txt


4. Избегайте двух, трёх и более редиректов подряд

Каждый новый редирект — это потеря времени загрузки, лишняя нагрузка на сервер и возможная потеря передаваемого веса страницы.

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

  • сначала редирект с site.com/category-1/subcategory-1/ на site.com/category-1/subcategory-2/;
  • затем с site.com/category-0/ на site.com/category-0;
  • и последними — глобальные правила типа редиректа всех страниц без «/» на страницы с «/».
На больших ресурсах с множеством редиректов несоблюдение этого правила ведёт к возникновению страниц с 404 ошибкой.

6. Браузеры кешируют редиректы — чтобы проверить их работу, сбрасывайте кеш или используйте специализированные сервисы.
Важно!

Хотя ссылочный вес и передается в полной мере, при массовом применении редиректов, например, при переезде на https, возможно проседание позиций и трафика страниц на 10-15%, с последующим восстановлением в течение 2-4 недель.

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

Сразу предупреждаем, что такое использование 302 редиректа идёт вразрез с рекомендациями Google, но никто не запрещает вам экспериментировать :)
Массово проверить статус страниц сайта можно, используя приложения Netpeak Spider, SEO Screaming Frog или сервис Serpstat. Любое другое приложение или сервис с такой функцией также подходит.

В Serpstat можно посмотреть редиректы двумя способами: в суммарном отчете и в персональном отчете. В суммарном отчете собрані
Скриншот модуля Аудит сайта в Serpstat
Ищите редиректы в разделе «Аудит сайта» Serpstat

Синтаксис и символы .htaccess

. — точка означает любой символ;
[abc] — перечень символов, совпадающих с буквами a, b, или с;
[^abc] — перечень символов, что не входят в диапазон. Условию соответствует любой символ, кроме a, b, с;
* — предыдущий символ может повторяться 0 и более раз;
[abc]* — найти символы из заданного набора, идущие подряд;
[^abc]* — обратная операция;
.* — замена любого набора символов;
 ".*" — найти все подстроки между кавычками;
^ — обозначает начало строки (при использовании в начале выражения);
$ — конец строки;
\w — буква, цифра или подчёркивание _;
\d — любая цифра;
\D — любой символ, кроме цифр;
[0-9] — указание на любую цифру;
[a-z] — указание на любую букву от a до z с нижним регистром;
[A-Z] — указание на любую букву от A до Z с верхним регистром;
[a-zA-Z] — любая буква от a до Z, регистр не важен;
[a-Z] — то же самое, только короче.
Флаги для доп. опций
NC — NoCase отключает проверку регистра символов при срабатывании правила.
R — Redirect останавливает изменение URL-адреса и возвращает результат. 
L — Last останавливает создание URL-адреса, и строка считается окончательной.
Хотите узнать, как с помощью Serpstat найти и исправить в редиректах на сайте?
Оставьте заявку, и наши специалисты проконсультируют вас по продвижению вашего проекта, поделятся учебными материалами и инсайтами рынка!

301 редирект: примеры использования в .htaccess

Примеры приведены для серверов на Apache, для NGINX эти настройки работать не будут.

Ниже даны ситуации, когда возникает потребность в настройке 301 редиректа, и примеры кода для .htaccess. Перед внесением изменений в файл .htaccess рекомендуем сделать его копию.
1
Для определения главного зеркала сайта
Редирект с версии без www на версию с www
RewriteCond %{HTTP_HOST} ^site\.com$ [NC]
RewriteRule ^(.*)$ http://www.site.com/$1 [R=301,L]
Редирект с версии с www на версию без www
RewriteCond %{HTTP_HOST} ^www.site\.com$ [NC]
RewriteRule ^(.*)$ http://site.com/$1 [R=301,L]
Оба варианта равнозначны и правильны с точки зрения ПС. Если у вас в индексе больше страниц с www — лучше будет использовать переадресацию на версию с www, и наоборот.
2
Канонизация слеша в конце урла
— http://www.site.com/dog1/
— http://www.site.com/dog1

Если адрес страницы отличается хоть на один символ — ПС считают такие страницы разными. А если это разные страницы с одинаковым контентом — это дубли.

Поэтому очень важно следить чтобы все URL страниц были только в нижнем регистре и одного формата (со слэшом или без слэша в конце). Как и для www — настраивайте перенаправления на версию страниц, с которой у вас больше в индексе.
Редирект для удаления "/" в конце
RewriteCond %{HTTP_HOST} (.*)
RewriteCond %{REQUEST_URI} /$ [NC]
RewriteRule ^(.*)(/)$ $1 [L,R=301]
Редирект для добавления "/" в конце адресной строки
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*[^/])$ $1/ [L,R=301]
3
Редирект с любого URL на URL в нижнем регистре
$lowerURI=strtolower($_SERVER['REQUEST_URI']);
if($_SERVER['REQUEST_URI']!=$lowerURI)
{
header("HTTP/1.1 301 Moved Permanently");
header("Location: http://" . $_SERVER['HTTP_HOST'] . $lowerURI);
exit();
}
Поисковые системы учитывают регистр URL, поэтому для избежания дублей важно использовать единый регистр для всех символов в URL.
4
Редирект при смене домена
При смене домена следует сделать редиректы со всех страниц, кроме robots.txt. Для Google это делать не нужно.
RewriteCond %{REQUEST_FILENAME} robots.txt$ [NC]
RewriteRule ^([^/]+) $1 [L]
RewriteCond %{HTTP_HOST} !^www\.site\.com
RewriteRule ^(.*)$ http://www.site.com/$1 [R=301,L]
В файл robots.txt для старого сайта необходимо внести:
User-agent: Google
Disallow:
Host: sitenew.com
Директиву Disallow тут вносим обязательно по требованиям поисковых систем, но её можно и оставить пустой.
5
Редирект со всех страниц одного домена на главную другого
RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteRule !(^$|.*\.(css|jpg|gif)) / [R=301,L]
Эта настройка может пригодится если у вас есть хороший старый домен, что совсем не подходит по тематике или структуре, но вы хотели бы передать с него вес на свой домен.
6
Редирект при переезде на https
RewriteCond %{HTTPS} =of
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]
Как и в случае со слэшами и главным зеркалом, главная цель такого редиректа — борьба с дублями страниц. Дополнительно при переезде на https рекомендуем использовать HSTS.

Нужно понимать, что при настройке редиректов на https возможность слать http запросы к сайту остается. HSTS говорит браузеру, чтобы тот «не общался» с сайтом по http.

Даже если браузер встретит на этом сайте ссылку http, или пользователь введет ее руками, он отправит запрос сразу на https версию и не пойдет по пути, когда запрос отправляется сначала на http версию, а уже потом сам сервер перенаправляет 301 редиректом на https. Это сделано, чтобы уберечь пользователя от возможных вклиниваний и перенаправлений крутых хакеров и злоумышлеников. Поисковые боты не будут попадать под этот сценарий.
Кейс
7
Редирект при смене каталога, содержащего документы
RewriteRule ^catalog /catalog-new/$1 [R=301,L]
Это правило обычно используют, если структура каталога отображается в URL, и необходимо поменять либо уйти от неё (например, чтобы добавить в URL ключевое слово или сократить его).
8
Редирект с одной страницы на другую
Redirect 301 /oldpage.html http://site.com/newpage.html
Используем, если изменился адрес документа, либо если больше нет услуги/товара, но есть аналоги, чтобы перевести пользователей и вес на эти страницы.
9
Склеить несколько символов, идущих подряд в 1 символ (в примере — склеить два дефиса в один):
RewriteCond %{REQUEST_URI} ^(.*)--(.*)$
RewriteRule . %1-%2 [R=301,L]
Чаще всего это несколько слэшей либо дефисов подряд. Такие страницы могут появляться из-за некорректной настройки маршрутизаторов, например, два пробела подряд не объединяются и превращаются в два дефиса, либо маршрутизатор всегда дописывает "/" в конце, не проверяя его наличие.
10
Редирект для страниц, имеющих Get-параметры в URL
Например, адрес страницы http://site.com/catalog/index.php?IBLOCK_ID=4&SECTION_ID=20. Чтобы сделать переадресацию:
RewriteCond %{QUERY} ^IBLOCK_ID=4&SECTION_ID=20$ [NC]
RewriteRule ^catalog/index\.php$ /newcatalog/? [R=301,L]
Иногда необходимо настроить редирект для изменяющихся Get-параметров. Например, параметром будет SECTION_ID:
RewriteCond %{QUERY} ^IBLOCK_ID=4&SECTION_ID=(.*)$ [NC]
RewriteRule ^catalog/index\.php$ /catalognew/? [R=301,L]
Оба вида редиректов используем в основном когда необходимо настроить ЧПУ вместо url-а с параметрами
11
Переадресация одного адреса без вложенных адресов
Если нужно настроить редирект со страницы раздела http:/site.com/category/, а другие страницы в разделе должны работать без редиректа, например, страница http://site.com/category/post-1/, нужно добавить всего один символ — $.
RewriteRule ^category/$ http://site.com/new-category/ [R=301,L]
Например, если большинство документов вашего сайта лежат в папке catalog, а страница site.com/catalog не содержит никакого контента.

302 и 307 редирект: как правильно использовать

Использование 302 редиректа оправдано, если:

  • важно, чтобы исходная страница продолжала индексироваться. Например, у вас интернет-магазин и закончился какой-то товар, но есть очень близкий его аналог. Тогда на время отсутствия товара можно перенаправлять пользователей на страницу аналога.
  • целевая страница будет часто меняться. Например, для запросов типа «концерты в Одессе сегодня» можно каждый день делать 302 редиректы на страницу с текущей датой на сайте.
  • на исходной странице размещены ссылки, что и дальше должны индексироваться.
Как найти и устранить цепочки редиректов
Не забывайте: если Google посчитает использование 302 редиректа в каком-то конкретном случае ошибочным, старый URL пропадет из выдачи, а ссылочный вес и PageRank полностью перейдут к новому.
Правила использования 302 редиректа в .htaccess аналогичны описанным правилам использования 301, необходимо лишь заменить R=301 на R=302.

В глазах поисковых систем 307 редирект является практически полным аналогом 302.

Единственное различие — 307 редирект сохраняет метод передачи запроса, тогда как 302 может вести себя непредсказуемо с методами отличными от GET (это POST, PUT, DELETE). Информации, обрабатывает ли передачу веса аналогично 301 редиректу, если считает что в этом случае лучше использовать его.

Как быстро найти лишние редиректы на сайте

Чтобы быстро найти излишне редиректы на сайте можно воспользоваться «Аудитом сайта» от Serpstat. Это инструмент, который позволяет проанализировать сайт на наличие внутренних ошибок.
Аудит сайта Serpstat работает по тому же принципу, что и поисковый робот. Проверка укажет на слабые места вашего сайта, в которых он не соответствует требованиям поисковых систем, в том числе и цепочки редиректов, а также предложит способы устранения этих ошибок.

Для того, чтобы провести проверку сайта на ошибки, необходимо сначала создать проект и сделать соответствующие настройки. Подробнее об этом читайте в статье.
После того как проверка будет произведена, вы получите подборную сводку по ошибкам. В ней все SEO-уязвимости будут распределены по приоритетам: от высокого — ошибок, которые угрожают позициям, до низкого — ошибок, которые опасны в меньшей мере, но требуют исправления.
редиректы на сайте
Если чекбокс возле ошибки окрашен в серый цвет, значит неполадки такого рода присутствуют на сайте. Кликните на название ошибки, чтобы увидеть ее описание, рекомендации к устранению и список URL, где она встречается.
Также в Serpstat доступен уникальный инструмент — «Аудит одной страницы». С его помощью можно проверить на технические неполадки не весь сайт целиком, а только определенные URL. Данный инструмент экономит время и лимиты пользователей, помогая отслеживать эффективность работ по SEO-оптимизации. Подробнее читайте в статье.
Технический аудит страницы в два клика: оцените эффективность оптимизации

Выводы

Каждый редирект стоит использовать для решения той задачи, для которой он был создан, следовать рекомендациям поисковых систем:

  • если вам необходимо навсегда изменить страницу или передать ссылочный вес — используйте 301 редирект;
  • если целевая страница часто меняется, либо перенаправление на короткий срок — используйте 302 редирект;
  • если метод передачи запроса не GET, а вам важно обработать его корректно — вместо 302 используйте 307 редирект.

Serpstat — набор инструментов для поискового маркетинга!

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

Набор инструментов для экономии времени на выполнение SEO-задач.

7 дней бесплатно

Оцените статью по 5-бальной шкале

4.09 из 5 на основе 57 оценок
Нашли ошибку? Выделите её и нажмите Ctrl + Enter, чтобы сообщить нам.

Используйте лучшие SEO инструменты

Проверка обратных ссылок

Быстрая проверка обратных ссылок вашего сайта и конкурентов

API для SEO

Получите быстро большие объемы данных используя SЕО API

Анализ конкурентов

Сделайте полный анализ сайтов конкурентов для SEO и PPC

Мониторинг позиций

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

Поделитесь статьей с вашими друзьями

Вы уверены?

Знакомство с Serpstat

Узнайте об основных возможностях сервиса удобным способом!

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

Имя

Email

Телефон

Будем рады вашему комментарию
Я принимаю условия Политики конфиденциальности.

Спасибо, мы сохранили ваши новые настройки рассылок.

Сообщить об ошибке

Отменить
Открыть чат технической поддержки
mail pocket flipboard Messenger telegramm