301 или 302 редирект: Какой лучше использовать?

Avatar
Глава отдела контента в Ahrefs (проще говоря, я отвечаю за то, чтобы каждый пост в блоге был КРУТЫМ).
    Редиректы — вещь простая. Если вы перемещаете контент на новое место навсегда, используйте 301 редирект. Если перемещение временное, используйте 302 редирект.

    Но вы можете спросить, какая разница? Пользователи же не заметят разницу между 301‑м и 302‑м редиректами. Оба работают одинаково.

    Ответ прост: поисковые системы учитывают 301 и 302 редиректы по-разному. И если выбрать неправильный, то это может создать проблемы для SEO, которые могут оставаться незамеченными месяцами и даже годами.

    В этом посте вы узнаете:

    • Вы навсегда меняете URL страницы.
    • Вы навсегда переезжаете на новый домен.
    • Вы переходите с HTTP на HTTPS.
    • Вы хотите исправить проблему с дублированным контентом на не-www и www версиях.
    • Вы навсегда склеиваете две или больше страниц или сайтов.
    • Вы навсегда меняете структуру URL на сайте.

    Для использования 302 редиректов намного меньше ситуаций, но они есть:

    • Вы хотите перенаправлять пользователей на правильную для них версию сайта (на основе местоположения или языка).
    • Вы хотите провести A/B сплит тест дизайна или функциональности страницы.
    • Вы хотите получить обратную связь о новой странице, не повредив позициям старой.
    • Вы проводите промо кампанию и хотите временно перенаправлять пользователей на страницу с предложением.

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

    Настроить 301 и 302 редиректы можно с помощью нескольких способов, но самый распространённый — отредактировать файл .htaccess. Его можно найти в корневом каталоге сайта.

    1 root directory htaccess

    Примечание.
    Если в корневом каталоге вашего сайта нет этого файла, то либо ваш сервер работает на Apache, либо у вас просто нет этого файла. Проверить на чём работает ваш сервер можно с помощью этого инструмента. Если у вас Apache, вам нужно создать файл .htaccess с помощью Notepad или TextEdit и загрузить его на сервер. Если у вас Nginx, прочитайте это. Если у вас Windows/IIS, читайте это.

    Если вы используете WordPress, можно сделать проще и использовать бесплатный SEO плагин для создания редиректов. В плагине RankMath эта функциональность есть сразу. Но этот плагин тоже справится с работой.

    Как сделать 301 редирект

    Если вам нужно сделать 301 редирект с одного URL на другой, добавьте следующую строку в файл .htaccess:

    Redirect 301 /old-page.html /new-page.html

    Также можно использовать плагин RankMath или Redirections. Просто выберите тип редиректа и укажите источник и целевой URL.

    2 301 rankmath

    Если вам нужно настроить перенаправление для всего сайта, добавьте в файл .htaccess следующее:

    RewriteEngine on
    RewriteCond %{HTTP_HOST} ^oldsite.com [NC,OR]
    RewriteCond %{HTTP_HOST} ^www.oldsite.com [NC]
    RewriteRule ^(.*)$ https://newsite.com/$1 [L,R=301,NC]
    

    Имейте в виду, что старый хостинг должен работать, чтобы редирект сработал. Это может быть затратно. Поэтому обычно лучше делать редирект через DNS. Большинство регистраторов позволяют выбрать между 301 и 302 редиректами. Если вы используете Google Domains, выберите Website > Forward domain, затем введите домен и выберите “Permanent redirect” (англ. — Постоянный редирект).

    3 google domains 301

    В нашем полном руководстве по настройке 301 редиректов можно узнать как сделать настройку для многих других ситуаций (например, перенаправление с не-www на www, HTTP на HTTPS).

    Как сделать 302 редирект

    Если вы хотите сделать 302 редирект с одного адреса на другой, добавьте в файл .htaccess следующую строку:

    Redirect 302 /old-page.html /new-page.html
    

    В WordPress это также можно сделать с помощью плагинов RankMath или Redirections:

    4 302 rankmath

    Для перенаправления всего сайта используйте следующий код:

    RewriteEngine on
    RewriteCond %{HTTP_HOST} ^oldsite.com [NC,OR]
    RewriteCond %{HTTP_HOST} ^www.oldsite.com [NC]
    RewriteRule ^(.*)$ https://newsite.com/$1 [L,R=302,NC]
    

    Обычно сайты не перенаправляют с помощью 302 редиректа. Почти всегда домены меняют навсегда, поэтому стоит использовать 301 редирект. То же касается и редиректов с HTTP на HTTPS и с версии без www на версию с www (и наоборот).

    Поскольку для конечного пользователя 301 и 302 редиректы работают одинаково, выбор сводится к тому как Google относится к ним. Поэтому нам нужно рассказать о двух вещах:

    1. Индексация
    2. Ссылочные сигналы

    Индексация

    Когда один URL перенаправляется на другой, Google оставляет в индексе только один из них.

    Для 301 редиректов…

    … это будет«новый» URL. Например, если вы сделали 301 редирект со страницы old-page.html на страницу new-page.html, Google проиндексирует new-page.html, а old-page.html удалит из индекса. Потому что 301 редирект говорит Google о том, что перемещение постоянное и нет смысла оставлять в индексе старый URL.

    Иногда люди запутываются в этом, потому что после настройки 301-го редиректа старый URL всё ещё может показываться какое-то время в Google при использовании оператора site:.

    Например, Moz поменял и перенаправил свой домен seomoz.org на moz.com много лет назад, но seomoz.org всё ещё остаётся в Google.

    5 301 site search

    Причина в том что, как объяснил недавно Патрик, поиск с оператором site: ничего не говорит об индексации URL. Для проверки нужно использовать Инструмент проверки URL или отчёт Покрытие в Поисковой консоли Google.

    Для 302 редиректов…

    … Google обычно оставляет в индексе первоначальный URL. Несмотря на это, Google знает что люди часто путают 302 и постоянные редиректы, поэтому каждый 302 редирект они оценивают отдельно и пытаются определить что именно он значит.

    Вот что сказал Джон Мюллер, сотрудник Google:

    Когда мы обнаруживаем редирект и понимаем что используется 302, мы сначала предполагаем что это временное перенаправление и считаем что вы хотите оставить в индексе первоначальный URL, а не тот на который настроен редирект. […] Несмотря на это, когда 302 похож на постоянный редирект, который вы могли случайно настроить неправильно, мы учитываем его как 301. И вместо первоначального URL мы проиндексируем URL, на который настроен редирект.

    Джон Мюллер
    Джон Мюллер, Webmaster Trends Analyst Google

    Никто точно не знает как долго должен висеть 302 редирект до того как Google начнёт учитывать его как постоянный. Обычно это длится от нескольких недель до нескольких месяцев. Но также это может занять дни, недели, или месяцы.

    В некоторых обстоятельствах Google даже может сразу воспринять 302 как 301.

    Например, недавно Патрик провёл небольшой эксперимент, в котором настроил 302 редирект с одного сайта на другой. Как только Google просканировал«старый» домен и увидел перенаправление,«старый» домен исчез из результатов поиска, а«новый» появился.

    Если вы не уверены в том, как Google учитывает ваши 302 редиректы, есть быстрый«трюк»:

    Вставьте URL, который вы хотите перенаправить Инструмент проверки URL в поисковой консоли Google. Если он показывает сообщение о том, что«URL не проиндексирован», то скорее всего Google учитывает его как постоянный (301). Если он есть в Google, он учитывает его как временный (302).

    6 url is not on google

    Только перепроверьте дату последнего сканирования. Если последнее сканирование было после того как вы сделали изменения, запросите переиндексирование и вернитесь позже.

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

    Ссылочные сигналы

    3XX редиректы раньше теряли PageRank, но с 2016 года это больше не так.

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

    Для 301 редиректов …

    … ссылочные сигналы консолидируются«вперёд» на новом URL.

    Например, если на старой странице old-page.html было десять ссылок и вы перенаправляете его (301) на новую страницу new-page.html, все ссылочные сигналы объединяются и переносятся на новую страницу new-page.html. Другими словами, Google должен ранжировать новую страницу new-page.html так, будто у неё есть 10 ссылок.

    Несмотря на этом, не всё так просто. Потому что неправильные редиректы Google учитывает как soft 404 ошибки:

    https://www.youtube.com/watch?v=nIDZmac_rMI&feature=youtu.be&t=76&ab_channel=GoogleWebmasters

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

    Если вам интересно как Google учитывает один из 301 редиректов, попробуйте сделать так:

    Перейдите в Поисковая консоль > Ссылки > Внешние ссылки.

    7 top linked pages

    Далее, отфильтруйте отчёт по«Целевой страницу» и вставьте«новый» URL. Например, мы недавно перенаправили старый пост (ahrefs.com/blog/seo-secrets/) с помощью 301 редиректа на главную страницу блога (ahrefs.com/blog/), поэтому мы вставим главную блога и выберем URL из списка.

    top target pages new url

    Дальше вставьте«старый» URL в Сайт Эксплорер Ahrefs и перейдите в отчёт Ссылающиеся домены (Referring Domains).

    8 referring domains ahrefs

    Наконец, в консоли отфильтруйте ссылки по«Сайту» и вставьте ссылающиеся домены из Ahrefs по одному.

    Если вы сделали это для нескольких доменов и не увидели в консоли соответствующий доменов, скорее всего Google учитывает редиректы как soft 404 ошибки и не учитывает ссылки для нового URL.

    Если вы нашли соответствующий домен, перейдите на него чтобы посмотреть сами ссылки. Вы должны увидеть что-то вроде этого:

    10 target url if different

    Обратите внимание, что колонка«Целевой URL» (Target URL (if different)) показывает«старый» URL. Это говорит нам о том, что Google учитывает ссылки для«нового» URL.

    Для 302 редиректов …

    … ссылочные сигналы консолидируются«обратно» на«старый» URL.

    Например, если вы перенаправили (302) старую страницу old-page.html на новую страницу new-page.html, а у новой страницы new-page.html есть десять ссылок, ссылочные сигналы будут консолидироваться на старой странице old-page.html. Другими словами, Google будет ранжировать старую страницу old-page.html как если бы у неё было 10 ссылок.

    Но не всё так просто. Всё зависит от того как Google учитывает этот 302 редирект.

    Если он учитывает его как временный, ссылочные сигналы действительно консолидируются в обратную сторону. При условии что перенаправляемая страница та же или похожа на«новую» страницу. Если нет, редирект может учитываться как soft 404 ошибка.

    Если он воспримет его как постоянный, ссылочные сигналы будут учитываться для новой страницы.

    Проверить как Google учитывает редирект можно с помощью Инструмента проверки URL. Просто вставьте«старый» URL. Если«Каноническая страница, выбранная Google» показывает«Проверенный URL» (как в случае ниже), то Google учитывает редирект как временный. Если нет, то как постоянный.

    11 inspected url canonical

    Допустим вы сделали распространённую ошибку и настроили 302 редиректы вместо постоянных. Нужно ли тратить драгоценное время и менять их на 301 редиректы?

    Ответ зависит от того, как Google учитывает эти редиректы на данный момент.

    Если он разобрался сам и понял что случайные 302 нужно заменить на постоянные, то смена 302 на 301 редирект мало что поменяет. Если он ещё не разобрался, то скорее всего лучше поменять редиректы.

    Чтобы проверить как Google учитывает отдельно взятые URL адреса, можно использовать Инструмент проверки URL в консоли, как мы уже показывали ранее. Тем не менее, если вам нужно поменять много редиректов, это может занять слишком много времени. Быстрее будет сначала сосредоточиться на 302 редиректах, по которым идёт органический трафик. Это явный признак того, что Google рассматривает данный редирект как временный.

    Для этого можно использовать инструмент Аудит Сайта в Ahrefs. Просканируйте сайт и перейдите в отчёт Перенаправления, чтобы посмотреть уведомления о 302 редиректах.

    12 302 redirects site audit

    Если они там есть, нажмите чтобы посмотреть затронутые URL адреса и отсортируйте отчёт по Органическому трафику от большего к меньшему.

    13 302 redirects with traffic

    Из-за того что эти цифры — оценка из Сайт Эксплорера Ahrefs, лучше будет перепроверить перенаправленные URL с трафиком в Инструменте проверки URL. Если канонические страницы выбранные пользователем и выбранные Google совпадают, Google учитывает 302 редирект как постоянный. Если не совпадают, перенаправленная страница скорее всего получает органический трафик, потому что она всё ещё находится в индексе и Google учитывает редирект как временный. Если вы поставили его случайно, то это плохо. К счастью, простая замена 302 редиректа на 301 поможет решить эту проблему.

    Заключение

    Редиректы не сложные. Если вы перемещаете контент в новое место навсегда, используйте 301 редирект. Если временно — 302.

    Тем не менее, хотелось бы быть уверенным, что если вы используете неправильный тип редиректа, Google скорее всего разберётся сам что вы имели в виду. Всегда ли он может разобраться сам? Конечно нет. Google не всегда достаточно умён чтобы разобраться самостоятельно, поэтому лучше всегда использовать правильный тип редиректа там где это возможно.

    Остались вопросы? Напишите мне в Твиттер.

    Перевел Дмитрий Попов, владелец Affilimarketer.com