Canonical Tag Checker
A canonical tag either consolidates your duplicate URLs or does nothing at all. This tells you which.
View the page source in your browser (Ctrl+U or ⌘+U) and paste the whole thing. Nothing is uploaded.
Needed to tell a self-referencing canonical from one pointing elsewhere.
Findings
Suggested tag
What the canonical Tag Checker does
A canonical tag tells search engines which URL is the definitive version of a page. It exists
because the same content is routinely reachable at several addresses — with and without
www, with and without a trailing slash, over HTTP and HTTPS, with tracking parameters
appended, through a print view, or as the same product listed under two categories. Left alone,
search engines split the page's authority across those variants and pick a canonical themselves,
sometimes the wrong one.
The tag is easy to add and surprisingly easy to break. This checker looks for the specific ways it
fails. Two canonical tags on one page cause Google to discard both, and duplicates are common when a
CMS theme and an SEO plugin each insert one. A canonical containing UTM parameters points at a
tracked variant rather than the clean URL, defeating the purpose. A canonical still pointing at
http:// quietly undoes an HTTPS migration. A canonical placed in the body instead of the
head is ignored entirely. And combining a canonical with a noindex robots tag sends
contradictory instructions that Google resolves in ways nobody can predict.
The important habit is self-referencing canonicals: every page should declare itself canonical unless it genuinely is a duplicate of another. It costs nothing, it stops parameter-laden variants being indexed, and it makes the intent explicit rather than leaving it to inference.
How to use it
- Paste the page's HTML source into the box.
- Enter the URL the page was actually served from — the checker needs it to tell self-referencing from cross-referencing.
- Read the findings; red items break the tag, amber items are judgement calls.
- Use the suggested tag if the page should simply point at itself.
A worked example
A page reachable at four addresses:
https://example.com/shoes
https://www.example.com/shoes
https://example.com/shoes/
https://example.com/shoes?utm_source=newsletter
All four serve identical content. With a self-referencing canonical of
https://example.com/shoes on every one of them, the four are consolidated into a single
indexed page and any links pointing at any variant count towards it.
Now the common failure. The newsletter variant is generated by a plugin that copies the full
request URL into the canonical, producing
<link rel="canonical" href="https://example.com/shoes?utm_source=newsletter">.
That page now declares the tracked URL as the definitive one, and the tracked URL is what gets
indexed — complete with the campaign parameter visible in search results. This checker flags
it as an error.
Frequently asked questions
Should every page have a canonical tag?
Yes, as a default. A self-referencing canonical on every page costs nothing and prevents parameter and case variants being treated as separate pages. Only point a canonical elsewhere when the page really is a duplicate of another.
What is the difference between a canonical and a 301 redirect?
A redirect sends users and crawlers to a different URL — the original stops being reachable. A canonical leaves both URLs working and tells search engines which to index. Use a redirect when the duplicate should not exist; a canonical when it needs to exist but should not be indexed separately.
Can I canonicalise to a different domain?
Yes, and it is the correct approach for syndicated content: the republishing site's canonical points at your original. Google treats cross-domain canonicals as a strong hint rather than an instruction, so it is not guaranteed to be honoured.
Is a canonical tag an instruction or a hint?
A hint. Google weighs it alongside internal links, sitemaps, redirects and which version it sees more often. Contradicting your own canonical — by linking internally to a different variant, say — makes it more likely to be overruled.