Переехали на новый домен, поменяли структуру URL или перевели сайт на HTTPS — и потеряли половину трафика? Скорее всего, дело в неправильных редиректах. 301 редирект — это базовый инструмент технического SEO, который передаёт вес старой страницы на новую. Настроите правильно — сохраните позиции. Ошибётесь — Яндекс сбросит всё накопленное.

Что такое 301 редирект и зачем он нужен

301 редирект (Moved Permanently) — это серверный ответ, который говорит браузеру и поисковому роботу: «Эта страница навсегда переехала по новому адресу». Когда Яндекс видит 301, он понимает, что нужно:

  • Убрать старый URL из индекса
  • Добавить в индекс новый URL
  • Передать накопленный ссылочный вес (не 100%, но большую часть)
  • Сохранить позиции страницы в выдаче (с небольшой просадкой на время переиндексации)

Без 301 редиректа старая страница со временем выпадет из индекса, а новая начнёт ранжироваться с нуля — как будто у неё нет никакой истории. Все внешние ссылки, которые ведут на старый URL, будут вести в никуда.

301 vs 302 vs 307 — когда использовать какой

Путаница между кодами редиректов — одна из самых частых ошибок продвижения. Разберём каждый:

301 — Moved Permanently (постоянный)

Используйте, когда страница переехала навсегда. Яндекс склеит старый и новый URL, передаст вес. Типичные ситуации:

  • Переезд на новый домен
  • Смена структуры URL (например, убрали /catalog/ из пути)
  • Переход с HTTP на HTTPS
  • Склейка www и без www
  • Удалённая страница, у которой есть релевантная замена

302 — Found (временный)

Страница временно доступна по другому адресу, но скоро вернётся. Яндекс НЕ передаёт вес и НЕ убирает старый URL из индекса. Используйте для:

  • Временного обслуживания сайта (техработы)
  • A/B тестирования страниц
  • Геозависимых редиректов (пользователь из Москвы → moscow.site.ru)

Частая ошибка: ставят 302 вместо 301 при переезде на HTTPS. Яндекс видит, что это «временно», и не склеивает домены. Позиции зависают между двумя версиями сайта.

307 — Temporary Redirect

Аналог 302, но гарантирует сохранение метода запроса (POST остаётся POST). В SEO используется редко — только для технических задач с формами и API.

Правило простое: если переезд навсегда — 301. Если временно и скоро вернёте обратно — 302. В 90% случаев вам нужен именно 301.

Настройка 301 редиректа в .htaccess (Apache)

Файл .htaccess лежит в корне сайта. Если его нет — создайте. Все правила обрабатываются модулем mod_rewrite.

Редирект одной страницы

Redirect 301 /staraya-stranica.html https://site.ru/novaya-stranica.html

Склейка www и без www

Яндекс считает www.site.ru и site.ru разными сайтами. Нужно выбрать основное зеркало и настроить редирект:

# Редирект с www на без www
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.site\.ru$ [NC]
RewriteRule ^(.*)$ https://site.ru/$1 [R=301,L]
# Редирект с без www на www
RewriteEngine On
RewriteCond %{HTTP_HOST} ^site\.ru$ [NC]
RewriteRule ^(.*)$ https://www.site.ru/$1 [R=301,L]

Переход с HTTP на HTTPS

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

Редирект с trailing slash (слэш в конце)

# Убрать слэш в конце URL (кроме директорий)
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)/$ /$1 [R=301,L]
# Добавить слэш в конце URL
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.+[^/])$ /$1/ [R=301,L]

Редирект старого домена на новый

# На старом домене — постранично
RewriteEngine On
RewriteRule ^(.*)$ https://newsite.ru/$1 [R=301,L]

Массовый редирект по шаблону

# Все страницы из /blog/ перенести в /articles/
RewriteEngine On
RewriteRule ^blog/(.*)$ /articles/$1 [R=301,L]

Настройка 301 редиректа в nginx

Если сайт работает на nginx (а сейчас это большинство серверов), редиректы настраиваются в конфигурационном файле /etc/nginx/sites-available/site.conf.

