Короткий ответ
Canonical, он же rel="canonical", — тег, которым вы называете основной адрес для группы похожих страниц. Google трактует его как рекомендацию: он принимает её, если с ней согласны другие сигналы, и выбирает другой адрес, если не согласны. Поэтому canonical нужен там, где несколько URL должны остаться доступными людям, а в выдаче должен остаться один. Там, где лишний URL не нужен вовсе, правильный инструмент — 301-редирект.
Вторая половина вопроса, почему Google canonical игнорирует, почти всегда сводится к одному: на вашем сайте есть сигнал, который называет другой адрес. Ниже по порядку, какие сигналы Google сравнивает и как найти виновника.
Где canonical нужен, а где вреден
Рабочее правило: canonical — для страниц, которые должны жить, но не должны конкурировать. Я проверяю каждую ситуацию одним вопросом: «нужен ли этот URL человеку?» Если нет, ставлю 301, если да, canonical или noindex.
| Ситуация | Что ставить | Почему |
|---|---|---|
| Адрес с UTM-метками и параметрами сортировки | canonical на чистый URL | Ссылка из рекламы должна открываться, индексироваться не должна |
| Товар в двух категориях | canonical на основной путь | Обе страницы нужны в навигации |
| Версия для печати, дубль в PDF | canonical на HTML-версию | Пользователю нужна, поиску нет |
| Страница 2, 3, 4 пагинации | canonical на саму себя | Там другие товары, на первую страницу их склеивать нельзя |
| Старая страница, которую заменили новой | 301, не canonical | Старый адрес людям больше не нужен |
| Язык: эстонская и русская версии | canonical на себя + hreflang | Это не дубли, их связывает hreflang |
| Корзина, личный кабинет | noindex, не canonical | Содержимое разное, но поиску оно не нужно |
Виды дублей и способы их поиска я разобрал 20 августа 2026 года в статье про дубли страниц; здесь только механизм canonical.
Как Google выбирает канонический URL
Google заявляет в документации Search Central, что canonical выбирается по набору сигналов, и вес у них разный. Сильные сигналы — редирект и rel="canonical", слабый — включение адреса в sitemap. Про внутренние ссылки и HTTPS вместо HTTP документация говорит осторожнее: это тоже учитывается, но вес не назван, и цифр я не придумываю. Я называю этот набор «голосованием»: если все голоса за один адрес, спорить нечего, если голоса разошлись, победит не тот, за кого проголосовали вы.
На практике противоречия появляются в трёх местах:
- Sitemap и canonical расходятся. В sitemap лежит адрес со слешем на конце, а canonical ведёт на адрес без слеша. Правило простое: в sitemap только те URL, которые вы назвали каноническими. Как собирать файл, я описывал в статье про sitemap.xml и robots.txt.
- Внутренние ссылки ведут на неканонический вариант. Меню ссылается на
/catalog/lamp?sort=price, а canonical указывает на/catalog/lamp. Робот видит сотни ссылок на один адрес и одну на другой и склоняется к первому. - Canonical указывает на страницу, которая редиректится, закрыта noindex или отдаёт 404. Такой тег Google может отбросить: он не может считать основным адрес, которого нет в индексе. Редиректы в цепочку превращаются так же незаметно, как canonical на ссылку с редиректом; как их найти, написано в материале про цепочки редиректов.
Четвёртая причина встречается реже, но коварнее: содержимое страниц действительно различается. Google Search Central описывает canonical как сигнал, а не директиву, поэтому Google не склеивает страницы, которые заметно не совпадают, даже если вы просите об этом тегом. Если у вас два «почти одинаковых» описания с разной таблицей характеристик, canonical между ними он вправе проигнорировать, и это не ошибка.
Что показывает замер на моём сайте
Проверил, как это выглядит у меня: 19 октября 2026 года открыл статью про дубли страниц на adlab.ee и добавил к адресу ?utm_source=test. Сервер ответил 200, и в <head> оба варианта отдали один и тот же тег:
<link rel="canonical" href="https://adlab.ee/blog/dubli-stranic-kak-nayti-i-ispravit"/>
То есть страница с меткой не склеивается редиректом, она открывается, а canonical сообщает роботу основной адрес. Эстонская и английская версии той же статьи отдали canonical на себя же. Адрес со слешем на конце сервер переводит на версию без слеша ответом 308. Здесь сразу видны и сильные, и слабые стороны подхода: canonical по шаблону закрывает всю массу адресов с метками разом, но он не лечит сами внутренние ссылки, и их я проверяю отдельно. Выборка, конечно, одна страница на трёх языках, а не весь сайт.
Как проверить, что Google принял ваш canonical
Три шага, которые я проделываю при подозрении на конфликт.
- Инструмент проверки URL в Search Console. Введите адрес: в блоке об индексировании видны «Канонический URL, указанный пользователем» и «Канонический URL, выбранный Google». Совпадают — всё хорошо. Расходятся — вы нашли страницу с конфликтом.
- Отчёт «Индексирование страниц». Статус «Google выбрал другой канонический URL, чем пользователь» собирает такие страницы списком. Статус «Страница является копией, канонический вариант не выбран пользователем» говорит об обратном: тега нет вовсе. Разбор остальных статусов и причин, по которым страницы не попадают в индекс, есть в статье почему страницы не индексируются.
- Исходный код страницы. Откройте код и поищите слово
canonical. Тег должен быть один, находиться внутри<head>(в теле страницы Google его не учитывает) и содержать абсолютный адрес с протоколом. Для файлов без HTML, например PDF, canonical передают HTTP-заголовкомLink: <https://…>; rel="canonical".
Если расхождение подтверждено, пройдите четыре пункта по списку: sitemap, внутренние ссылки, редиректы, noindex на странице назначения. По моим наблюдениям, виноват почти всегда один из них, а не алгоритм Google.
Кому canonical не подходит
- Тем, кто хочет убрать страницу из выдачи. Canonical не удаляет страницу из индекса и не запрещает её обход: робот продолжает заходить, просто реже. Для удаления нужен noindex или 404/410.
- Тем, кто лечит им пагинацию. Canonical со страниц 2, 3, 4 на первую прячет от робота товары, которые есть только там. Как настраивать каталог правильно, я разбирал в статье про пагинацию в каталоге.
- Тем, у кого сотни фильтров. Canonical на корневую категорию для всех комбинаций фильтров не масштабируется: Google принимает его выборочно. Про выбор индексируемых комбинаций — в материале про фасетные фильтры.
- Многоязычным сайтам, которые ставят canonical на одну версию. Эстонская страница с canonical на русскую выпадает из эстонской выдачи. Связывать языки нужно через hreflang.
Чек-лист: что сделать за один вечер
- Откройте в Search Console отчёт «Индексирование страниц» и выпишите страницы со статусом «Google выбрал другой канонический URL».
- Для трёх-пяти таких страниц сравните заявленный и выбранный адрес в инструменте проверки URL.
- Проверьте, что sitemap содержит только канонические адреса, без слеша или со слешем — единообразно.
- Найдите в меню и в тексте внутренние ссылки на неканонические варианты и замените их на канонические.
- Убедитесь, что страницы-назначения canonical отдают 200 и не закрыты noindex.
- Проверьте, что тег на странице один, он в
<head>и абсолютный. - Подождите несколько недель: решения о канонических адресах Google пересматривает при следующем обходе, мгновенного эффекта не будет.
