Scan at scalePages with a broken canonical
Pages with a broken canonical
A per-URL report: one row per page that matches, over the pages a crawl reached.
What this report returns
A canonical URL tells crawlers and AI agents which URL is the master copy of a page, so duplicate versions consolidate instead of competing.
These pages declare a canonical that won't be honoured: an empty href, a tag outside the document head, conflicting targets, or a non-http(s) URL, so consumers ignore the declaration and pick a version themselves.
How to fix it. Keep exactly one declaration per page, an absolute URL in a single head tag: <link rel="canonical" href="https://www.example.com/page">. Spec: RFC 6596. (Relative / cross-origin are shown for context but are not validity failures.)
The columns it shows
Every defect this technology can carry is a column in the grid, worst first, so nothing is hidden behind a filter you have to know to apply.
- Canonical Valid
canonicalValid - Canonical Findings
canonicalFindings - Canonical Resolved Targets
canonicalResolvedTargets - Canonical Hrefs
canonicalHrefs - Canonical Sources
canonicalSources - Canonical Outside Head
canonicalOutsideHead - Canonical Conflicting
canonicalConflicting - Canonical Empty Href
canonicalEmptyHref - Canonical Invalid URL
canonicalInvalidUrl - Canonical Relative
canonicalRelative - Canonical Cross-Origin
canonicalCrossOrigin
About Canonical URL
Tells an agent which address is the real one for this page.
Read how Canonical URL is checked, including the specification it is validated against and a worked correct and broken example.
Running it
This report ships in the Lumar agent-readiness container and appears on any project it is linked to, on every crawl. See the whole set, or check a single URL with the scanner on this site, which runs the same code with no account.