The canonical tag is the most effective SEO tool for resolving duplicate content issues on an online store. PrestaShop naturally generates hundreds of identical or very similar URLs — sorting parameters, filters, session identifiers — and without canonical tags, Google must guess which version to index. The result: diluted SEO authority and product pages that struggle to rank.
What is a canonical tag?
The canonical tag (or rel="canonical" tag) is an HTML instruction placed in the <head> section of a web page that tells search engines which is the "official" or preferred version of a given piece of content. It allows consolidating SEO signals (links, authority, relevance) toward a single URL, even when the same content is accessible via multiple different addresses.
Standard HTML syntax:
Canonical tag syntax
<link rel="canonical" href="https://your-store.com/product/brown-leather-shoes" />This tag is placed in the
<head> of each page. The href attribute contains the absolute URL of the canonical version.When should you use the canonical tag?
Canonical tags are necessary in many common e-commerce scenarios:
URL parameters
URLs with sorting (?order=price_asc), filtering (?color=red) or session parameters (?token=abc123) create duplicates. The canonical points to the clean URL without parameters.
Product variants
If each variant (size S/M/L, color blue/red) has its own URL, use a canonical pointing to the main product page to avoid PageRank fragmentation.
Pagination
Pages like /category?page=2, /category?page=3 can point canonically to page 1 if their content is considered a variation of the main content.
UTM parameters
Marketing campaign links add ?utm_source= parameters that create thousands of unique versions. A canonical pointing to the clean URL solves this problem.
Self-referencing canonical
A best practice in SEO is to add a self-referencing canonical on every page. This strengthens the preferred version signal even without an obvious duplicate.
Cross-domain canonical
If you publish content on other domains (marketplace, partner blog), cross-domain canonical allows you to keep SEO authority consolidated on your main store.
PrestaShop and duplicate content: a structural problem
PrestaShop is particularly prone to duplicate content issues due to its architecture. Several native mechanisms generate additional URLs for the same content:
- Faceted navigation (LayeredNavigation): each filter combination creates a unique URL. For a catalog of 500 products with 10 attributes, this can generate thousands of URLs.
- Result sorting:
?orderby=price&orderway=descand?orderby=name&orderway=asccreate additional versions of each category page. - Session identifiers: PrestaShop can add security tokens to certain page URLs, creating unique versions for each visitor.
- Product attribute combinations: A product available in 3 sizes and 4 colors can theoretically generate 12 different URLs depending on configuration.
- Language prefixes: Without correctly configured hreflang, the /en/ and /de/ versions of the same page may be treated as duplicate content.
Self-referencing canonical: a golden SEO rule
Even if a page has no known duplicate, it is recommended to add a self-referencing canonical tag on every page. This practice offers several benefits:
- Preventive protection: if someone shares your URL with UTM parameters, the self-referencing canonical tells Google which is the "clean" version.
- Signal consistency: Google has an explicit indication of the preferred version for each page, without ambiguity.
- Compatibility with third-party tools: some marketing or CRM tools automatically add parameters to URLs — the self-referencing canonical neutralizes this effect.
Canonical ≠ 301 redirect
Common mistakes with canonical tags
- Canonical chains: page A points canonically to page B, which itself points to page C. Google does not follow chains — point directly to the final URL.
- Canonical and noindex simultaneously: a page with both
noindexand a canonical can confuse Google — if the page should not be indexed, noindex alone is sufficient. - Canonical pointing to a 404: if the canonical URL returns a 404 error, the signal is invalid and Google ignores the directive.
- Inconsistent canonical and hreflang: each language version should have a self-referencing canonical, not a canonical pointing to the French version for all languages.
- Using relative URLs: the canonical tag must always contain an absolute URL (with https://) to avoid any ambiguity.