Canonical в Google — решение робота, какой URL считать документом в индексе, а не наличие тега в HTML. Как поставить один абсолютный rel=canonical и не спорить плагинами — Canonical URL в техническом кластере. Хаб качества — Google SEO. Кабинет — Search Console. Здесь карточка проверки URL: «пользователь указал» против «Google выбрал».
Решение хранить документ — индексация Google. Очередь захода — сканирование. Кандидаты из карты — sitemap.xml для Google. Запреты доступа — robots.txt для Google. Слой доступа на всём стеке — техническое SEO.
Что карточка проверки URL говорит про каноникал
| Строка в Console | Значит | Не значит |
|---|---|---|
| Пользователь указал канонический URL | Google прочитал тег или заголовок Link | Именно этот адрес лежит в индексе |
| Google выбрал канонический URL | Какой URL робот хранит как документ | Что тег «сломан», если адреса разошлись |
| Страница является канонической | Проверяемый URL совпал с выбором Google | Позицию и трафик |
| Альтернативная страница с правильным каноническим тегом | Дубль склеен туда, куда вы указали | Ошибку. Так и должно быть |
| Дубликат без выбранного пользователем канонического URL | Google сам выбрал мастер среди копий | Что «нет тега = нет склейки» |
Сводка «Страницы» считает исключённые дубли пачкой. Статус одного адреса — только проверка URL. Искать конкретный каноникал фильтром в сводке индексирования нельзя: кабинет так устроен. Цифра «исключено как дубль» нормальна, если живой мастер ваш и отвечает 200.
Почему Google выбирает другой URL
Тег — один сигнал. Google смотрит ещё внутренние ссылки, редиректы, хост свойства Search Console, карту сайта и то, какой адрес реально отдаёт 200 без цепочки. Типичный спор на WordPress в ISPmanager: тема пишет каноникал без www, свойство Console подтверждено на www, sitemap отдаёт третий хост, а 301 ещё нет. Робот не обязан угадать замысел и часто оставляет в индексе тот URL, который чаще встречает.
Каноникал не переезд: старый адрес с 200 остаётся кандидатом, пока не будет 301. Каноникал не noindex: закрытый в robots дубль Google может помнить по ссылке и не увидеть свежий тег. Каноникал не «кнопка в топ». Если денежный URL в проверке показывает чужой мастер — сначала сверьте хост, слеш и http/https, потом плагин. Cross-domain canonical без реального переезда отдает индекс соседу.
Пагинация, фасеты и UTM в кабинете выглядят как «дубликат выбранного Google канонического URL». Это не баг отчёта. Не просите переиндексацию всей пачки фильтров: очередь читает конкретный адрес, лимит качества остаётся. Живой тест из Console ходит InspectionTool — это не решение индекса, а снимок «как видит сейчас».
Если PDF из кабинета называют аудитом каноникалов — это статусы дублей, не спрос: смотрите постановку SEO-аудита. Клиент, который скачивает HTML, — Googlebot; путать лог визита с выбранным каноникалом нельзя.
Ограничение. Нет таблицы «в каком проценте случаев Google слушается тег на сайтах РФ» и не выдумываем. Как ставить атрибут, сколько тегов в исходнике и что делать с AMP — технический URL, чтобы не каннибалить оба H1. Яндекс каноникал читает своими правилами; два кабинета не складывают.
Частые вопросы
Почему Google выбрал другой каноникал, хотя тег стоит?
Тег — просьба, не приказ. Робот смотрит редиректы, внутренние ссылки, хост свойства и карту. Если сигналы смотрят в разные URL, в индексе часто оказывается тот, который Google чаще встречает.
Нужно ли запрашивать индексирование всех дублей после смены каноникала?
Нет. Запрашивайте мастер после реальной склейки сигналов. Массовый запрос фильтров и UTM сжигает очередь и не заставляет Google хранить копии.
Ошибка ли статус «альтернативная страница с правильным каноническим тегом»?
Нет. Google согласился с вашим тегом и хранит другой URL как документ. Ошибка — если в этой строке оказывается денежная карточка, а мастером выбран фильтр или зеркало.
Заменяет ли canonical 301 при смене ЧПУ в Google?
Нет. Пока старый адрес отвечает 200, он остаётся кандидатом. Переезд дерева — редирект плюс обновлённые внутренние ссылки и карта; тег только называет предпочтительный URL среди копий.