Find canonical issues: loops, chains and broken targets
The Evergreen Crawl Canonicals report checks the canonical every page declares in the HTML bots received, and what the crawl found at the other end of it. It also lists canonicalized pages that Google still shows in search, the sign that a canonical is being ignored.
Every page answering 200 lands in one bucket, such as Self-canonical, No canonical declared or Cross, broken target. Each bucket carries the Google impressions and AI fetches on its pages and the pages that moved in or out since the comparison crawl.

What the report shows
The report answers whether each page's canonical points where it should, and whether Google follows it.
Cards: how are canonicals declared?
The four cards at the top sum up how pages declare canonicals:
- Self-canonical: the share of
200pages whose canonical points at themselves. - Canonicalized away: pages whose canonical points at another URL.
- Broken canonical target: canonicalized pages whose target is broken, out of every declared cross-canonical.
- Canonical ignored: canonicalized pages that still earn Google impressions, with the footer "canonicalized away, still surfaced". It needs Search Console.
Canonical disposition: what does each page declare?
Canonical disposition puts each 200 page in one bucket, from the canonical its HTML declared and the health of the target. A cross-canonical is a canonical that points at a different URL. The buckets are:
- Self-canonical: the canonical points at the page itself.
- No canonical declared: the page declares none.
- Cross, valid target: the canonical points at another URL, and that URL is healthy.
- Cross, broken target: the canonical points at a URL that answers with an error, blocks indexing or redirects.
- Cross, target unchecked: the canonical points at a URL the crawl never fetched.
Each row shows its share of 200 pages, Pages, Change, GSC impr and AI fetches. Click a bucket to list its pages, with the canonical each page declares and the status of its target on the three Cross buckets.
Changed since last crawl: which canonicals moved?
Changed since last crawl lists the pages whose canonical bucket changed since the comparison crawl, such as Self-canonical -> Cross, broken target, ranked by the demand they carried before. Click a move to see each page's canonical before and now. A page that stopped answering 200 shows as No longer HTTP 200. When nothing moved, the card reads "No page changed its canonical verdict since" and the comparison crawl.
Issues in this category
The Issues in this category card lists the Canonicals checks that found pages, such as Canonical points at a 4xx/5xx, Canonical loop (A -> B -> A) or Canonical target is itself canonicalized elsewhere.
Canonical target health: what is at the other end?
Canonical target health looks only at the pages that canonicalize away, and sorts them by what the crawl found at the target:
- Healthy target: the target answered
2xxand is not known to block indexing. - Noindex target: the target blocks indexing, and the signal dead-ends there.
- Non-200 target: the target answers
4xxor5xx. - Redirect target: the target answers
3xx, and the canonical should point at the final URL. - Unchecked: the crawl never fetched the target.
Noindex target, Non-200 target and Redirect target together make up the Cross, broken target bucket. The two cards always agree.

Canonical ignored by Google: is Google following the canonical?
Canonical ignored by Google counts the pages that canonicalize away but still collect Google impressions in the crawl's window. The page asks Google to fold it into another URL, and Google keeps showing it. View pages lists them with their canonicals.
When none qualify, the card reads "No page that canonicalizes away collected a Search Console impression in this window". Zero is not proof that Google honored every canonical: a page nobody searches for earns no impressions either way. Without Search Console, the card says it cannot answer.
How to read it
- A canonical is a hint. Google can choose another URL, which is why Canonical ignored by Google joins the crawl with Search Console.
- A missing canonical matters most on URLs with query parameters. Duplicates multiply there, and a self-referencing canonical tells search engines which URL to keep.
- A broken or redirecting target wastes the signal. The canonical should point at the final, indexable URL.
- Targets on other hosts are flagged, not checked. A canonical that points at another host is flagged as declared but not validated, because the crawl holds only your own site's pages.
What to do next
- Fix it at the edge. Set or correct canonicals with an Edge SEO link tag rule, on one page or thousands, without a release.
- Fix the target. Point a canonical that targets a redirect at the final URL. For a noindex target, either point the canonical at an indexable URL or remove the
noindexfrom the target. - Ask about it. Ask in the header starts with "How common are unhealthy targets?", "Do cross-canonicals still surface?" and "What changed since the baseline?".
Where to find it
In the dashboard: Evergreen Crawl > Canonicals.