What a canonical does
A canonical tells Google which URL you want indexed when several URLs show the same content: tracking parameters, sort orders, print versions, http and https, www and bare domain. It goes in the HTML <head> as a <link> tag with rel=canonical, or for PDFs and other files in a Link response header. Google treats it as a strong hint, not a rule.
Canonical mistakes that cost rankings
- Every page canonicalised to the home page, usually from a template or plugin setting.
- Canonicals to a staging host, the
http://version or a URL that redirects. - A canonical to a page that returns 404 or has
noindex. Google then ignores the hint and picks a canonical itself. - Two different canonicals on one page, for example one from the theme and one from an SEO plugin. Google ignores both.
If Search Console already says Duplicate, Google chose different canonical than user, read the guide to that status. To check noindex, robots.txt and the redirect chain of the same URL, use the noindex checker.
We fetch the URL, and the canonical URL if it is a different one, as NoindexWatchBot. JavaScript is not run, so a canonical added by a script is not seen; Google sees it only after rendering. Results are not stored.