Home / Tools / Canonical Tag Checker

Canonical Tag Checker

Paste a page's HTML source and its own URL to verify the canonical tag is present, absolute, and points where it should.

ctc.log
waiting for input
Paste page HTML, then click "Check canonical tag".

What a canonical tag is supposed to do

A canonical tag is a single link element in a page's head section that tells search engines which URL should be treated as the authoritative version when the same or very similar content is reachable at more than one address. This happens more often than it might seem: a product page reachable both with and without a trailing slash, a URL with and without tracking parameters, a print-friendly version of an article, or paginated content that duplicates a portion of an earlier page. Without a canonical tag, a search engine has to guess which version to prioritize, and can end up splitting ranking signals like links and engagement across several near-duplicate URLs instead of consolidating them onto one.

The most common and safest pattern is a self-referencing canonical, where a page's canonical tag simply points back to its own URL. This might look redundant at first, but it's a deliberate best practice: it removes any ambiguity for a search engine even on a page that doesn't currently have any known duplicates, and it protects the page automatically if a duplicate does show up later, such as through a URL parameter added by a tracking tool or a syndication partner republishing the content.

What this checker looks for

This tool parses your pasted HTML with the browser's own DOM parser and looks specifically for a link element with rel="canonical". It flags three distinct problems: no canonical tag found at all, more than one canonical tag present (a real bug, since browsers only ever use the first one and any additional tags are silently ignored), and — if you provide the page's own URL — whether the canonical tag's target matches the page it's on, normalized to ignore a trailing slash difference.

A canonical tag pointing at a different URL than the page it's found on isn't automatically wrong — that's exactly the intended behavior on a genuine duplicate page that should defer to a primary version elsewhere. The check exists to surface this so you can consciously confirm it's intentional rather than the result of a copy-paste mistake in a template, which is a surprisingly common way for an entire section of a site to end up with every page's canonical tag mistakenly pointing at the same one URL.

Absolute versus relative canonical URLs

The canonical tag's href value should always be a full, absolute URL including the scheme and domain, rather than a relative path. While some crawlers can resolve a relative canonical against the page's own address, relying on that behavior is riskier than being explicit, particularly on sites that serve the same content from more than one subdomain or through a content delivery network, where a relative path could resolve ambiguously. This checker flags a relative canonical URL specifically so it's easy to catch and fix before it becomes a larger problem.

A quick habit worth building into publishing

Checking a canonical tag takes only a moment, but the mistakes it catches are the kind that are easy to make silently and expensive to leave unnoticed for months, since a wrongly pointed canonical tag can quietly suppress a page from search results without any visible error on the page itself. Making a habit of pasting a new template's rendered HTML through this checker once, before rolling that template out across many pages, is a cheap way to catch a mistake in the template logic before it multiplies across an entire section of a site rather than affecting just one page.

Frequently asked questions

Should every page have a self-referencing canonical tag?

Yes, this is widely considered good practice even for pages with no currently known duplicates, since it removes ambiguity for search engines and protects the page if a duplicate URL appears later through parameters or syndication.

Is it ever correct for a canonical tag to point at a different page?

Yes — that's the intended use on a genuine duplicate, such as a print-friendly or parameterized version of a page that should defer to a primary version elsewhere. The key is making sure that's a deliberate choice rather than a template mistake.

What happens if a page has two canonical tags?

Browsers and most search engines only use the first one found and ignore any additional canonical tags, meaning any thought put into the second tag is wasted. It's worth removing the extra tag entirely to avoid ambiguity.

Is my page content sent anywhere when I run this check?

No. The HTML is parsed locally in your browser using the built-in DOMParser API, and nothing is transmitted to a server.