Content is Everything
Pillar 3 · Technical discoverability

Canonical URLs: why the canonical tag is a hint, not a rule

Spencer Thursfield · Last reviewed 2026-09-12 · Evidence: Google documentation, RFC 6596

A canonical URL is the one address search engines treat as the main copy of a page that can be reached at more than one address. A canonical tag, <link rel="canonical"> in the page’s head, is how you say which address you prefer, and Google treats that preference as a hint, not a rule.

The first question in the technical discoverability pillar is whether crawlers can reach your site at all. This is the second: once they can, which copy of each page counts. Duplicate content is covered here too, because it is the problem the tag exists to solve.

What is a canonical URL?

Google defines the canonical URL as the page it chose as the most representative from a set of duplicates, so it can show one version in its results instead of several. RFC 6596, which defines the link relation, calls it “the author’s preferred version of a resource”. Those are two different things: the address you declare, and the address Google selects. Search Console reports them separately. Official recommendation

It matters for AI search too. Google states that to be a supporting link in AI Overviews or AI Mode, a page must be indexed and eligible to be shown in Google Search with a snippet, and its Page indexing help says a page judged a duplicate is not served in Search. The address Google picks is the one that can appear. Required

Why does a small site end up with duplicate pages?

Usually nobody decides to. On a small business site the common causes are:

  • www and non-www. example.com and www.example.com serving the same pages.
  • http and https. Google calls these protocol variants.
  • Trailing slashes. /about and /about/ both answering.
  • Tracking parameters. ?utm_source= or ?gclid= added by an advert or a newsletter link. Google’s own example is /dresses/cocktail?gclid=ABCD.
  • The same page under two menus. One page at two paths, such as /services/weddings/ and /weddings/.

This site shows the first four. On 2026-09-12 the non-www and plain http addresses of a page both redirected permanently to the https www version. The same page without its trailing slash, or with a tracking parameter, returned the page itself, carrying a canonical tag that names the version with the slash and no parameter.

Is it a penalty? No. Google says some duplicate content on a site is normal and not a violation of its spam policies. The cost is quieter: people wonder which page is the right one, and it is harder to track how your content performs. Official recommendation

What does a canonical tag do, and what does it not do?

It states a preference. Google treats redirects and rel="canonical" as strong signals and inclusion in a sitemap as a weak one, and says they stack. It may still choose a different page: “indicating a canonical preference is a hint, not a rule.” Official recommendation

  • It cannot point at a different page. RFC 6596 requires the target to be a duplicate or a superset of the page, and Google will never choose a declared canonical that is not similar to it. Pointing every page at your homepage fails.
  • It is not a redirect. Google advises a permanent redirect only when you retire a duplicate. The tag is for duplicates that must stay reachable, such as tracking links.
  • It is not a job for robots.txt or noindex. Google advises against both. A blocked URL can still be indexed without its content, and noindex removes the page from Search.
  • It is not compulsory. Google says a site will likely do just fine without one.

How do you set a canonical URL?

Put one link element in the head of each duplicate, pointing at the preferred address, and the same element on the preferred page itself. Google recommends that self-referential canonical. Every version of an About page would carry:

<head>
  <title>About us</title>
  <link rel="canonical" href="https://www.example.com/about/" />
</head>

Google’s rules for making it count:

  • Use the full address, https:// and all.
  • Put it in the head, and keep the head valid HTML.
  • Give one answer. Don’t name one URL in your sitemap and another in the tag.
  • Link to the canonical address from your own pages.
  • Put it in the HTML the server sends, and don’t let scripts change it. See static HTML and JavaScript rendering.
  • For a PDF, send it as an HTTP Link header.

On WordPress, Wix or Blogger, Google suggests looking for a search engine settings page instead of editing the head.

What do the Search Console canonical statuses mean?

The Page indexing report gives a reason for each page Google did not index. Three concern canonicals. Google says a page marked duplicate or alternate is usually a good thing: it means Google found the canonical and indexed that.

Duplicate without user-selected canonical

The page duplicates another, declares no canonical, and Google chose the other page, so this one is not served in Search. Google calls this “working as intended”. Act only if Google picked the wrong page: declare the canonical yourself, or make genuinely different pages differ substantially.

Alternate page with proper canonical tag

The page is an alternate, such as a mobile or AMP version, and correctly points at a canonical that is indexed. Google says there is nothing you need to do. It is often searched as “alternative page with proper canonical tag”, which is the same message.

Duplicate, Google chose different canonical than user

You declared this page canonical, but Google indexed another URL it thinks is better. Compare the page, your declared canonical and Google’s choice. A declared canonical that is not similar to the page will never be chosen.

How do you check which URL Google chose?

Inspect the address with URL Inspection in Search Console and expand Page indexing. “User-declared canonical” is what your page says; “Google-selected canonical” is what Google chose. The live test cannot predict the canonical, so read the indexed result, and allow for it being a few hours behind.

All of this describes Google Search. We have not measured whether other AI crawlers read canonical tags, so we make no claim about them. Our method sets out what we do measure.

What bernard does about this

A hosted page with no canonical of its own gets a self-referencing one added as it is served, with the trailing slash normalised. A canonical the page already has is left alone. verified (infra/cloudflare/sites-router/src/index.js; checked live on this site’s cookie policy page, 2026-09-12)

A move drops the old site’s canonical tags, so a deliberate one pointing elsewhere has to be set again, per page or site-wide, with the editing agent’s setMeta tool, on the draft, for the owner to approve. partial (src/lib/move/distill.ts; src/lib/ai/tool-spec.ts)

Which address Google selects is Google’s decision. not controllable

Common questions

What is the difference between a canonical URL and a canonical tag?

The canonical URL is the address that represents a set of duplicate pages. The canonical tag is the line in a page’s head saying which address you prefer. Google makes the final choice.

Is duplicate content a penalty?

No. Google says some duplicate content on a site is normal and does not violate its spam policies. It shows one version and leaves the others out of Search.

Does every page need a canonical tag?

It is not required, and Google says a site will likely do just fine without one. It does recommend a self-referencing canonical on each canonical page, which costs one line.

Can Google ignore my canonical tag?

Yes. It is a hint, not a rule. When Google disagrees, Search Console reports “Duplicate, Google chose different canonical than user”.

Should I use a redirect or a canonical tag?

A permanent redirect when you are retiring the duplicate address. A canonical tag when the duplicate has to keep working, such as a link carrying a tracking parameter.

Sources
made with bernard

Cookie settings