Canonical URL Tag Checker

How to use 3 steps
  1. Enter the Webpage URL to Inspect, or paste its head code instead.
  2. Press Check Canonical Tag.
  3. Read the result and fix any missing, duplicate or mismatched canonical.
Canonical Tag Audit Report

How this tool works

A canonical tag names the master copy when the same content is reachable at more than one address. It is a hint rather than an instruction: search engines weigh it against their own signals — internal links, redirects, the sitemap — and sometimes choose a different URL than the one you declared.

Paste the head of the page and it reports every canonical link it finds: whether there is one, where it points, and whether that address is the page itself. Enter the page's own URL alongside and the comparison becomes exact — self-referential, pointing at another page, or pointing at another domain. It cannot fetch a page for you, because a browser will not let a script on this site read another site's HTML.

What the result is telling you

  • Two canonical tags are worse than none: when a page declares more than one, search engines may disregard both and pick a URL themselves. This is a common consequence of a theme and an SEO plugin each adding their own.
  • A self-referential canonical is correct: every page should name itself unless it is genuinely a duplicate of another. It costs nothing and settles the question of parameter and tracking variants.
  • Check the rendered markup: SEO plugins emit the tag server-side, but page builders and JavaScript frameworks sometimes add a second one after load that View Source will not show.
  • A canonical elsewhere removes this page: pointing at another URL asks for this one to be dropped from results in favour of it. That is right for a duplicate and damaging if it was a mistake.

What a canonical tag is for

The same content is frequently reachable at more than one address. A product appears under two categories, a page answers to both http and https, a tracking parameter creates a fresh URL every time someone shares a link, and a printable version duplicates the article entirely.

A canonical tag names which of those is the master copy. It tells a search engine to consolidate the signals — links, relevance, ranking history — onto one address rather than splitting them across several near-identical ones.

It is a hint rather than an instruction. Engines weigh it against their own signals, including internal links, redirects and your sitemap, and they sometimes choose a different URL than the one you declared. The [msm_tool slug="canonical-checker"] reports what your page is actually saying, which is the part you control.

Duplicate content is not a penalty

Worth clearing up, because the phrase duplicate content penalty causes a lot of unnecessary anxiety. Ordinary duplication — the same page at several addresses on your own site — is not punished. It is deduplicated.

The cost is dilution rather than punishment. If five URLs serve one article, links and relevance are spread across five and none of them ranks as well as one would. A canonical tag is how you collect them.

Penalties exist for deliberately scraped or spun content published at scale, which is a different behaviour entirely and not what a canonical tag addresses.

The four ways it goes wrong

  1. Pointing every page at the homepage. The most damaging error, usually from a template that hard-coded the value. It tells the engine every page on the site is a copy of the homepage, and they drop out of results accordingly.
  2. Pointing at a page that redirects, 404s or is blocked. The declared master has to be reachable and indexable. Naming a dead address wastes the tag and confuses the signal.
  3. Multiple canonical tags on one page. Common when a theme and a plugin both add one. Conflicting declarations mean the engine ignores both and picks for itself.
  4. Canonicalising genuinely different pages together. Paginated results, product variants and location pages are often distinct pages serving distinct queries. Collapsing them removes the ones that were ranking.

Self-referential is the sensible default

Most pages should declare themselves as canonical. It costs nothing, it settles the question of which parameter-laden variant is the real one, and it prevents another site's scraped copy from being treated as the original.

The declaration should use the absolute URL, in the form you actually want indexed — the right protocol, the right host, consistent about trailing slashes. Half the canonical problems in the wild are a page correctly canonicalising itself to a subtly different string.

Paste the head of a page and the checker reports every canonical link it finds: whether one exists, where it points, and whether that address is the page itself. Give it the page's own URL alongside and the comparison becomes exact — self-referential, pointing elsewhere, or pointing at another domain.

Canonical, redirect or noindex

  • Canonical when both URLs should stay reachable for users but only one should be indexed. Tracking parameters, category paths, print views.
  • 301 redirect when one address should no longer exist. Stronger than a canonical because it is an instruction rather than a hint, and the right choice after a move.
  • Noindex when a page must remain available but should never appear in results at all. Thank-you pages, internal search results, filtered views.

Do not combine noindex with a canonical pointing elsewhere. The two say contradictory things — ignore this page, and also credit that one for it — and the outcome is unpredictable.

Cross-domain, and why fetching is impossible here

A canonical may legitimately point at another domain. Syndicated articles use this: a partner republishing your piece points the canonical back at your original so the credit stays with you. If you syndicate your writing anywhere, checking that the tag is present is worth doing, because without it the larger site frequently outranks you for your own article.

The checker cannot fetch a page for you. A browser will not permit a script on this site to read another site's HTML, and no free tool can work around that without a server in the middle. So paste the head yourself — view source, copy from the opening tag to the closing head — which also means nothing you check ever leaves your browser.

Frequently Asked Questions

Specific to the Canonical URL Tag Checker. Broader questions about this category are answered on the category page.

No. The same-origin policy prevents a script on this site from reading another site's HTML. Paste the head of the page instead, and add its URL so the comparison can be made.
A self-referential one is the safe default. It resolves duplicates you may not know about — tracking parameters, session identifiers, a trailing slash variant — without you having to find each of them first.
That is correct when the page really is a duplicate, and a serious problem when it is not, because it asks for this page to be dropped in favour of the other. Check that every canonical pointing elsewhere was intended.
They are permitted and they are risky. A relative reference is resolved against the page's base, so a misconfigured base tag or an unexpected path silently produces the wrong canonical. Absolute URLs remove the ambiguity.
The tag is one signal among several. When internal links, redirects, the sitemap and hreflang point somewhere else, that weight can outweigh the declaration. The fix is to make the other signals agree rather than to repeat the tag.

Subscribe to receive notifications about new tools, features, and productivity tips.