SEO Tools

Canonical Checker

Audit rel=canonical from HTML and HTTP headers — self-reference, duplicates, chains and noindex conflicts.

Check a URL

Fetches the page, follows redirects, reads canonicals from both the HTML and HTTP Link headers, then verifies the canonical target itself.

About the Canonical Checker

The Canonical Checker fetches any URL, follows its redirects, and extracts every rel=canonical declaration from both the HTML head and the HTTP Link response header. It then verifies the setup like a search engine would: is the canonical self-referencing, absolute and unique? Do header and HTML agree? Does noindex contradict it? And if the canonical points elsewhere — does that target answer 200 and confirm itself, or does it start a canonical chain?

Canonical problems are silent: the page renders fine while rankings quietly consolidate on the wrong URL. Pair this check with the Redirect Checker to keep redirect and canonical signals aligned, and audit the rest of the head with the Meta Tag Analyzer.

A canonical tag on a page that points to that page's own URL. It is the recommended default: it consolidates tracking-parameter and session variants onto the clean URL and protects against scrapers copying your markup. Every indexable page should carry one.

If they point to different URLs, Google ignores both and picks its own canonical — you lose control entirely. This checker counts every canonical in the HTML and in HTTP Link headers and flags duplicates and conflicts.

A 301 when the duplicate URL should not be reachable at all (old domain, http→https, changed slugs). A canonical when both URLs must stay accessible but only one should rank — e.g. filtered category pages, print views or UTM-tagged links.

No — it is a strong hint, not a directive. Google can override it when signals disagree, e.g. when internal links, sitemaps or redirects point to a different URL, or when the canonical target returns an error. Keeping all signals consistent is what makes it stick.

Yes: a Link: ; rel="canonical" response header works exactly like the HTML tag and is the only option for non-HTML files such as PDFs. If both header and HTML canonicals exist, they must match — this tool checks both sources.