Canonical и чистота адресов

Завершаем техническую главу тем, что обычно считают формальностью — а в GEO у этого есть прямое денежное последствие.

🎯 Тема урока

Canonical: одна страница — один адрес

1. Что делает атрибут

<link rel="canonical" href="..."> указывает роботам эталонную версию адреса страницы.

<link rel="canonical" href="https://example.com/catalog/roboty-pylesosy/" />

2. Откуда берутся дубли

На типичном сайте один и тот же контент доступен по десятку адресов:

  • фильтры и сортировки: ?sort=price&order=asc;
  • UTM-метки из рассылок и рекламы: ?utm_source=telegram;
  • пагинация и параметры отображения: ?page=1&view=grid;
  • идентификаторы сессий и партнёрские метки;
  • слэш/без слэша, www/без www, http/https.

3. Два последствия для GEO

Последствие 1. ИИ процитирует мусорный URL. Без canonical нейросеть может дать ссылку на адрес с параметрами. Пользователь перейдёт из чата и попадёт на страницу со сбитыми фильтрами, пустой выдачей товаров или странной сортировкой. Первое впечатление испорчено.

Последствие 2. Цитируемость размывается. Авторитет и упоминания распределяются между десятком дублирующих адресов вместо накопления на одном чистом URL.

4. Как настроить правильно

Шаблонно и для всех страниц. Canonical должен проставляться автоматически на каждой странице сайта и указывать на эталонный адрес без лишних параметров.

Абсолютный URL, а не относительный.

<!-- правильно -->
<link rel="canonical" href="https://example.com/catalog/roboty-pylesosy/" />

<!-- неправильно -->
<link rel="canonical" href="/catalog/roboty-pylesosy/" />

Самоканоникал. Обычная страница без параметров указывает canonical сама на себя — это норма и защита от случайных дублей.

Согласованность сигналов. Canonical, sitemap.xml, внутренние ссылки и редиректы должны указывать на один и тот же вид URL. Если в sitemap адрес со слэшем, а внутренние ссылки без — вы отправляете роботу противоречивые сигналы.

5. Типичные ошибки

ОшибкаПоследствие
Canonical со всех страниц пагинации на первуюТовары и статьи со 2-й страницы выпадают из индекса
Canonical на страницу с редиректомРобот теряет цепочку и игнорирует указание
Canonical на закрытую в robots.txt страницуПротиворечие: адрес указан эталонным, но обход запрещён
Разные canonical у мобильной и десктопной версииРасщепление сигналов
Canonical подставляется скриптомБот, не исполняющий JS, его не увидит — см. урок 3.4

6. Проверка

curl -s "https://example.com/catalog/?utm_source=tg&sort=price" \
  | grep -i "rel=\"canonical\""

В ответе должен быть чистый эталонный адрес без параметров.

Массово проверить сайт удобно краулером (Screaming Frog, Netpeak Spider): отчёт по canonical покажет страницы без атрибута, с относительными адресами и с указанием на редиректы.

7. Чек-лист главы 3

  • ИИ-боты разрешены в robots.txt и не блокируются CDN.
  • Редиректы ведут на цель за один шаг.
  • Создан llms.txt.
  • Разметка JSON-LD стоит и валидна, FAQPage совпадает с видимым текстом.
  • Страницы отдаются примерно за секунду, LCP и CLS в норме.
  • Контент доступен с отключённым JavaScript.
  • Таблицы свёрстаны <table> с <caption>.
  • Canonical проставлен шаблонно, абсолютными URL, без параметров.

🧭 Что дальше?

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