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.