01

Что делает 301 редирект и что он передает

Когда робот или браузер запрашивает старый адрес, сервер отвечает не страницей, а кодом 301 и заголовком Location с новым URL. Код 301 означает «перемещено навсегда». Получив его, робот идет по новому адресу, а со временем заменяет старый адрес в индексе на новый и переносит на него накопленные сигналы: ссылки, историю обхода, а часто и позиции по запросам.

Главное слово здесь «навсегда». Именно оно отличает 301 редирект от временных переадресаций: поисковик понимает, что старый адрес можно забыть. Поэтому его используют при смене адресов, переезде на https или другой домен, объединении дублей и удалении страниц, у которых есть близкая замена.

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

  • посетитель попадает на нужную страницу, а не на ошибку 404
  • внешние ссылки на старый адрес продолжают работать
  • старый адрес постепенно исчезает из выдачи, остается новый
  • сигналы старой страницы переходят на новую, если содержание совпадает по смыслу
Схема работы 301 редиректа: запрос старого адреса, ответ сервера с кодом 301, переход робота на новый адрес, замена в индексе
Четыре шага: робот запросил старый адрес, получил 301 и новый адрес, перешел и обновил индекс.
02

Когда нужен 301, а когда подходит другое решение

Типичная ошибка – ставить 301 на все случаи. У каждой ситуации свой инструмент, и разница между ними практическая. Если вторая версия страницы не нужна никому, включая посетителей, подойдет редирект. Если обе версии должны остаться открытыми, например сортировка или версия для печати, нужен canonical. Если страница удалена и замены у нее нет, честнее отдать код 404 или 410.

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

Переходы через мета-тег refresh и JavaScript тоже работают, но хуже: роботу нужно загрузить страницу и выполнить код, а часть сигналов теряется или передается с задержкой. Для SEO используйте серверную переадресацию. Коды 307 и 308 – аналоги 302 и 301, которые дополнительно сохраняют метод запроса. Для обычных страниц они встречаются редко, но если вы их увидели в логах, это нормально.

СитуацияЧто выбратьПочему
Смена адреса страницы, переезд на https или новый домен301Старый адрес больше не нужен, сигналы переходят на новый
Склейка зеркал: www и без www, со слешем и без301Одна версия адреса остается единственной
Параметры, сортировки, версия для печатиcanonicalСтраницы открыты, но в индекс идет основная
Страница удалена, аналога нет404 или 410Обман посетителя редиректом на главную хуже честной ошибки
Временное закрытие раздела302Адрес скоро вернется на место

Как выбрать между редиректом, canonical и noindex на реальном каталоге, я подробно разбирал в статье про дубли страниц сайта – там же есть примеры по фильтрам и пагинации.

03

Как настроить 301 редирект на Apache и в CMS

Способ настройки зависит от того, где живет сайт. На Apache редиректы чаще всего прописывают в файле .htaccess в корне сайта. Для одной страницы достаточно директивы Redirect, для групп адресов – правил RewriteRule. Перед правкой сохраните копию файла: одна ошибка в синтаксисе отдает посетителям ошибку 500 на всем сайте.

В популярных CMS есть готовые модули. В WordPress это плагины для управления редиректами, в Битриксе – раздел с правилами переадресации, в Tilda – настройка в параметрах проекта. Модули удобны для единичных правил, но при тысяче адресов быстрее и надежнее править конфигурацию сервера: плагин загружает каждую страницу целиком, прежде чем принять решение.

Как бы вы ни настраивали, проверяйте итог одной командой. Нужен именно ответ 301 и правильный заголовок Location, а не 200 с видимым переходом в браузере.

# Одна страница
Redirect 301 /old-page/ https://ваш-сайт.ru/new-page/

# Группа адресов: старый раздел переехал в новый
RewriteEngine On
RewriteRule ^blog/(.*)$ /articles/$1 [R=301,L]

# Проверка ответа
curl -sI https://ваш-сайт.ru/old-page/ | head -n 5
Пути условные. Первая строка проверки должна показать код 301, а в заголовке Location стоит новый адрес целиком.
04

Переезд сайта: карта соответствий старых и новых адресов

Самые дорогие ошибки с редиректами случаются при смене структуры, домена или платформы. Правило одно: прежде чем менять сайт, выгрузите все адреса, которые у него были, и для каждого решите, куда он поедет. Список берите из трех источников: карта сайта, отчеты Вебмастера и Search Console, а также данные аналитики о страницах, на которые приходили посетители. Четвертый источник – внешние ссылки: адреса, на которые ссылаются другие сайты, нельзя терять ни при каких условиях.

Таблицу соответствий составляют по принципу «один к одному»: каждая старая страница получает ближайшую по смыслу новую. Если аналога нет, ищите ближайший раздел. Не отправляйте все удаленные страницы на главную: Google в таких случаях может принять редирект за мягкую ошибку 404, и ценность не перенесется. Для страницы, которая действительно потеряла смысл, лучше отдать 410.

Переадресацию настраивают до запуска нового сайта, а не после. Сразу после выкладки пройдите по таблице и убедитесь, что каждый адрес отвечает кодом 301 и ведет на страницу с кодом 200. Одновременно обновите внутренние ссылки, canonical и карту сайта: они должны вести на новые адреса напрямую, а не через переадресацию.

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

Для каталогов с тысячами карточек переезд лучше планировать заранее, и такие работы я включаю в продвижение интернет-магазина – иначе при смене структуры легко потерять карточки с живым спросом.

05

Склейка зеркал: http, www и слеш

Даже на сайте, который никуда не переезжает, редиректы нужны для порядка. Один и тот же сайт может открываться по http и по https, с www и без него, со слешем на конце и без, а иногда и с заглавными буквами в адресе. Для поисковика это разные адреса. Пока они все отдают код 200, вы получаете дубли и размытие ссылочного веса.

Выберите один основной вариант и склейте остальные 301 редиректом на него. Например, https без www со слешем на конце у разделов. Правило должно срабатывать за один шаг: если http-адрес сначала уходит на https, а потом на версию без www, получается цепочка. Лучше сразу отправлять на итоговый адрес.

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

server {
    listen 80;
    server_name ваш-сайт.ru www.ваш-сайт.ru;
    return 301 https://ваш-сайт.ru$request_uri;
}

server {
    listen 443 ssl;
    server_name www.ваш-сайт.ru;
    return 301 https://ваш-сайт.ru$request_uri;
}
Конфигурация Nginx: оба лишних варианта уходят на основной адрес одним переходом с сохранением пути.
06

Цепочки и циклы: как найти и исправить

Цепочка возникает, когда адрес A отправляет на B, а B – на C. Каждый такой переход замедляет загрузку и расходует бюджет обхода. В документации Google указано, что робот пройдет до десяти переходов подряд, а дальше остановится, но рассчитывать на предел глупо: цель – один переход. Цикл хуже: A ведет на B, а B возвращает на A, и страница не открывается вообще.

Цепочки накапливаются годами. Сначала сайт перешел на https, потом сменил структуру, потом убрал слеши, и каждый раз к старым правилам добавляли новое, не пересматривая прежние. Исправляется это просто: выгрузите все правила, найдите цепочки и переведите начало каждой сразу на конечный адрес.

Найти цепочки можно краулером: Screaming Frog и похожие программы показывают отчет по редиректам с числом переходов. Для выборочной проверки хватает curl с ключом -L и выводом цепочки заголовков. Отдельно проверьте внутренние ссылки: если меню или карточки ведут на адрес, который затем перенаправляет, каждый такой клик и каждый заход робота тратит лишний переход.

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

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

07

Как проверить 301 редирект и следить за результатом

Проверка состоит из трех слоев. Первый – ответ сервера: curl с ключом -I показывает код и заголовок Location. Проверьте выборку из каждого типа страниц: карточка, раздел, статья, главная. Второй – поведение робота: в Яндекс Вебмастере инструмент «Проверка ответа сервера», а в Google Search Console «Проверка URL» показывают, что видит поисковик. Третий – данные по трафику, и они приходят позже.

При смене домена используйте инструменты поисковиков. В Google Search Console есть «Смена адреса» для переезда на новый домен, а в Яндекс Вебмастере – раздел «Переезд сайта». Они не заменяют редирект, а подтверждают его: поисковик быстрее понимает, что сайт переехал целиком. Оба сайта нужно подтвердить в сервисах.

Следите за динамикой минимум несколько недель. Просадка в первые дни после переезда нормальна: робот должен обойти новые адреса. Если через месяц картина не восстанавливается, смотрите отчет об индексировании, ошибки 404 и список адресов, которые остались в выдаче. Переадресации держите не меньше года: в рекомендациях Google указан именно такой срок, а внешние ссылки на старые адреса не исчезнут никогда.

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

Как выглядит такая работа на практике, показано в кейсе по интернет-магазину шин – там описано, что проверялось помимо самих запросов.

08

Частые ошибки и чек-лист перед запуском

Список ошибок короткий, но каждая из них регулярно стоит позиций. Первая – редирект всех старых адресов на главную: поисковик не видит соответствия, а посетитель теряется. Вторая – 302 вместо 301 при переезде. Третья – забытые внутренние ссылки, которые продолжают вести на старые адреса. Четвертая – цепочки из нескольких переходов. Пятая – снятие переадресации через несколько месяцев, когда «все уже переехало»: внешние ссылки и закладки пользователей еще живы.

Шестая ошибка менее заметна: редирект закрыт в robots.txt. Если старый адрес запрещен для обхода, робот не получит ответ 301 и не узнает, что страница переехала. Старые адреса, с которых настроена переадресация, должны оставаться доступными для робота.

Перед любым переездом или массовой правкой адресов пройдите чек-лист ниже. Он занимает час, а исправлять последствия приходится неделями.

  • выгрузите все старые адреса из карты сайта, Вебмастера, Search Console и аналитики
  • назначьте каждому один новый адрес, а для удаленных страниц без аналога выберите 410
  • настройте 301 до запуска, а не после, и проверьте выборку через curl
  • замените внутренние ссылки, canonical и карту сайта на новые адреса
  • убедитесь, что цепочек и циклов нет, а старые адреса открыты для обхода
  • следите за отчетами 4-8 недель и держите редиректы не меньше года
Чек-лист из шести пунктов проверки 301 редиректов перед переездом сайта или сменой структуры адресов
Шесть пунктов, которые стоит пройти до запуска, а не после первых потерь трафика.

Если нужно проверить, что именно сейчас происходит с адресами на вашем сайте, это входит в SEO-аудит сайта – редиректы я смотрю вместе с индексацией, кодами ответа и картой сайта.