Canonical Checker - Verify rel=canonical
Compare the URL you asked for, the URL you actually landed on and the canonical the page declares, then get a plain verdict: self-referencing, pointing elsewhere, missing, or broken by a trailing slash or protocol mismatch.
Paste the messy version of the URL, tracking parameters and all. That is the case a canonical exists to solve.
This check is made from a ToolForte server.
Unlike the browser-only tools on the rest of the site, this one has to fetch the page server side, because a browser is not permitted to read another site HTML for you. The request identifies itself as ToolForteBot/1.0 and site owners are free to block that user agent, in which case the check fails even though the page loads fine for you. Only the delivered HTML is parsed. A canonical injected later by JavaScript will not show up here, which is also true of many real crawlers on their first pass.
Making sense of a rel=canonical link
This tool answers one question properly instead of many questions loosely: does this page tell search engines to index itself, and if not, what does it point at. It shows the address you asked for, the address you were redirected to, and the canonical the delivered HTML declares, then compares them and names the outcome. Self-referencing, pointing at another page, pointing at another domain, missing entirely, or differing only by a trailing slash or a protocol, which are the two mistakes that hide best.
It is the check you want after a migration, a template change or a CMS upgrade. Site owners run it when a page stopped ranking without any content change. Developers run it when a staging value survived a deploy. SEO specialists run it across a sample of templates, because canonical bugs are almost never one page: they are one template repeated a few thousand times. Anyone who has seen the Search Console message about Google choosing a different canonical is in the right place.
The canonical link was introduced in 2009 to solve duplication that site owners cannot avoid. The same product appears under two categories, a listing exists in a sorted and an unsorted form, a newsletter link adds utm parameters, and a print stylesheet gets its own path. Without a canonical each of those is a separate URL competing for the same ranking. With one they consolidate. Note that a canonical is a strong hint, not a command: search engines can and do override it when the rest of the evidence disagrees.
A handful of rules cover almost every real case. Every indexable page carries a self-referencing canonical. The canonical is absolute, not relative. It uses the same protocol and host that the server actually serves, which is where the http and www variants trip people up. It never points at a URL that redirects. It is not combined with noindex on the same page, because the two directives contradict each other. In an hreflang set every page self-canonicalises and the canonical appears in the set.
When the canonical turns out to be the symptom rather than the cause, follow it up: check the whole tag set with the Meta Tag Checker, inspect the response itself with the HTTP Headers Checker, and build a correct multilingual set with the Hreflang Tag Generator. If you are consolidating variants after this audit, the Robots.txt Tester helps confirm the versions you no longer want are still crawlable enough for the canonical to be seen.
How the Canonical Checker Works
- 01Paste the page address, tracking parameters and all. The messy version is the one a canonical exists to solve.
- 02A ToolForte server requests it as ToolForteBot and records every redirect hop until a page actually answers.
- 03The delivered HTML is parsed for the rel=canonical link and any rel=alternate hreflang links, and relative values are resolved to absolute addresses.
- 04The requested address, the final address and the declared canonical are compared, and you get a named verdict plus any conflict between the canonical and the hreflang set.
Reading the verdict and knowing what to change
Self-referencing is the answer you want on any page that should rank under its own address, and it is what makes tracking parameters harmless. When the verdict says the canonical points elsewhere, the question is whether you meant it. Pointing a filtered listing at the unfiltered one, or a print view at the article, is correct and deliberate. Pointing a product page at its category, or every page at the homepage, is a template mistake that quietly removes those pages from the index. A cross domain canonical is legitimate only for syndicated content where another site is the original publisher, and it is otherwise one of the most damaging bugs on this list. The two near misses deserve more attention than they usually get. A canonical that differs only by protocol is normally an http value left in a template after a move to HTTPS. A canonical that differs only by a trailing slash means the template and the server disagree about the slash form, so the canonical is not self-referencing even though it looks right at a glance. Both send crawlers to an address that redirects back, which wastes crawl budget on large sites and leaves the wrong variant indexed on small ones. Fix them in the template, not page by page.
When to Use the Canonical Checker
Use it after any migration, replatform or template change, because canonicals are template output and they break in bulk. Use it when Search Console reports that Google chose a different canonical than the one you declared, since seeing the three addresses side by side usually explains why in seconds. Use it when a page has lost visibility with no content change, and when you have just added tracking parameters to a campaign and want to be sure they consolidate. Use it on multilingual sites whenever hreflang stops working, because a canonical that disagrees with the language set is the most common reason an entire hreflang cluster gets ignored.
Common Use Cases
- Explaining a Search Console message about Google choosing a different canonical than the one your page declares.
- Checking that campaign URLs with utm parameters consolidate back to the clean address instead of competing with it.
- Catching an http canonical left behind in a template after the site moved to HTTPS.
- Verifying that a multilingual page self-canonicalises and appears in its own hreflang set. → Hreflang Tag Generator
- Confirming after a replatform that product pages canonicalise to themselves rather than to their category.
Expert Tips
- Test the ugliest version of a URL you can construct, with tracking parameters, a trailing slash and mixed case. A canonical that survives that is doing its job.
- Never point a canonical at a URL that redirects. The redirect and the canonical then disagree about the destination, and search engines have to guess which one you meant.
- Make internal links point at the canonical version. A canonical that every link on the site contradicts is a signal fighting the rest of your architecture.
- Paginated listings should canonicalise to themselves, not to page one. Canonicalising page four to page one tells search engines the items on page four do not exist.
Frequently Asked Questions
Is a canonical a command or a suggestion?→
Should I combine a canonical with noindex on the same page?→
Why does my canonical show as missing when I can see it in the page source?→
Does the canonical need to be an absolute URL?→
Related tools
12 suggested- 01Meta Tag Checker - Free Live Page AuditCheck the title, description, canonical, robots and Open Graph tags on any live page. Free, with a Google snippet and social card preview.
- 02Robots.txt Tester - Check if a URL is BlockedTest whether a URL is allowed or blocked by robots.txt for Googlebot, Bingbot, GPTBot, or any crawler. Free browser-based tester with templates.
- 03SERP Snippet Preview - Google Result SimulatorPreview your Google search snippet on desktop and mobile with real pixel-width meters and counters. Free browser-based SERP simulator for SEO work.
- 04Hreflang Tag Generator - International SEOGenerate valid hreflang link tags and the XML sitemap variant for multilingual sites, with validation. Free browser-based international SEO tool.
- 05Headline Analyzer - Score Your Titles 0-100Score headlines 0-100 on length, power words, emotion, and format, with a SERP pixel-width preview. Free browser-based analyzer with concrete tips.
- 06Hashtag Generator - Instagram, TikTok & XTurn any caption into relevant hashtags for Instagram, TikTok, and X using curated niche sets. Free browser-based generator with platform limits.
- 07UTM Link Builder - Campaign URL GeneratorBuild trackable campaign URLs with utm_source, medium, and campaign parameters, presets, and history. Free browser-based builder for marketers.
- 08Meta Tag Generator - SEO Tags in SecondsGenerate optimized SEO meta tags for your website. Title, description, Open Graph, robots, and canonical tags. Free with live preview.
- 09Open Graph Preview - Social Share TesterPreview how your page will look when shared on Facebook, Twitter, and LinkedIn. Test Open Graph tags before publishing. Free tool.
- 10robots.txt Generator - SEO Crawl ControlGenerate a robots.txt file to control search engine crawling. Set rules for specific bots and paths. Free online generator.
- 11Schema Markup Generator - JSON-LD FreeGenerate JSON-LD structured data for better search engine results. Organization, Article, FAQ, Product and more schema types.
- 12XML Sitemap Generator - Free SEO ToolGenerate valid XML sitemaps from a list of URLs. Set custom frequency, priority, and last modified dates. Free online sitemap builder.
From the blog
Further reading- Technical SEO Tools: Meta Tags, Schema & Robots.txtA practical guide to technical SEO: meta tags, Open Graph, Schema.org structured data, robots.txt configuration, and a per-page checklist you can use today.10 min read
- How to Audit Your Website's SEO Health Step by StepA practical guide to auditing your website's SEO. Check meta tags, heading structure, image alt text, robots.txt, sitemap, and page speed to improve search rankings.5 min read
- Cookie Consent Banners: What Your Site Legally NeedsLearn cookie consent requirements for GDPR, ePrivacy, and global regulations. Generate compliant consent banners and privacy policies with free tools.9 min read