Skip to content
SEO Madmanby Adam Hafez
Free tool

Canonical tag checker for rel=canonical URLs

Canonical tag checker: test a page URL and its rel=canonical for absolute URL, HTTPS, self or cross reference, domain and tracking. Free, in your browser.

Runs entirely in your browser. Nothing you enter is uploaded, logged or stored.

Nothing you type is sent anywhere: both URLs are parsed with the browser's own URL constructor. This tool only evaluates the two URLs you give it; it cannot see your page's actual HTML, so it cannot detect a second, conflicting rel="canonical" tag if one exists.

Key takeaways

  • Google says to use absolute paths rather than relative paths with the rel=canonical link element.
  • Google names redirects and rel=canonical as strong canonicalization signals and sitemap inclusion as a weak one.
  • A self-referencing canonical and a cross-referencing canonical are both valid, but they tell Google different things.
  • A canonical URL that still carries tracking or session parameters defeats the purpose of consolidating duplicates.
  • The tool compares hostnames exactly, so www.example.com and example.com count as different domains.

What it takes

  • The page's own URL
  • The canonical URL that page declares

More tools

All of them free, all of them browser-only.

Browse the tools

How to use it

  1. 1Paste the page URL and its declared canonicalBoth need a full scheme, such as https://. Either field failing to parse is shown as an error rather than a guess.
  2. 2Check whether the canonical is absoluteGoogle's documentation says to use absolute paths rather than relative paths with rel=canonical. A relative path is flagged and the other checks are skipped.
  3. 3Check the HTTPS matchGoogle's documentation states it prefers HTTPS pages over equivalent HTTP pages as canonical, so a canonical pointing from HTTPS back to HTTP works against that default.
  4. 4Read the self versus cross-referencing labelA canonical that matches the page itself and one that points elsewhere are both valid uses of rel=canonical; the tool labels which case applies rather than treating either as wrong.
  5. 5Check same-domain versus cross-domainA cross-domain canonical is a documented, valid technique, but it hands this page's signals to a different host, so confirm it is intended.
  6. 6Check for tracking parameters on the canonical targetGoogle's own documentation uses a tracked URL as its example of what to consolidate away from; a canonical that still carries that tracking parameter defeats the point.

Google’s canonicalization documentation is short and specific: use absolute URLs in rel="canonical", add a self-referencing canonical on the canonical page, prefer HTTPS, and do not point the same page at different canonicals through different methods. It also says a declared canonical is a hint, not a rule. This checker takes a page URL and the canonical it declares and tests the pair against those points, using the browser’s own URL parser.

What the checker checks

Six results, each with a Pass, Warning or Info badge:

  • Canonical is an absolute URL. Google says to use absolute paths rather than relative paths. A value starting with / is reported as a relative path; anything else that fails to parse is reported as not a URL. Either way, the remaining checks are skipped.
  • HTTPS match. Passes when the canonical uses HTTPS or both URLs share a protocol. Warns when an HTTPS page points to an HTTP canonical, because Google prefers HTTPS pages as canonical.
  • Self or cross-referencing. Info only. It reports whether the canonical is exactly the page URL, including its query string, or a different URL.
  • Same-site or cross-domain. Passes when the hostnames match exactly, warns when they differ.
  • Tracking parameters on the canonical. Warns if the canonical’s query string contains any of utm_source, utm_medium, utm_campaign, utm_term, utm_content, gclid, fbclid, msclkid, sessionid, sid, phpsessid, ref or affiliate.
  • One canonical method per page. Always Info. It cannot be checked from two URLs, so it restates Google’s warning not to specify different canonicals through different methods.

How to read the results

Pass means the pair matches the documented recommendation. Warning means something is worth a second look, not that the tag is broken: a cross-domain canonical is a valid technique, but it hands the page’s signals to another host. Info labels a fact without judging it. A self-referencing canonical on a page that is really a duplicate is still labelled Info, because only you know which version should be indexed.

If the page URL itself does not parse, the tool shows an error asking for a full URL with its scheme instead of guessing.

Worked example

The tool loads with the page https://example.com/dresses/cocktail?gclid=ABCD and the declared canonical https://www.example.com/dresses/green/green-dress.html, built on the tracked URL Google uses as its example. The results:

CheckValueBadge
Canonical is an absolute URLYesPass
HTTPS matchBoth use httpsPass
Cross-referencing canonicalThe canonical points to a different URLInfo
Cross-domain canonicalexample.com to www.example.comWarning
Tracking in canonical targetNone foundPass
One canonical method per pageNot detectable from two URLsInfo

The tracked page correctly points away from its gclid URL to a clean canonical. The one warning comes from the host: the page is on example.com and the canonical on www.example.com. If www is your preferred host, the warning is expected. If it is not, the canonical is pointing at the wrong version of your site.

Common mistakes it catches

  • Relative canonicals. A template that outputs /dresses/cocktail instead of the full URL.
  • HTTPS pages canonicalizing to HTTP. Usually a hard-coded scheme left over from before a migration.
  • Tracking parameters copied into the canonical. A template that builds the canonical from the requested URL, gclid and all, which undoes the consolidation the tag exists for.
  • Host mismatches. A canonical on the www host from a page served on the apex, or the reverse, after a host change that was only half applied.

Run it on a template before it ships, since one wrong canonical in a template repeats on every page it renders.

Sources

  1. 1.How to specify a canonical URL with rel="canonical" and other methods - Google Search CentralPrimary
  2. 2.What is URL canonicalization - Google Search Central

Frequently asked questions

Should a page have a self-referencing canonical tag?

Google recommends it on the canonical page. Its documentation says to add the same self-referential rel="canonical" link element to the canonical page itself, as well as pointing the duplicates at it.

Can I use a relative URL in rel=canonical?

Google's documentation says to use absolute paths rather than relative paths with the rel=canonical link element. This tool flags a relative canonical and skips the remaining checks until you enter a full URL.

Will Google always follow my canonical tag?

No. Google states that indicating a canonical preference is a hint, not a rule. It weighs rel=canonical alongside redirects, sitemap inclusion and whether the page uses HTTP or HTTPS, and may choose a different URL.

Why is www to non-www flagged as cross-domain?

The check compares hostnames exactly, and www.example.com is a different hostname from example.com. If that is your intended canonical host, read the warning as a prompt to confirm it, not as an error.

Can this tool see my page's HTML?

No. It evaluates only the two URLs you type, parsed in your browser. It cannot detect a second rel=canonical tag, or a sitemap listing a different URL, which Google's documentation warns against.

Tools

humans.txt generator

humans.txt generator: build a humans.txt file with TEAM, THANKS and SITE sections from the humanstxt.org template. Free, runs in your browser.