Редирект одной страницы

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

Склейка www и без www

# Редирект с www на без www
server {
    listen 443 ssl;
    server_name www.site.ru;
    return 301 https://site.ru$request_uri;
}

HTTP на HTTPS

server {
    listen 80;
    server_name site.ru www.site.ru;
    return 301 https://site.ru$request_uri;
}

Редирект старого домена

server {
    listen 443 ssl;
    server_name oldsite.ru www.oldsite.ru;
    return 301 https://newsite.ru$request_uri;
}

Важно: после изменения конфигурации nginx нужно проверить синтаксис и перезагрузить:

sudo nginx -t
sudo systemctl reload nginx

Типичные сценарии редиректов

Переезд на HTTPS (самый частый)

Порядок действий:

  1. Установите SSL-сертификат
  2. Проверьте что HTTPS-версия работает корректно
  3. Настройте 301 с HTTP на HTTPS
  4. В Яндекс.Вебмастере добавьте HTTPS-версию сайта
  5. Подайте заявку на переезд сайта (Индексирование → Переезд сайта)
  6. Обновите robots.txt — пропишите Host с HTTPS
  7. Обновите sitemap.xml — все URL должны быть с HTTPS

Смена структуры URL

Допустим, вы убрали вложенность из URL:

  • /catalog/category/product.html/product.html

Нужно настроить 301 для каждого старого URL на новый. Если страниц много — используйте RewriteMap в Apache или map в nginx:

# nginx — map для массовых редиректов
map $request_uri $new_uri {
    /catalog/category/product1.html  /product1.html;
    /catalog/category/product2.html  /product2.html;
    /catalog/category/product3.html  /product3.html;
}

server {
    if ($new_uri) {
        return 301 $new_uri;
    }
}

Удалённые страницы

Если страница удалена и замены нет — отдавайте 410 (Gone), а не редиректьте на главную. Яндекс быстрее уберёт такую страницу из индекса. Если есть похожая страница — делайте 301 на неё.

Цепочки редиректов — почему это плохо

Цепочка редиректов — это когда одна переадресация ведёт к другой:

http://site.ru → https://site.ru → https://www.site.ru → https://www.site.ru/
# Три редиректа подряд!

Чем это грозит:

  • Потеря ссылочного веса. На каждом шаге теряется часть веса. Два-три редиректа — и до целевой страницы доходит заметно меньше
  • Замедление загрузки. Каждый редирект — это дополнительный HTTP-запрос. Три редиректа — это +300-600 мс к скорости загрузки
  • Яндекс может не дойти до конца. Робот Яндекса обычно следует максимум 5 редиректам, но чем короче цепочка — тем лучше
  • Проблемы с краулинговым бюджетом. Бот тратит ресурсы на прохождение цепочки вместо сканирования полезных страниц

Правило: каждый старый URL должен вести напрямую на конечный адрес. Один редирект — один переход. Если у вас http://site.ru/old-page → настройте сразу на https://site.ru/new-page, без промежуточных шагов.

Как Яндекс обрабатывает редиректы (склейка)

В Яндексе процесс переноса называется «склейка». Когда робот видит 301 редирект со страницы A на страницу B, он запускает процесс склейки — переносит ссылочный вес и историю ранжирования.

Особенности склейки в Яндексе:

  • Срок: склейка занимает от 2 до 8 недель. Иногда дольше — зависит от частоты обхода вашего сайта
  • Просадка: временное падение позиций на 10-30% — это нормально. После завершения склейки позиции восстанавливаются
  • Директива Host: в robots.txt укажите основное зеркало через Host: site.ru — это ускорит склейку
  • Вебмастер: обязательно подтвердите оба домена (старый и новый) и подайте заявку на переезд через Яндекс.Вебмастер
  • Не торопитесь: после настройки 301 не убирайте редирект минимум 6 месяцев. Яндексу нужно время для полной переиндексации

Для Google процесс проще — он быстрее обрабатывает 301 и не требует директиву Host. Но если вы работаете в рунете, ориентируйтесь на сроки Яндекса.

