Technical SEO·Intermediate·10 min read

Canonical tags explained. The single tag that quietly destroys more rankings than any other.

Canonical tags tell Google which URL deserves to rank when multiple versions of the same content exist. Misused, they erase pages from the index. Here is what the tag does, the three patterns that work and the four that do not.

What a canonical tag actually is

A canonical tag is a single line of HTML that sits inside the <head> of a page. It looks like this:

<link rel="canonical" href="https://example.com.au/products/widget/">

The tag tells search engines: of all the URLs that may show this content, the one at the href is the master version. Index and rank that one. Treat the others as duplicates that should pass any signals (links, traffic, mentions) to the canonical version.

Google formally calls this "URL canonicalisation". The mental model that helps most owners: it is a vote you cast on behalf of your own pages. Without the vote, Google guesses which URL is canonical from a basket of other signals (sitemap inclusion, internal links pointing in, redirects). The guess is usually right but sometimes spectacularly wrong. The tag removes the guess.

Where it lives matters. The canonical tag has to be in the <head>, not in the <body>. A canonical tag injected by JavaScript after page load is also unreliable. Google has to see the canonical in the rendered HTML it processes. Some JavaScript-rendered sites get this wrong and the canonical never reaches Google. Full coverage of that issue lives in JavaScript SEO essentials.

Why canonical tags matter

Three reasons. Duplicate content management, signal consolidation, and disaster control.

Duplicate content is more common than people think. The same page is often reachable at five different URLs: with and without www, with and without trailing slash, with and without https, with and without parameters like ?ref=facebook, and with the print or AMP variant of the page if those exist. Without a canonical, Google has to figure out which one to index. It usually picks well; occasionally it picks the parameter URL and the clean URL drops out of rankings.

Signal consolidation is the bigger reason. Every external link to one of those duplicate URLs is a vote that should count toward your master page. With a canonical tag, those votes flow to the canonical URL. Without one, the votes are split across the variants. Pages with split signals rank worse than pages with consolidated signals.

Disaster control is the reason we audit canonical tags first on every new client. A single template-level canonical error can erase your indexable pages overnight. The Perth tradie with 18 suburb pages all canonicalised to the homepage is the textbook example. Fix the canonical, all 18 pages come back inside a fortnight.

1 in 3
technical audits we run on a new Australian client find at least one canonical tag pointing at the wrong page. The fix is one line of code, and the recovery is often dramatic.

How it works under the hood

When Googlebot fetches a URL, it parses the HTML and looks for the canonical tag. If the tag points at a different URL, Google flags the fetched URL as a duplicate and the named URL as the canonical. The fetched URL still gets crawled occasionally (so Google can confirm the canonical has not changed) but does not get indexed in its own right.

Google also looks at four other canonical signals and combines them with the tag:

  1. The canonical tag itself (the strongest signal).
  2. 301 redirects (Google interprets these as canonical signals: "this URL is permanently the other one").
  3. Inclusion in the XML sitemap (an implicit "this URL is canonical" vote).
  4. Internal links (the URLs your own site links to are voted canonical).
  5. HTTP Link header (an alternative to the HTML tag, used for non-HTML resources like PDFs).

If all five agree, Google honours your choice. If they disagree, Google picks based on which signals it trusts more in context. For most sites the canonical tag wins; for some it loses to a more emphatic 301 or a more popular variant in the sitemap. The clean fix is to make all five signals point at the same URL.

One nuance worth flagging. Google treats the canonical tag as a strong hint, not a directive. If your canonical points at a URL that is noindex, blocked by robots.txt or returns a 404, Google ignores the canonical and falls back to the other signals. This is why a broken canonical can cause more confusion than no canonical at all.

Three patterns that work

Pattern 1. Self-referencing canonical on every page

The default and the right answer 95 percent of the time. Every page has a canonical pointing at its own clean URL. This consolidates any signal from accidental variants (parameter URLs, capitalisation differences, trailing-slash variants) onto the master.

<!-- on https://example.com.au/services/seo/ -->
<link rel="canonical" href="https://example.com.au/services/seo/">

If you do nothing else this week, audit every important page on your site and confirm the canonical points at itself with the same URL casing, protocol and trailing-slash convention you use everywhere else.

Pattern 2. Paginated archives canonicalising to themselves (not page 1)

For paginated blog or product archives (/blog/, /blog/page/2/, /blog/page/3/), the modern best practice is to canonicalise each page to itself. Years ago Google recommended rel="next" and rel="prev"; that recommendation was retired. The current approach: each pagination page self-references and Google decides how to handle them as a set.

Pattern 3. Parameter and faceted URLs canonicalising to the clean version

For e-commerce sites with filter parameters (/products/shirts?colour=blue&size=large), the canonical should point at the clean parent URL (/products/shirts/). This consolidates signals from every filter combination onto the category page that should actually rank.

<!-- on /products/shirts?colour=blue&size=large -->
<link rel="canonical" href="https://example.com.au/products/shirts/">

This pattern intersects with crawl budget. See crawl budget explained for when to combine canonical with robots.txt blocking.

Four mistakes that bleed rankings

Do
  • Self-reference on every page by default. Make exceptions deliberate.
  • Use absolute URLs in the href, not relative.
  • Match canonical URLs to the URL casing and trailing-slash pattern in your sitemap and internal links.
  • Audit canonical tags every time a theme changes or a plugin updates.
  • Test by viewing the page source after the page loads, not just the CMS field.
