What a canonical tag does
The same content is often reachable at several URLs: with and without tracking parameters, through filters, on www and non-www. <link rel=canonical href=…> names the URL you prefer. Google treats it as a strong hint, together with redirects, sitemaps and internal links, and then selects the canonical itself.
A canonical that conflicts with other signals may be ignored. Google’s documentation names several cases: a canonical outside the <head> is not accepted, an HTTPS page that canonicalizes to HTTP sends a conflicting signal, and canonical annotations with hreflang, lang, media or type attributes are not used for canonicalization at all.
Google recommends rel=canonical, not noindex, for choosing between duplicates on one site. A canonical that points to a noindex page sends opposite signals, and Sitebulb notes that search engines may then ignore the canonical.
How this tool works, step by step
Read robots.txt and fetch the page
The checker reads robots.txt for DeepSpider, requests the page with DeepSpider’s own user agent and follows up to five redirects.
Find every canonical
It reads rel=canonical from the HTML head, using the same head detection as a full audit, and from the HTTP Link header. It also notes canonicals placed in the body, relative URLs and attributes Google ignores.
Request the target
It requests each canonical target once without following redirects, so a redirecting target is visible, then follows up to five redirects to the final page.
Read the target
It reads the target’s noindex (meta robots and X-Robots-Tag) and its own canonical. If robots.txt disallows the target, it checks whether Googlebot follows the same rule.
Apply the audit’s checks
It runs the same canonical checks as a full DeepSpider audit over these pages and shows the evidence for each finding.
How to read the report
Self-referencing
The page names itself. This is the normal case for a page you want indexed.
Points to another URL
Correct for a true duplicate. Check that the target works and names itself as canonical.
Target or tag cannot be used
A redirecting, missing, noindex or blocked target, several conflicting tags, or a tag outside the head. Google may ignore the canonical.
Could not be judged
The website did not answer, robots.txt rules for Googlebot differ from DeepSpider’s, or the check had nothing to evaluate. This is not a pass.
How to fix the common mistakes
Remove duplicate output from themes and plugins. If you also send a canonical HTTP header, make it name the same URL.
Place the tag before </head>. A missing </head> or a tag printed after <body> moves it into the body, where it is ignored.
Google supports relative paths but recommends absolute URLs. On HTTPS pages, name the https:// version.
Name the URL that answers 200 directly, not one that redirects or returns an error, and not one that canonicalizes again.
Do not point canonicals at noindex pages or URLs blocked in robots.txt. Google advises against using robots.txt for canonicalization.
A canonical to the homepage on ordinary pages asks Google to drop them. It is usually a theme or plugin default.
Frequently asked questions
Does Google always follow my canonical?
No. Google treats rel=canonical as a strong hint and weighs it with redirects, sitemaps and internal links. This tool checks that your hint is clear and consistent; Search Console’s URL Inspection shows the canonical Google selected.
Is a missing canonical an error?
Not by itself. A canonical helps when duplicates exist, and a self-referencing canonical is a common safeguard. A full DeepSpider audit reports a missing canonical as a low-priority warning.
My page is noindex and its canonical points to itself. Is that wrong?
It is not harmful on its own: the page stays out of search. The two signals are mixed, though, so the audit lists it for review. Google’s John Mueller has advised against mixing noindex and rel=canonical.
Why does the tool say the robots.txt block is not confirmed?
DeepSpider honours robots.txt for itself. When Googlebot has its own group in robots.txt, the rule that stopped DeepSpider may not apply to Google, so the tool does not claim the target is blocked for Google.
What about canonicals with media or hreflang attributes?
Google says canonical annotations with hreflang, lang, media or type attributes are not used for canonicalization. Use rel="alternate" for language and device versions. The tool notes these tags; a full DeepSpider audit does not report them yet.
What does “after the head ended early” mean?
The HTML parser closes the <head> at the first element that does not belong there, such as an <img>, <iframe> or <div>. Google’s documentation says it then stops reading the head, so a canonical after that point may be ignored. A canonical after </head> or inside the body is ignored. The Head & Encoding Integrity Checker shows which element ends the head.
Is the check free and private?
Yes. There is no signup or email gate and no public report page. Repeat checks of the same URL within ten minutes reuse the previous result.
Where to check the underlying guidance
Google Search Central: How to specify a canonical URL. Practitioner guides: Ahrefs, their guide to canonical tags; Sitebulb, canonical points to a noindex URL and canonical points to a disallowed URL; Yoast, rel=canonical: the ultimate guide.