Типичные ошибки, которые убивают SEO

1. Редирект всех страниц на главную

Самая грубая ошибка. Вместо постраничного редиректа (старый URL → соответствующий новый URL) все старые страницы перенаправляют на главную. Яндекс расценивает это как «soft 404» — страница не найдена. Весь накопленный вес теряется.

2. Использование 302 вместо 301

При постоянном переезде ставят 302 (временный). Яндекс не передаёт вес через 302 и держит в индексе обе версии URL. Проверьте — возможно, это ваша проблема прямо сейчас.

3. Циклические редиректы

Страница A редиректит на B, а B — обратно на A. Браузер выдаёт ошибку ERR_TOO_MANY_REDIRECTS, страница не открывается, Яндекс убирает её из индекса.

# Ошибка: цикл!
# В .htaccess на site.ru:
RewriteRule ^(.*)$ https://www.site.ru/$1 [R=301,L]

# В .htaccess на www.site.ru:
RewriteRule ^(.*)$ https://site.ru/$1 [R=301,L]

4. Редирект на несуществующую страницу

301 ведёт на URL который отдаёт 404. Двойной удар: и вес потерян, и пользователь видит ошибку. Перед настройкой проверьте что целевые страницы доступны.

5. Забыли обновить внутренние ссылки

После редиректов внутренние ссылки на сайте до сих пор ведут на старые URL. Каждый переход — это лишний редирект, потеря скорости и веса. Обновите все ссылки в навигации, контенте, микроразметке на новые адреса.

6. Не обновили sitemap.xml и canonical

В sitemap.xml указаны старые URL, а тег <link rel="canonical"> ведёт на старый адрес. Яндекс получает противоречивые сигналы — и 301 говорит переехать, и canonical указывает на старый URL.

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

Онлайн-сервисы

  • httpstatus.io — покажет цепочку редиректов и финальный код ответа
  • redirect-checker.org — визуализирует цепочку
  • Яндекс.Вебмастер → Инструменты → Проверка ответа сервера — проверяет именно глазами Яндекса

Через curl в терминале

# Показать заголовки ответа
curl -I https://site.ru/old-page

# Следовать по всей цепочке редиректов
curl -ILs https://site.ru/old-page | grep -E "HTTP/|Location:"

В ответе должно быть HTTP/1.1 301 Moved Permanently и Location: https://site.ru/new-page.

В браузере (DevTools)

  1. Откройте DevTools (F12) → вкладка Network
  2. Введите старый URL в адресную строку
  3. Смотрите первый запрос — Status должен быть 301
  4. В Response Headers найдите Location — это адрес, куда идёт редирект

Массовая проверка через Screaming Frog

Если у вас сотни редиректов — проверяйте Screaming Frog SEO Spider. Он покажет все цепочки, циклы и редиректы на 404. Бесплатная версия сканирует до 500 URL.

Чек-лист: правильная настройка 301 редиректов

  1. Определите тип переезда: домен, протокол, структура URL
  2. Составьте таблицу «старый URL → новый URL» для всех страниц
  3. Настройте 301 (не 302!) для каждого URL
  4. Убедитесь что нет цепочек — каждый старый URL ведёт сразу на конечный
  5. Проверьте отсутствие циклов
  6. Обновите все внутренние ссылки на сайте
  7. Обновите sitemap.xml — только новые URL
  8. Обновите canonical теги
  9. В Яндекс.Вебмастере подайте заявку на переезд
  10. Укажите Host в robots.txt (для Яндекса)
  11. Мониторьте позиции и индексацию 2-3 месяца
  12. Не убирайте редиректы минимум 6-12 месяцев

Итог

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

Главное: используйте 301 для постоянных переездов, избегайте цепочек, обновляйте внутренние ссылки и давайте Яндексу время на склейку. Если сомневаетесь — лучше проконсультируйтесь со специалистом до того, как сломаете то, что работало.

Нужна помощь с редиректами?

Настрою редиректы правильно — без потери позиций и трафика. Особенно важно при переезде на новый домен или смене структуры сайта.

Написать в Telegram