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

Нажав кнопку "Принять и продолжить", вы соглашаетесь с Политики конфиденциальности

Принять и продолжить

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

Отменить
43414 10 10
SEO Читать 15 минут 20 сентября 2017

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

Подробная инструкция по редиректам: когда и как их использовать
Фото Евгения Зайца, 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


Этот совет в большей мере касается ПС Яндекс — для нее важно, чтобы при смене домена или переезде на защищенный протокол старый 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

Синтаксис и символы .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-адреса, и строка считается окончательной.

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: Yandex
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

Хотите получить персональную демонстрацию сервиса, тестовый период или эффективные кейсы использования Serpstat?

Оставьте заявку и мы свяжемся с вами ;)

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

4.05 из 5 на основе 36 оценок
Нашли ошибку? Выделите её и нажмите Ctrl + Enter, чтобы сообщить нам.
Хотите узнать новые фишки по интернет-маркетингу?
Подпишитесь на нашу рассылку — только полезные статьи, реальные кейсы и новости Serpstat раз в неделю.

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

Войти Регистрация

Вы исчерпали лимит запросов.

Или email
Забыли пароль?
Или email
Back To Login

Не волнуйтесь! Напишите свой электронный адрес и мы пришлем вам новый пароль.

Вы уверены?

Awesome!

To complete your registration you need to enter your phone number

Назад

Мы отправили код подтверждения на ваш номер телефона

Your phone Resend code Осталось запросов

Что-то пошло не так.

Свяжитесь с нашей службой поддержки
Или подтвердите регистрацию с помощью Телеграм бота Перейдите по этой ссылке
Выберите один из проектов

Знакомство с сервисом

Ознакомьтесь с основными возможностями Serpstat удобным способом!

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

Имя

Email

Телефон

Будем рады вашему комментарию
Увеличить лимиты

Улучшить тариф

Экспорт недоступен для вашего тарифного плана. Вам необходимо улучшить свой тариф до Lite или выше, чтобы получить доступ к инструменту Подробнее

Зарегистрироваться

Спасибо, мы с вами свяжемся в ближайшее время

Пригласить
Просмотр Редактирование

E-mail
Сообщение
необязательно
E-mail
Сообщение
необязательно

У вас закончились лимиты

Вы достигли лимита на количество созданных проектов и больше не можете создавать новые проекты. Увеличьте лимиты или удалите существующие проекты.

Я хочу больше лимитов