🔍 Аудит #r023b #canonical #404 #dead canonical #indexability

R023b — canonical на битый URL (404/500)

Новое правило: canonical-URL отдаёт 4xx/5xx. Открывает критическую находку на странице. Появилось 2026-05-02.

Что проверяет

Если в <head> страницы прописан <link rel="canonical" href="...">, и этот canonical-URL отдаёт HTTP 4xx/5xx — поисковик считает что страница «отдаёт авторитет» несуществующей версии. Результат: и оригинальная страница, и canonical целиком пропадают из индекса.

Когда срабатывает

  • Canonical отличается от final_url страницы (self-canonical пропускаем).
  • Canonical имеет полный URL (хост указан).
  • HEAD-запрос на canonical вернул HTTP ≥ 400.

Не срабатывает (защита от false positive):

  • Self-canonical (canonical == самой странице).
  • Сетевая ошибка при HEAD (timeout, connection refused) — canonical может быть просто временно недоступен.
  • Относительный canonical (это R022).

Severity

High, priority=2. Это серьёзнее чем «нет canonical» (R005, Medium) — здесь не только теряется сигнал каноничности, но ещё и страница активно «голосует» за битую версию.

Когда запускается

В site-level pass — после прогона всех страниц сайта. HEAD-запросы делаются только на уникальные canonical-URL (in-memory dedup), так что если 100 страниц ссылаются на один canonical — это 1 запрос, не 100.

Как починить

  1. Если canonical неправильный — поправить шаблон: либо self-canonical, либо canonical на реальный URL.
  2. Если canonical правильный, но страница удалена — вернуть страницу по canonical-URL, либо изменить canonical на действительную страницу.
  3. Если canonical избыточный (страница уникальная) — убрать тег вообще.

Производительность

На сайте с 1000 страниц и 50 уникальными canonical — ~30-60 секунд (HEAD-запросы последовательные). На текущих сайтах sa <100 уникальных canonical — несколько секунд.

🔎 ESC