Подробная инструкция по редиректам: когда и как их использовать
Фото Евгения Зайца, CEO Digital Yaponochka

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

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

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

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

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

По словам Джона Мюллера (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 вначале используйте переадресации страниц с более высоким уровнем вложенности, например:

На больших ресурсах с множеством редиректов несоблюдение этого правила ведёт к возникновению страниц с 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-адреса, и строка считается окончательной.

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. Это сделано, чтобы уберечь пользователя от возможных вклиниваний и перенаправлений крутых хакеров и злоумышлеников. Поисковые боты не будут попадать под этот сценарий.

Как безопасно перейти на протокол HTTPS

Как безопасно перейти на протокол 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 редиректа оправдано, если:

Квартальный отчет по видимости сайтов —

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

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

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

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

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

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

Как привлечь клиентов с помощью Quora

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

редиректы на сайте

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

Как привлечь клиентов с помощью Quora

Технический аудит страницы в два клика

Выводы

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

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *