301 редирект без потери позиций: переезд страниц, домена и https

Правильно настроенный 301 редирект передаёт новому адресу почти весь вес старого, поэтому позиции после переезда проседают временно, обычно на две-четыре недели, и возвращаются. Трафик теряют не из-за самого редиректа, а из-за ошибок вокруг него: всё перенаправили на главную, получились цепочки из трёх прыжков, в меню остались старые ссылки, а в sitemap старые URL. Ниже разбираем, чем 301 отличается от 302 и 308, в каких случаях он нужен, как прописать правила в .htaccess и nginx и как убедиться, что всё сработало.

SEO-специалист проверяет 301 редирект командой curl в терминале на экране ноутбука

301, 302, 307, 308 и meta refresh: в чём разница

Код ответа сервера сообщает браузеру и поисковику, что страница переехала, и как к этому относиться. Для SEO принципиальна разница между постоянным и временным переездом: в первом случае Google постепенно заменяет старый адрес в индексе на новый, во втором продолжает держать старый и ждёт, когда тот вернётся.

КодЧто означаетМетод запросаКогда уместен
301Постоянный переездМожет смениться на GETСмена URL, домена, объединение страниц, переход на https
302Временное перенаправлениеМожет смениться на GETАкции, A/B-тесты, страница временно недоступна
307Временное, метод сохраняетсяНе меняетсяФормы и API, где POST должен остаться POST
308Постоянное, метод сохраняетсяНе меняетсяТо же, что 301, но для POST-запросов
meta refreshПеренаправление на уровне HTML-страницыНе применяетсяТолько без доступа к серверу; Google обрабатывает медленнее

Для большинства сайтов выбор сводится к двум вариантам: 301 навсегда, 302 на несколько дней. Дилемма «302 или 301» решается одним вопросом: вернётся ли старый адрес. Если нет, ставьте 301. Google давно подтверждает, что оба кода передают PageRank, но с 302 поисковик дольше держит в индексе старую страницу и может вообще не переключиться на новую. Мы в Query не раз видели сайты, где после редизайна год стоял 302, а в выдаче продолжали висеть старые URL, отдающие 404 по клику.

Meta refresh и JavaScript-перенаправления Google тоже понимает, но обрабатывает медленнее и не всегда. Это запасной вариант для конструкторов сайтов без доступа к конфигурации сервера, не основной инструмент.

Когда нужен 301 редирект

  • Смена URL страницы. Переименовали категорию, убрали даты из адресов блога, поменяли структуру ЧПУ. Каждый старый путь должен вести на свой новый.
  • Объединение страниц. Три похожие статьи слили в одну: две лишние перенаправляются на ту, что осталась.
  • Переход с http на https. Редирект https ставится на все адреса без исключения, вместе с картинками, PDF и другими файлами.
  • Зеркала www и без www. Выбирается одна главная версия, вторая перенаправляется на неё. То же со слешем в конце адреса и регистром букв.
  • Переезд сайта на новый домен. Самый рискованный сценарий: редиректы здесь работают в паре с уведомлением Google о смене адреса. Что ещё нужно учесть, мы собрали на странице услуги SEO при смене домена.
  • Удаление товара или услуги. Если есть близкий аналог, редирект на него. Если аналога нет, честнее отдать 404 или 410, чем отправлять всех на главную.

Как сделать редирект 301 и не потерять позиции

Сама строка в конфигурации пишется за минуту. Позиции теряют на подготовке, поэтому последовательность имеет значение.

  1. Соберите полный список старых URL. Выгрузите адреса из Search Console, аналитики, sitemap и краулера (Screaming Frog или аналог). Отдельно пометьте страницы с трафиком и внешними ссылками: их терять больнее всего.
  2. Составьте карту соответствий 1:1. Каждый старый адрес получает конкретный новый с тем же содержанием. Массовое перенаправление всего на главную Google трактует как soft 404 и вес не передаёт.
  3. Один прыжок, не цепочка. Старый URL ведёт сразу на конечный. Если на сайте уже есть давние редиректы, перепишите их на новую цель, иначе появятся цепочки из двух-трёх переходов, а Googlebot проходит ограниченное их количество.
  4. Обновите внутренние ссылки. Меню, футер, текстовые ссылки, canonical, hreflang: все должны вести напрямую на новые адреса, а не через редирект.
  5. Перегенерируйте sitemap.xml только с новыми URL и отправьте его в Search Console. Старый sitemap со старыми адресами не держите.
  6. При смене домена сообщите Google. В Search Console есть инструмент «Изменение адреса»: он работает только для переезда между доменами и ускоряет перенос сигналов. Официальная инструкция: Site moves with URL changes.
  7. Выбирайте спокойный период. Не перед сезоном и не в день запуска рекламы. Первые две-три недели ежедневно смотрите на покрытие в Search Console.
