What is a canonical tag?
A canonical tag is a line of HTML in a page's head, <link rel="canonical" href="https://example.com/page">, that names the preferred URL for that content. When the same page is reachable at several addresses (with tracking parameters, with and without www, sorted or filtered), the canonical tells search engines which one to index and credit.
Google treats it as a strong hint, not a rule. It weighs the tag together with redirects, internal links, sitemaps and HTTPS, and can choose a different canonical if your signals disagree.
Should every page have a self-referencing canonical?
It's good practice. A canonical pointing to the page's own clean URL protects it against duplicates you didn't create, such as links with UTM parameters or session IDs, and most SEO plugins add one by default.
Point a canonical somewhere else only when the page really is a duplicate or a variant of another page, like a print version or a product shown under several category paths.
Common canonical tag mistakes
These are the problems the checker flags.
- More than one canonical with different URLs, so Google may ignore them all
- A canonical inside the <body>, which Google doesn't read
- A canonical pointing at a page that redirects, returns 404 or is noindex
- Canonical chains, where page A points to B and B points to C
- noindex and a canonical to another URL on the same page
- http or non-www canonicals on an https, www site
- Every page on a site canonicalised to the homepage
Canonical vs 301 redirect
A 301 redirect sends people and crawlers to another URL, and the old one stops being viewable. A canonical keeps both URLs working for visitors and only tells search engines which one to index.
Use a redirect when the old URL shouldn't exist any more, such as after a move or a merge. Use a canonical when both versions need to stay, such as filtered product lists or syndicated copies.
Canonical vs noindex
noindex says drop this page from search. A canonical to another URL says this page is a copy, so give its signals to that one. Google advises against combining them on the same page because the messages conflict. If a page is a duplicate, use the canonical. If it should never appear in search, use noindex.
Canonicals in HTTP headers
For files that can't hold HTML tags, such as PDFs, a canonical can be sent as an HTTP header: Link: <https://example.com/guide>; rel="canonical". The checker reads the header as well as the HTML. Use one method per URL, not both with different values.
How to see which canonical Google chose
This checker shows what your page declares. Google may pick a different URL. To see Google's choice, open Google Search Console, run URL Inspection on the page, and compare "User-declared canonical" with "Google-selected canonical". If they differ, make your signals agree: the canonical, internal links, sitemap URLs and redirects should all point at the same address.