seo·matrix
← Все статьи

canonical или редирект — что выбрать и когда

· Обновлено 28 июн. 2026 г. · 8 мин чтения · Автор Михаил Кузьмицкий

Markdown-версия ↗

Коротко, для тех, кто пришёл за ответом и убежит: rel="canonical" оставляет адрес живым и лишь подсказывает главную версию, а редирект 301 адрес убивает. Жива ли старая страница — тег, нет — код. Дальше про то, почему их всё равно путают и как эта путаница тихо съедает трафик на дублях.

Смотрел на днях каталог одного магазина: карточка отдаётся по двум путям, каноникал стоит на первый, а вся перелинковка ведёт на второй. Спрашиваю, почему так, — «поставили каноникал, как в гайде», — и вот тут я полез разбираться, откуда берётся эта путаница, потому что видел её уже не на первом и, кажется, даже не на десятом сайте.

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

Что именно делает каждый

Редирект 301 — это постоянная переадресация: и человек, и бот попадают на новый адрес, а старый перестаёт существовать и со временем выпадает из индекса. Для поисковика это директива, то есть указание, а не пожелание.

canonical или редирект — что выбрать и когда

Тег rel="canonical" живёт в <head> или в HTTP-заголовке Link и сообщает другое: у этого содержимого несколько адресов, а главный вот такой, и все адреса при этом остаются открытыми и рабочими.

И вот ключевая деталь, которую пропускают: каноникал — это рекомендация, а не команда. Поисковик учитывает её вместе с остальными сигналами — внутренними ссылками, картой сайта, редиректами — и вполне может выбрать другой адрес каноничным, если сигналы противоречат друг другу, причём тебя об этом никто не предупредит.

Оба механизма консолидируют ссылочные сигналы на выбранную версию. Так в чём тогда разница? В силе сигнала и в том, остаётся ли исходный адрес живым.

Когда нужен каноникал

Когда все версии должны остаться доступными, но в индексе нужна одна, и список типовых случаев такой:

  • параметры в адресе — метки ?utm=, сортировка, идентификатор сессии, фильтры каталога;
  • версия для печати или мобильный дубль — каноникал ведёт на основную;
  • один товар по нескольким путям вроде /catalog/item и /sale/item, когда обе ссылки реально нужны;
  • републикация на другом домене — каноникал на оригинал, межсайтовый вариант допустим;
  • незначительные вариации при одинаковом содержимом.

Общий признак у всех случаев один: страницу нельзя убивать редиректом, потому что она кому-то нужна живой. Человек пришёл по ссылке с меткой, и он должен увидеть страницу, а не переброс, — казалось бы, очевидно, но именно на метках я видел редиректы чаще всего!

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

Когда старый адрес существовать не должен вообще, и случаи такие:

  • страница реально переехала, сменился адрес или структура каталога;
  • сменился домен, склеиваются http и https, www и версия без него;
  • товар или страница удалены — тогда 301 ведёт на релевантную замену, но не на главную, потому что это «мягкая 404»;
  • две похожие страницы слились в одну.

Подробно про сами коды переадресации и разницу между ними — в отдельном посте: 301, 302, 307, 308 — в чём разница.

Таблица: каноникал против 301

rel="canonical"Редирект 301
Исходный адресОстаётся рабочимПерестаёт существовать
Тип сигналаРекомендация, могут проигнорироватьДиректива
Консолидация сигналовДа, на каноничный адресДа, на целевой
Что видит человекТекущую страницуСразу новую страницу
Когда применятьНесколько живых дублейПостоянный переезд

Как выбрать за десять секунд

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

Проверь себя на простом примере. Карточка товара доступна по двум путям, и обе ссылки уже разосланы по партнёрам, то есть убивать одну из них редиректом нельзя — значит, это каноникал. А вот если раздел переехал целиком и старые адреса больше никому не нужны, вопрос закрыт сразу: ставим 301, и никаких «а вдруг кто-то ещё зайдёт».

Частые ошибки

Первая — каноникал, указывающий на редиректящий или несуществующий адрес, хотя канонический адрес обязан отвечать кодом 200, иначе сигнал противоречив и просто игнорируется.

Вторая — каноникал вместе с noindex на одной странице. Получается взаимоисключающая пара: «индексируй вон ту версию» и одновременно «не индексируй», и одно из двух надо убрать.

Третья — цепочка каноникалов, когда A ссылается на B, а B на C. Указывай сразу на финальный адрес, потому что промежуточные звенья только размывают сигнал.

Четвёртая — пагинация под один каноникал. Не своди страницы листинга со второй по последнюю на первую: каждая из них самоканонична, и склейка просто выкидывает их из индекса — все, разом!

