Canonical Tag Checker
The Canonical Tag Checker finds canonical URLs declared in fetched HTML and supported HTTP Link headers, then reports missing, multiple or conflicting declarations for up to 10 URLs.
What the Canonical Tag Checker checks
Show every supported HTML link element and HTTP Link header canonical declaration with its exact value and evidence source on the fetched response, rather than selecting one value silently.
Resolve relative references against the effective fetched page URL and display declared and resolved values separately, without treating a relative declaration as automatically invalid.
Distinguish missing, single, duplicate-identical and conflicting declarations. The verdict preserves each source so an HTML and header conflict can be corrected at the right layer.
Safely fetch one resolved target when available, then report its status and observed directives separately. Target availability does not change the declaration evidence found on the source page.
When to use this tool
Run the Canonical Tag Checker when a page consolidates signals to an unexpected URL or before releasing canonical template changes.
Example
Example: inspect https://example.com/products?color=blue to verify that its canonical resolves to the intended product URL.
Issues and fixes
When the report finds multiple canonical values, compare their HTML or HTTP sources and retain one intended declaration across supported sources. Identical duplicates still add avoidable ambiguity; conflicting targets may cause search engines to ignore the signal altogether.
A relative canonical is not automatically invalid. Confirm that the displayed resolved URL is the intended preferred page, then use an absolute canonical when practical to reduce dependence on the effective URL or an unexpected base element.
When the optional target check observes a redirect, trace that target with the Redirect Checker. If the redirect is intentional, point the source declaration directly at the final preferred URL so the canonical and redirect signals agree.
What the result includes
The report lists every supported declaration, source, resolved URL and classification, then safely checks one declared target when available.
Limitation: The Canonical Tag Checker reads raw HTML and supported HTTP Link headers for up to 10 public URLs and may inspect one resolved target. It does not render JavaScript, crawl sitewide duplicate content, compare page similarity or access first-party Search Console selection data. Network, redirect, authentication and parser failures remain inconclusive fetch evidence. A declared canonical is a signal rather than a command, so this report cannot prove which URL Google or another search engine selected.
Frequently asked questions
Does Google always select the declared canonical?
No. A canonical declaration is a consolidation signal, not a command or indexing guarantee. Search engines compare the declaration with redirects, internal links, sitemap entries, content similarity and other signals. This checker reports what the fetched response declares; it cannot confirm the canonical a search engine selected.
Is a relative canonical URL invalid?
No. A relative canonical reference can resolve to a valid absolute URL when the page base is unambiguous. The Canonical Tag Checker shows the declared value and resolved target separately, so malformed references, unexpected bases and cross-origin targets remain visible for correction.
Monitor URLs over time
Turn a one-off diagnostic into ongoing index monitoring and change alerts.