Do not
  • Canonicalise every page to the homepage. We have seen this twice this year. It is catastrophic.
  • Inject the canonical via JavaScript and assume Google sees it. If the JavaScript fails to render, the canonical is missing.
  • Canonicalise to a URL that is noindex, redirected, blocked by robots.txt or 404. Google ignores the canonical and your signals go nowhere clean.
  • Mix HTTPS and HTTP, or www and non-www, in your canonical tags. Pick one and use it everywhere.

The four canonical disasters, in detail

Mistake one. Mass canonicalisation to the homepage. A WordPress theme or SEO plugin gets configured wrong and every page on the site canonicalises to https://example.com.au/. The homepage indexes fine. Every other page on the site falls out of the index because the canonical signal says they should not exist as independent URLs. The recovery, once the canonical is fixed, takes two to six weeks.

Mistake two. Canonicals pointing at noindex or 404 pages. Someone deletes a category page or marks an old URL noindex, but other pages still canonicalise to it. The canonical now points at a target Google cannot index. Google falls back on other signals and the consolidation that the canonical was supposed to provide vanishes.

Mistake three. Mismatched protocol or trailing slash. The site is on HTTPS but the canonical hard-codes http://, or the URL pattern uses trailing slashes but the canonical omits them. Each variant Google fetches sees a canonical pointing at a slightly different URL than the one it is currently visiting. Google interprets this as a low-confidence canonical and falls back to other signals.

Mistake four. Cross-domain canonicalisation to a site you do not own. Syndicated content sometimes ships with a canonical pointing back at the original publisher. If you accidentally publish the content with the original canonical still in place, you have just told Google that the other site should rank for that content, not yours. Audit any content you syndicate. Strip the foreign canonical.

Tools and checklists

  1. Screaming Frog. Free up to 500 URLs. The "Canonicals" report shows you every canonical tag on the site, flags mismatches between canonical and address, and surfaces pages with multiple canonicals.
  2. Search Console Inspect URL. For any URL, shows you the canonical Google chose, which may differ from the canonical you declared. The "User-declared canonical" vs "Google-selected canonical" fields tell you whether Google agrees.
  3. View Source in the browser. Cmd-U (Mac) or Ctrl-U (Windows). Search for "canonical". Confirms what Google sees, not what your CMS thinks it is sending.
  4. Our free SEO audit tool. Pulls canonical, indexability and schema data for any URL in one report. Run a free audit.

For sites where canonical strategy is genuinely complex (e-commerce, multi-region, syndicated content), the website audit service covers the full pattern. Ongoing canonical hygiene sits inside the SEO retainer.

Perth and WA context

The four most common canonical disasters we have seen on Australian sites in the last two years:

A Perth metro plumber with 22 suburb-targeted service pages (Perth, Joondalup, Fremantle, Cockburn, Mandurah, Rockingham, Cannington, Subiaco and so on) where every page canonicalised to the homepage. The owner could not understand why none of the suburb pages ranked. The canonical was the entire story. Fix shipped on a Tuesday, suburb pages started reappearing in the local pack by the next month.

A Fremantle e-commerce site running Shopify where every product variant URL (?variant=12345) self-canonicalised instead of pointing at the parent product. Result: 1,200 variant URLs all competing with each other for the same query. The fix was a template change in the theme that ships in seven minutes if you know what to look for.

A Bunbury healthcare practice that syndicated content from a national association without stripping the original canonical. The articles were live on their site but every one of them had a canonical pointing at the association's domain. The practice was driving readers but earning no SEO credit. One find-and-replace fixed it.

A Karratha mining-services catalogue where the developer had set up a parameter-canonical pattern but only on three of the seven URL templates. Four templates had no canonical at all. The audit took a morning. The fix took a morning. Indexation of the correct URLs improved measurably inside a fortnight. The full mining SEO industry pattern covers this.

Pattern across all four: nobody at the business had read the canonical tags. The developer had set them up and moved on. The marketer trusted the SEO plugin defaults. The owner did not know the tag existed. Canonical hygiene is the kind of work that has no owner inside most Perth and WA businesses, which is exactly why it goes wrong.

Frequently asked

What is a canonical tag in plain English?
A canonical tag is a single line of HTML inside the head of a page that tells search engines, of all the URLs showing this content, this one is the version you should index and rank. Every page should have one, even if it just points to itself.
Does every page need a canonical tag?
Yes. Best practice is for every page to have a self-referencing canonical pointing at its own clean URL. Pages without one leave Google to guess, and Google does not always guess correctly. The risk of getting it wrong is small but real, and the cost of adding the tag is zero.
What is the difference between canonical and 301 redirect?
A 301 redirect tells the browser and search engine to send all traffic to the new URL. A canonical tag tells search engines which version of the content should rank but still allows users to land on either URL. Use a 301 when the old URL should disappear. Use a canonical when both URLs need to keep working but only one should rank. See 301 vs 302 redirects.
Can canonical tags hurt rankings?
Yes, if pointed at the wrong page. We have inherited sites where every product page canonicalised to the homepage. The product pages were invisible in Google because the canonical tag was telling Google to rank the homepage instead. Single line of HTML, hundreds of pages affected.
What happens if I have conflicting canonical signals?
Google picks one and ignores the others. The canonical tag, HTTP header canonical, sitemap inclusion, internal linking and 301 redirects all signal canonical preference. If they disagree, Google decides based on which signals it trusts most. The clean fix is to make them all agree.
See how your site stacks up

Get a free SEO audit of your site.

30 seconds. Real Lighthouse scores, real keyword data, real backlink profile, AI-generated quick wins. Free, no sales pitch.

Get a Free SEO Audit

Or call 0435 462 205