
SEO Guides · Technical SEO
What Are Canonical Tags and Why Do They Matter?
A canonical tag helps search engines understand which URL you prefer to represent a page when the same or very similar content is accessible through multiple URLs.
A canonical tag is a rel="canonical" link annotation that identifies your preferred representative URL when duplicate or near-duplicate versions exist. It can help consolidate signals and make your preferred URL clearer, but it is a preference signal rather than an absolute instruction. Google can choose a different canonical URL.
Ecommerce websites generate duplicate and near-duplicate URLs more easily than most sites. A product may be reachable through several collection paths, tracking parameters, sort orders, filters, variants or legacy URLs. Canonicalisation is the process of deciding which of those URLs should represent the content in search.
Canonical tags are one part of that process. They work best when the rest of the site's signals agree: internal links, redirects, XML sitemaps and the actual page content should all support the same preferred version.
On this page
What is a canonical tag?
A canonical tag is normally placed in the <head> of an HTML page and points to the URL you want search engines to treat as the preferred version.
If several URLs show the same blue shirt, alternative versions can point to the preferred product URL. The preferred product page can also use a self-referencing canonical that points to itself.
What does canonicalisation actually do?
| Purpose | What it helps with | What it does not guarantee |
|---|---|---|
| Choose a representative URL | Makes your preferred version clear when several URLs are similar. | Google may still select a different canonical. |
| Consolidate duplicate signals | Helps signals associated with duplicate URLs be treated together. | It does not make weak content rank. |
| Clean up search results | Reduces the chance of duplicate versions competing to appear. | It does not stop every alternate URL from being crawled. |
| Improve reporting clarity | Makes it easier to understand which URL represents the content. | It does not fix poor URL architecture or broken analytics. |
Google describes canonicalisation as a deduplication process. When substantially similar pages are found, Google can cluster them and choose one representative canonical URL. Your canonical annotation is one signal in that decision.
Why do canonical tags matter for ecommerce websites?
- Filters and faceted navigation can create many URLs for almost the same collection.
- Sort parameters can change the URL without creating meaningfully different content.
- Campaign and tracking parameters can create additional crawlable versions.
- Product variants may share most of their content while using separate URLs.
- The same product can sometimes be reached through several collection or category paths.
- Legacy URLs, migrations and apps can leave alternate URLs accessible after the preferred structure changes.
- HTTP/HTTPS, hostname or case differences can create competing versions when technical rules are inconsistent.
Without a clear canonical strategy, search engines have to infer which version is most representative. That is not automatically disastrous, but it can produce inconsistent canonical selection, unnecessary crawling and confusing Search Console data.
A simple ecommerce canonical example
| URL | Role | Canonical target |
|---|---|---|
/products/blue-shirt | Preferred product URL | Self-referencing canonical |
/products/blue-shirt?ref=email | Tracking version | /products/blue-shirt |
/products/blue-shirt?sort=price | Functional parameter version | /products/blue-shirt |
/collections/sale/products/blue-shirt | Alternative path if exposed by the platform | /products/blue-shirt |
What is a self-referencing canonical?
A self-referencing canonical is a canonical tag on the preferred URL that points back to that same URL. For example, the canonical on https://www.example.com/products/blue-shirt/ would also reference that URL.
This makes the preferred version explicit and reduces ambiguity when tracking parameters, copied links or alternative URL forms are discovered.
Practical rule: for important indexable pages, a consistent self-referencing canonical is usually the cleanest default unless there is a genuine reason for that page to canonicalise elsewhere.
Does Google always obey the canonical tag?
No. This is one of the most important things to understand about canonicals. Google treats canonical annotations as signals, not absolute commands.
Google can select a different canonical when the overall evidence suggests another URL is more representative. Signals can include redirects, sitemap inclusion, HTTP/HTTPS preferences, internal linking, rel="canonical" annotations and the similarity and usefulness of the pages themselves.
In Search Console URL Inspection, this appears as a difference between the user-declared canonical and the Google-selected canonical.
Why might Google choose a different canonical?
| Possible reason | What to investigate |
|---|---|
| Internal links favour another URL | Navigation, collections, breadcrumbs, related products and editorial links. |
| The sitemap lists a different version | Whether submitted sitemaps contain only preferred canonical URLs. |
| A redirect points elsewhere | Redirect chains, historic migrations and app-generated redirects. |
| Canonical tags conflict | Template logic, plugins, multiple canonical elements or JavaScript injection. |
| The content is effectively the same as another page | Whether the supposedly separate page has enough distinct value to remain independent. |
| Regional or language signals are incomplete | hreflang, regional URLs and canonical relationships. |
| A staging, demo or copy version is crawlable | Preview domains, development hosts and duplicate public environments. |
Canonical tag vs redirect: which should you use?
A canonical and a redirect solve different problems. If users and search engines should no longer use the old URL, a permanent redirect is normally cleaner. If an alternative URL still needs to exist for users or site functionality but should not be the primary search version, a canonical may be appropriate.
| Situation | Better fit | Why |
|---|---|---|
| Old URL permanently replaced | 301/308 redirect | Users and crawlers should go straight to the new destination. |
| Tracking parameter URL still resolves | Canonical | The parameter may exist but should consolidate to the clean URL. |
| Product removed with a relevant replacement | Redirect where appropriate | The old URL no longer needs to remain independently accessible. |
| Useful filtered page that may deserve to rank | Depends on search intent | Do not canonicalise away a page that genuinely deserves its own visibility. |
Canonical tag vs noindex vs robots.txt
These controls are often confused, but they answer different questions.
| Method | Main purpose | Can the URL remain accessible? | Key caution |
|---|---|---|---|
rel="canonical" | Suggest the preferred representative among duplicates | Yes | Google can choose another canonical. |
noindex | Keep a crawlable page out of search | Yes | Do not use it as a substitute for canonicalisation between duplicate pages. |
robots.txt | Control crawling | Yes | Blocking crawling does not reliably remove a known URL from search. |
| 301/308 redirect | Move users and crawlers to another URL | The old URL redirects | Use when the old URL should no longer operate independently. |
Should filtered collection pages canonicalise to the main collection?
Sometimes, but not automatically. A filter URL that only changes the interface and has no independent search value may reasonably consolidate to the clean collection. But a filtered landing page that satisfies meaningful search demand may deserve its own indexable URL, content and self-referencing canonical.
For example, a generic colour filter created for users is different from a deliberately optimised landing page for a specific product type or attribute that has unique content, useful products and clear search demand.
Avoid blanket rules: do not canonicalise every faceted URL to the parent category simply because it contains parameters. Decide whether the page is genuinely duplicate, functional only, or valuable enough to exist as a separate search landing page.
How should product variants use canonical tags?
Variant handling depends on how different the products are and how the platform exposes them.
- If variants are selectable options on one product URL, the main product page normally remains the canonical.
- If each variant has a distinct URL but the pages are almost identical, canonicalising to a preferred representative may make sense.
- If variants have materially different search demand, content or commercial identity, separate indexable URLs may be appropriate.
- If separate variants should rank independently, each needs enough distinctive value and consistent technical signals rather than automatically canonicalising to the parent.
Google supports product variants with distinct URLs in its structured-data guidance, so ecommerce sites should not assume every variant URL must be canonicalised away.
What about pagination?
Pagination pages generally should not all canonicalise back to page one when they expose different products. Each meaningful paginated page should normally have its own canonical URL.
Canonicalising page 2, 3 and later back to page 1 can make deeper pages look like duplicates even though they expose different inventory. That can weaken product discovery through the collection.
Can canonical tags point to another domain?
Cross-domain canonical annotations are technically possible, but they should be used carefully. They signal that another domain hosts the representative version of substantially duplicate content.
They are not a general-purpose fix for syndication, affiliate arrangements or copied content. The pages should genuinely be duplicates or near-duplicates before cross-domain canonicalisation is considered.
Common canonical mistakes on ecommerce websites
- Canonicalising every filtered or paginated URL to one parent page without checking whether the pages are meaningfully different.
- Pointing the canonical to a redirected, broken, noindex or non-200 URL.
- Using a canonical that disagrees with internal links and sitemap URLs.
- Adding more than one conflicting canonical annotation to the same page.
- Canonicalising all product variants to one parent even when some variants deserve their own search visibility.
- Forgetting to update canonicals after a migration or URL change.
- Using relative or malformed canonical URLs generated by a theme, app or plugin.
- Injecting a different canonical with JavaScript than the one present in the original HTML.
- Canonicalising to the homepage or an unrelated page simply to reduce indexation.
- Assuming that adding a canonical means duplicate URLs no longer need monitoring.
How to audit canonical tags on an ecommerce website
1. Crawl the site
Export every indexable URL and the canonical target it declares.
2. Find missing canonicals
Identify important indexable pages without a clear canonical annotation.
3. Find non-self-referencing canonicals
Review which pages intentionally point somewhere else and whether that decision makes sense.
4. Find canonicals to errors or redirects
Preferred URLs should normally resolve cleanly rather than redirect or fail.
5. Compare canonicals with sitemaps
Sitemaps should contain the preferred canonical URLs rather than duplicate versions.
6. Compare canonicals with internal links
Navigation and internal links should favour the preferred version.
7. Review parameter and filter patterns
Look for recurring template-level problems instead of fixing URLs one at a time.
8. Check representative URLs in Search Console
Compare the user-declared canonical with Google's selected canonical.
9. Review after migrations or theme/app changes
Canonical logic can change silently after platform, template or plugin work.
What should you check in Google Search Console?
- URL Inspection: user-declared canonical.
- URL Inspection: Google-selected canonical.
- Page Indexing reports for duplicate and alternate-page patterns.
- Whether important canonical URLs are indexed.
- Whether unexpected URLs are being chosen as representative versions.
- Whether a canonical points to a URL outside a property you control.
If Google selects a different canonical, do not assume the tag has been ignored for no reason. Compare the full signal set and ask whether Google's chosen URL is actually the stronger or more complete version.
Canonical tags in Shopify and WooCommerce
Shopify
Shopify themes generally output canonical annotations automatically, but apps, custom Liquid, alternative collection paths and URL parameters can still create canonical conflicts. Audit the rendered HTML rather than assuming platform defaults remain correct after customisation.
WooCommerce
WooCommerce canonical behaviour is often influenced by WordPress themes, SEO plugins, filters and permalink configuration. Conflicts can arise when multiple plugins or custom functions output different signals.
A practical canonical tag checklist
- Every important indexable page has a clear canonical strategy.
- Preferred pages use self-referencing canonicals where appropriate.
- Canonical targets return HTTP 200 and are indexable.
- Canonical targets are not redirected URLs.
- Internal links point to preferred canonical URLs.
- XML sitemaps contain canonical URLs only.
- Filter, sort and parameter patterns are intentionally handled.
- Pagination pages are not incorrectly canonicalised to page one.
- Product variant canonicals reflect the intended search strategy.
- Canonical URLs use the preferred HTTPS and hostname format.
- Theme, app and preview URLs are not accidentally declared canonical.
- Post-migration canonicals reference the new URLs.
- Search Console user-declared and Google-selected canonicals are sampled regularly.
Frequently asked questions
Canonical tag FAQs
Does every page need a canonical tag?
Not every page strictly requires an explicit canonical annotation, but self-referencing canonicals on important indexable pages are a useful way to make the preferred URL clear and keep template behaviour consistent.
Can a canonical tag stop a page being indexed?
A canonical tells Google which representative URL you prefer among duplicate or very similar pages. It is not the same as a noindex directive, and Google may still crawl and process the alternate URL.
Why is Google ignoring my canonical?
Google may choose another canonical when other signals are stronger or the selected page appears more complete or useful. Check redirects, internal links, sitemaps, content similarity and the user-declared versus Google-selected canonical in Search Console.
Should product variants canonicalise to the main product?
It depends. Near-identical variant URLs may consolidate to a parent product, while materially distinct variants with their own search demand can justify separate self-referencing canonicals.
Should page 2 canonicalise to page 1?
Usually not when page 2 exposes different products. Paginated pages that form part of catalogue discovery normally need their own canonical URLs.
Can I canonicalise to a broken or redirected page?
You should avoid using redirected, erroring, blocked or non-indexable URLs as canonical targets. The preferred canonical should normally resolve cleanly and be eligible for indexing.
How do I know which canonical Google chose?
Use the URL Inspection tool in Google Search Console. It shows the user-declared canonical and Google's selected canonical for the inspected URL.
Cape Wired Technical SEO
Conflicting canonicals or duplicate URL problems?
A Cape Wired Technical SEO Audit can identify canonical inconsistencies, duplicate URL patterns, crawl waste and platform-level issues, then prioritise the fixes that matter.
Continue learning