The same page on your site is probably reachable at more than one URL. Tracking parameters, sorting options, session IDs, www and non-www, trailing slashes, printer-friendly versions – each creates a duplicate. Search engines have to decide which version to index and show.
The canonical tag is how you tell them your preference.
What a canonical tag is
A canonical tag is a link element in the page’s <head>:
<link rel="canonical" href="https://example.com/shoes/trail-runner-x">
It says: “this URL is the main version of this content; consolidate signals here.” Search engines group duplicate URLs together and choose one canonical URL to show in results. Your canonical tag is a strong hint in that choice – though, importantly, it is a hint and not a command.
Why duplicates matter
Duplicate content is rarely penalised; it is a technical problem rather than a spam issue. But duplicates still cause trouble:
- Split signals: links and other signals are spread across several URLs instead of one
- The wrong URL ranks: a URL with tracking parameters or a filter may be shown instead of the clean one
- Wasted crawling: crawlers spend time fetching duplicates instead of new content
Use self-referencing canonicals on every page
Every indexable page should have a canonical tag pointing to itself:
<!-- On https://example.com/guides/composting -->
<link rel="canonical" href="https://example.com/guides/composting">
That way, if someone links to https://example.com/guides/composting?utm_source=newsletter, the page still tells search engines which URL is the real one.
Check a page’s canonical URL, whether it resolves, and if it conflicts with other signals.
When to point the canonical elsewhere
Point the canonical to a different URL when the content is genuinely the same or near-identical:
- Parameter variations:
/shoes?sort=price→/shoes - Product variants with the same content, such as colour options on separate URLs (only if they really are near-identical)
- Syndicated content: if your article is republished on another site, they can add a cross-domain canonical to your original
- Printer-friendly or AMP versions pointing to the main page
Do not use a canonical to point a page at a different page that merely covers a similar topic. Google is likely to ignore canonicals between pages that are clearly different.
Canonical vs 301 redirect vs noindex
| Use | When |
|---|---|
| 301 redirect | The old URL should no longer be visited – the page has moved permanently. Users and crawlers are sent to the new URL. |
| Canonical tag | Both URLs need to keep working for users (filters, tracking parameters, variants), but only one should be indexed. |
| noindex | The page should stay out of search results entirely and has no preferred equivalent (thin tag pages, internal search results). |
Don’t combine noindex with a canonical pointing to another page. The signals contradict each other: one says “drop this”, the other says “treat this as a copy of that”.
Best practices
- Use absolute URLs including the protocol:
https://example.com/page, not/page - One canonical per page. Several conflicting canonicals may all be ignored
- Point to a live, indexable 200 page – never to a redirect, a 404 or a noindexed page
- Match your preferred protocol and host (https and either www or non-www, consistently)
- Keep signals consistent: internal links, sitemap URLs, hreflang and redirects should all use the canonical URL
- Put it in the
<head>, in the initial HTML. Canonicals added by JavaScript may be processed later or missed - Paginated pages (page 2, 3…) should usually canonicalise to themselves, not to page 1 – otherwise items only on later pages can be lost
Canonicals for multilingual sites
Each language version should have a canonical pointing to itself, combined with hreflang tags that list all the language versions. Pointing the French page’s canonical at the English page tells Google the French page is a duplicate – and it may disappear from French results.
The HTTP header version
For non-HTML files such as PDFs, you can send a canonical in an HTTP header:
Link: <https://example.com/whitepaper>; rel="canonical"
Why Google might ignore your canonical
Google weighs several signals when choosing the canonical, including redirects, internal links, sitemaps, HTTPS and hreflang. It may choose a different URL if:
- Internal links mostly point to a different version
- The canonical target redirects or returns an error
- The pages are not actually duplicates
- The canonical points from HTTPS to HTTP
Search Console’s URL Inspection tool shows both the “User-declared canonical” and the “Google-selected canonical”, so you can see when they disagree.
Common canonical mistakes
- Every page canonicalised to the homepage (a template bug that can wipe out rankings)
- Canonicals pointing to staging or development domains after launch
- Relative URLs that resolve incorrectly
- Canonicals to redirected URLs after a migration
- Paginated pages all pointing to page 1
- Missing canonicals on pages with lots of tracking-parameter traffic
A site-wide crawl lists canonicalised pages so you can spot patterns quickly.
Crawl a whole website to find broken pages, duplicate titles, missing tags and thin content.
Canonical scenarios with examples
Tracking parameters
A newsletter link points to https://example.com/guide?utm_source=newsletter. The page’s self-referencing canonical, https://example.com/guide, tells search engines which URL to index, so signals from the newsletter link consolidate on the clean URL.
Sorting and filtering
/shoes?sort=price-asc shows the same products as /shoes in a different order. Canonicalise the sorted version to /shoes. For filters that create genuinely different, valuable pages (such as /shoes/red with search demand), use a self-referencing canonical and treat them as real pages.
Trailing slashes and case
/guide and /guide/ are technically different URLs, as are /Guide and /guide. Choose one format, redirect the other, and make canonicals consistent.
Product variants
A T-shirt in five colours, each on its own URL with identical text apart from the colour name, can canonicalise to the main product URL. If each colour has meaningful search demand (“red linen shirt”) and distinct content and images, let each be indexed with its own canonical.
Syndicated articles
You publish an article and a partner site republishes it. Ask the partner to add a canonical pointing to your original, or at least a clear link back. Google says it will try to show the version it considers most appropriate, which is not always the original, so the canonical matters.
Checking canonicals at scale
On a large site, canonical problems usually come from templates. A crawl lets you:
- List every page whose canonical points to a different URL
- Group them by pattern (all paginated pages? all product variants?)
- Check whether each pattern is intentional
- Find canonicals pointing at redirects, errors or noindexed pages
Then compare with Search Console’s Page indexing report for “Duplicate, Google chose different canonical than user” – a sign that your declared canonicals and other signals disagree.
Canonicals in popular platforms
- WordPress: core adds self-referencing canonicals on single posts and pages; SEO plugins extend them to archives and let you override them per page
- Shopify: adds canonicals automatically, including canonicalising product URLs within collections to the main product URL
- Wix and Squarespace: add canonicals automatically, with options to customise
- Custom builds: generate the canonical from your routing logic so it always matches the preferred URL format
Key takeaways
- A canonical tag tells search engines which URL is the main version of duplicate content.
- Every indexable page should have a self-referencing canonical with an absolute URL.
- Canonicals are strong hints, not commands – keep redirects, internal links and sitemaps consistent.
- Use a 301 when a page has moved, a canonical when duplicates must stay accessible, and noindex to drop a page entirely.
- Never point canonicals at redirects, errors or noindexed pages, or across different languages.
- Compare declared and Google-selected canonicals in Search Console’s URL Inspection tool.
Frequently asked questions
Do canonical tags pass link equity?
Google treats a respected canonical much like a redirect for consolidating signals, so links to duplicates generally benefit the canonical URL.
Is duplicate content a penalty?
No. Google does not penalise ordinary duplicate content. It simply picks one version to show. Penalties are reserved for deliberately deceptive copying or scraping.
Should I canonicalise tag and category pages?
Usually not to another page. If they are useful, let them be indexed with self-referencing canonicals. If they are thin, consider noindex instead.
Can I use canonicals across domains?
Yes. Cross-domain canonicals are supported and useful for syndicated content or when the same product is sold on several of your own sites.
Check your own site
Run a free audit with 55+ checks and get a fix for every issue.