Таблица соответствия старых и новых URL сайта на мониторе перед настройкой 301 редиректа

Примеры для .htaccess и nginx

На Apache редиректы живут в файле .htaccess в корне сайта, на nginx в конфигурации сервера (nginx.conf или файл сайта в sites-available). После правок nginx нужно перезагрузить командой nginx -s reload, Apache подхватывает .htaccess сразу.

.htaccess (Apache)

Одна страница на новый адрес:

Redirect 301 /staraya-stranica/ https://site.ua/novaya-stranica/

Весь сайт с http на https и на версию без www одним правилом:

RewriteEngine On
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} ^www\. [NC]
RewriteRule ^(.*)$ https://site.ua/$1 [R=301,L]

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

RewriteCond %{HTTP_HOST} ^(www\.)?old-site\.ua$ [NC]
RewriteRule ^(.*)$ https://new-site.ua/$1 [R=301,L]

nginx

Отдельная страница:

location = /staraya-stranica/ { return 301 https://site.ua/novaya-stranica/; }

Весь домен, http и www вместе:

server {
    listen 80;
    server_name old-site.ua www.old-site.ua;
    return 301 https://new-site.ua$request_uri;
}

В nginx правила через return 301 выполняются быстрее, чем rewrite, и именно их стоит брать для массовых переездов. Для WordPress и других CMS есть плагины редиректов, но для сотен адресов правило на уровне сервера надёжнее и не нагружает PHP на каждом запросе.

Оставьте заявку

Укажите ваше имя и email, наши менеджеры свяжутся с Вами в ближайшее время

Как проверить, что редирект работает

Самый быстрый способ: в терминале выполнить curl -I https://old-site.ua/staraya-stranica/. В ответе должна быть строка HTTP/2 301 и заголовок location: с конечным адресом. Если за первым 301 идёт ещё один 301 или 302, это цепочка, и её нужно сократить до одного прыжка. Команда curl -IL покажет всю цепочку сразу.

Для массовой проверки прогоните старый список URL через Screaming Frog в режиме List: он покажет код ответа, конечный адрес и количество прыжков для каждой строки. Бесплатных онлайн-чекеров редиректов тоже хватает, для десятка адресов их достаточно.

В Search Console смотрите два отчёта. «Страницы» (индексирование) покажет, не зависли ли старые адреса в категории «Страница с переадресацией» без индексации новой. «Эффективность» через две-три недели должна показать, что клики с новых адресов восстановились до уровня старых. Инструмент проверки URL позволяет отдельно посмотреть, как Googlebot видит конкретный адрес и какую страницу считает канонической.

Отчёт Search Console с индексированием страниц после переезда сайта на новый домен на экране монитора

Сколько держать редиректы

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

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

Типичные ошибки, которые съедают позиции

  • Всё на главную. Самая частая и самая дорогая ошибка. Google игнорирует такой редирект как soft 404, позиции старых страниц исчезают.
  • 302 вместо 301. Старый адрес годами остаётся в индексе, новый не набирает вес.
  • Цепочки и петли. Старый адрес ведёт на промежуточный, тот ещё на один. Каждый лишний прыжок замедляет сканирование, а петля полностью блокирует страницу и для людей, и для бота.
  • Редирект только для страниц. Забывают картинки, PDF и файлы, которые собирали трафик из поиска по изображениям и имели внешние ссылки.
  • Старый домен не продлили. Через два года домен освободился, редиректы исчезли вместе с ним, а с ними и все внешние ссылки.
  • Новая страница закрыта от индексации. Она отдаёт noindex или запрещена в robots.txt, и вес передаётся в никуда.
  • Разное содержание. Старая страница о доставке ведёт на страницу об оплате. Формально редирект есть, по смыслу это тот же soft 404.

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

С чего начать

  1. Выгрузите полный список текущих URL и пометьте те, что дают трафик и имеют внешние ссылки.
  2. Составьте таблицу соответствий «старый адрес и новый» 1:1, без массовых перенаправлений на главную.
  3. Пропишите правила на уровне сервера и проверьте выборку через curl -I на отсутствие цепочек.
  4. Обновите внутренние ссылки, canonical и sitemap, отправьте sitemap в Search Console, при смене домена запустите «Изменение адреса».
  5. Три недели следите за отчётами «Страницы» и «Эффективность» и не убирайте редиректы минимум год.

Другие статьи

Другие услуги

Связаться с нами
Мессенджеры