Канонизация и редиректы 2 мин чтения

301-редирект — переезд страницы без потери позиций

Чем 301 отличается от 302, когда его ставить, как настроить на разных серверах и какие ошибки стоят трафика.

Редирект — автоматическое перенаправление с одного адреса на другой. Для поисковиков важен код: 301 означает «переехали навсегда», 302 и 307 — «временно».

При 301 поисковик со временем заменяет старый адрес новым в индексе и переносит на него накопленный авторитет — ссылки, историю, позиции. При 302 старый адрес остаётся основным, а новый воспринимается как временная подмена.

Когда нужен 301

  • Переход на HTTPS: все http://-адреса ведут на https://.
  • Склейка зеркал с www и без.
  • Смена структуры адресов: /catalog.php?id=15/catalog/nozhi/.
  • Переезд на новый домен.
  • Объединение двух похожих страниц в одну.
  • Приведение к единому виду: со слэшем в конце или без, всегда одинаково.

Когда 301 не нужен

  • Страница удалена и замены нет. Тогда 404 или 410, а не редирект на главную.
  • Страница временно недоступна — техработы, товар закончился. Здесь 302 или 307: адрес должен остаться в индексе.

Как настроить

Nginx — в конфигурации сайта:

server {
    server_name www.example.ru;
    return 301 https://example.ru$request_uri;
}

Apache — в .htaccess:

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

PHP — если доступа к конфигурации сервера нет:

header('Location: https://example.ru/new-page', true, 301);
exit;

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

Ошибки, которые стоят трафика

Всё на главную. При смене структуры сайта соблазнительно отправить старые адреса на главную. Поисковик расценивает это как soft-404 и просто выбрасывает старые страницы, никакой авторитет не переносится. Правильно — вести каждую страницу на её смысловой аналог.

Цепочки. http://www.site.ru/pagehttps://www.site.ru/pagehttps://site.ru/pagehttps://site.ru/page/. Каждое звено — лишний запрос и потеря времени (подробнее). Настраивайте правила так, чтобы переход был один.

302 вместо 301. Частая беда самописных решений и некоторых плагинов: код 302 по умолчанию, и переезд для поисковика не засчитывается.

Редирект на страницу, которая сама отдаёт 404. Проверяйте конечный адрес, а не только факт перенаправления.

Как проверить

curl -I -L https://example.ru/staraya-stranica

Флаг -L заставит curl пройти всю цепочку — вы увидите каждый шаг и итоговый код. В браузере то же самое видно в F12Network при включённой галочке «Preserve log».

В отчёте нашего аудита за это отвечают пункты «Редирект HTTP → HTTPS», «Склейка www / без www» и «Длина цепочки редиректов».

А что с этим на вашем сайте?

Аудит «Кверху» проверяет этот пункт вместе с остальными пятьюдесятью и показывает конкретику: какие страницы затронуты и что именно исправить. Первая полная проверка проекта — бесплатно.

Проверить сайт бесплатно