SEO glossary

What is Canonical tag?

A canonical tag (rel="canonical") tells search engines which URL is the preferred version of a page when the same content is reachable at several URLs.

Check it free: Canonical Checker

Canonical tag: A canonical tag (rel="canonical") tells search engines which URL is the preferred version of a page when the same content is reachable at several URLs.

A canonical tag is a link element with rel="canonical" that names the preferred URL for a piece of content. When the same page is reachable at several addresses — with tracking parameters, in a different sort order, over HTTP and HTTPS — the canonical tells search engines which one to index and show.

<!-- served on https://shop.example/boots?color=black&utm_source=mail -->
<link rel="canonical" href="https://shop.example/boots">

The link relation is defined in RFC 6596. For PDFs and other non-HTML files, send the same signal as an HTTP header: Link: <https://shop.example/guide.pdf>; rel="canonical".

Why canonicalization matters

Duplicate URLs split signals. Links, internal references and crawl attention get spread across copies, and Google may pick a version you never meant to rank, such as a print view or a URL with a session ID. A consistent canonical gathers those signals onto one address. The wider problem is covered under duplicate content.

A hint, not a command

Google treats rel="canonical" as a strong hint rather than a directive. Its guide to consolidating duplicate URLs lists the signals it weighs together: redirects (strongest), canonical annotations, sitemap inclusion and internal links. When those signals disagree, Google chooses for you, and Search Console reports “Duplicate, Google chose different canonical than user”.

Common mistakes

  • A broken target — the canonical points at a URL that redirects, returns 404 or carries noindex.
  • Every page canonicalized to the homepage, usually a template bug. Google tends to ignore it, but you’ve lost control of the signal.
  • Paginated pages pointing to page 1. Page 2 lists different items; give each page in a series its own self-referencing canonical.
  • Two different canonicals, one from the theme and one from a plugin, or an HTML tag and an HTTP header that disagree.
  • Canonical in the body, or added only by JavaScript. Put it in the server-rendered <head>.
  • Canonical plus noindex on the same page. One says “index that URL instead”, the other says “index nothing here” — a mixed message.

When a URL has moved for good, a 301 redirect beats a canonical, because people and bots both end up on the right page.

Self-referencing canonicals

A canonical that points to the page’s own clean URL isn’t required, but it is cheap insurance. If someone links to /boots?ref=newsletter, the tag quietly tells Google which version to keep. Use absolute URLs with the right protocol and host so there’s no room for misreading.

How to check a canonical

The canonical checker finds rel=canonical in the HTML and HTTP headers, checks that it is absolute and either self-referencing or intentional, that the target returns 200 and is indexable, and that HTTP/HTTPS and www/non-www variants redirect to one version. To confirm the page itself can be stored by Google, read up on indexing.

Frequently asked questions

Should every page have a self-referencing canonical?

It isn’t mandatory, but it’s good practice. It protects against tracking parameters and scraped copies, and it makes your preferred URL explicit to every search engine.

Can a canonical tag point to another domain?

Yes, cross-domain canonicals are supported, for example when you move content or run the same article on two sites you own. For articles syndicated to partners, Google now suggests that partners block indexing of their copy instead, because their pages often differ too much for a canonical to work.

Should I use a canonical tag or a 301 redirect?

Use a 301 when the old URL no longer needs to exist for visitors. Use a canonical when both URLs must stay accessible, such as filtered or tracked versions of the same page.