Пятая — относительный или непоследовательный каноникал. Используй абсолютный адрес, единый регистр и одинаковые слеши, а каноникал, карта сайта и внутренние ссылки должны указывать на один и тот же адрес, символ в символ.

Шестая — редирект там, где нужен был каноникал, и наоборот: если обе страницы нужны живыми, редирект их убьёт, а если страница переехала навсегда, каноникал оставит старый адрес болтаться в выдаче.

Что происходит, когда сигналы спорят

Возвращаюсь к тому магазину, потому что картина встречается почти на каждом втором сайте из тех, что я смотрел. Каталог отдаёт карточку по двум разным путям, каноникал стоит на первый из них, а вся внутренняя перелинковка при этом ведёт на второй, и формально всё настроено, а по факту сайт говорит две разные вещи одновременно.

Что делает поисковик в такой ситуации? Он считает голоса: каноникал — один голос, внутренние ссылки — другой, карта сайта — третий, внешние ссылки — четвёртый. Побеждает большинство, и это, как правило, не тот адрес, который ты имел в виду, когда ставил тег!

Отсюда практическое правило: каноникал не работает в одиночку, он работает, когда все остальные сигналы говорят то же самое. Поставил тег — поправь ссылки и карту сайта, иначе ты просто добавил ещё одно мнение в общий спор.

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

Три случая, где ошибаются чаще всего

Первый случай — фильтры каталога, и здесь кажется логичным закрыть их редиректом на чистый адрес. Так делать нельзя! Человек выбрал фильтр и должен увидеть отфильтрованный список, а не переброс на общий каталог, поэтому подходит только каноникал, и никакой альтернативы у тебя тут нет.

Второй случай — смена структуры адресов, и тут всё ровно наоборот. Старые адреса никому не нужны живыми, а каноникал оставит их болтаться в выдаче ещё на месяцы, поэтому нужен честный редирект 301, причём сразу до финального адреса, без промежуточных остановок.

Третий случай — перепечатка материала на партнёрском сайте, и правильный ход здесь межсайтовый каноникал на оригинал. Он действительно работает, хотя многие в это до сих пор не верят и предпочитают вообще не отдавать текст (выскажу субъективное: зря). Редирект тут неуместен, потому что партнёру нужна живая страница у себя, иначе смысл перепечатки теряется.

ИИ-движки, как и поисковики, выбирают одну версию содержимого для цитирования, логика та же самая, и последствия те же.

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

Чёткий и последовательный каноникал или честный 301 при переезде помогают закрепить один цитируемый адрес и накапливать сигналы именно на нём. Это скучная работа, но она из тех, что окупается тихо и надолго, — а много ли в SEO вещей, про которые можно так сказать?

Как проверить у себя

Порядок простой. Открой исходный код страницы или заголовки ответа и найди rel="canonical", а дальше убедись, что он абсолютный и ведёт куда нужно.

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

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

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

Если совсем коротко: жива ли старая страница? Да — тег. Нет — код 301. Всё, что сложнее, это уже частный случай одного из двух.

А тот магазин, кстати, до сих пор говорит поисковику две разные вещи. Наверное, ждёт, пока тот сам разберётся.

Источники

  • Google Search Central — Consolidate duplicate URLs и канонизация: каноникал как подсказка, выбор адреса по совокупности сигналов.
  • MDN Web Docs — HTTP redirections, заголовок Link: rel="canonical".
  • Google Content Warehouse API leak (2024) — поле forwardingdup и canonical pointer: объединение документов и перенос сигналов.

Частые вопросы

В чём разница между canonical и 301?

301 физически уводит и пользователя, и бота на другой URL — старого адреса больше нет. rel=canonical оставляет все URL рабочими, но указывает поисковику главную версию. 301 — директива, canonical — рекомендация (поисковик может выбрать другой канонический URL).

Canonical передаёт вес как 301?

Оба консолидируют сигналы на основную версию. Но canonical — это подсказка: если сигналы противоречат (внутренние ссылки, sitemap, редиректы ведут на другой URL), поисковик может проигнорировать твой canonical. 301 надёжнее, когда дубль не должен существовать.

Когда canonical, а когда редирект?

Если обе страницы должны оставаться доступными (один товар по нескольким путям, версии с UTM/сортировкой/печатью) — canonical. Если страница реально переехала и старый URL не нужен — 301.

Можно ли ставить canonical на страницу с редиректом или 404?

Нет. Канонический URL должен отвечать 200. Canonical на редиректящую, 404 или noindex-страницу — противоречивый сигнал, поисковик его проигнорирует и выберет канонический сам.

Помогла статья?
Запустить SEO/GEO с seo·matrix → или заявка без Telegram →

Комментарии

  • …

Комментарии модерируются.