SEO audit All SEO tools Site vs Site Blog Search

Language

EnglishالعربيةEspañolFrançaisDeutschPortuguêsItalianoРусскийTürkçeRomânăBahasa Indonesia简体中文日本語हिन्दी
Sign in

On-page SEO

Meta Tags AnalyzerSERP Snippet PreviewHeading Structure CheckerImage Alt Text CheckerOpen Graph & Social Preview CheckerStructured Data ValidatorCanonical Tag CheckerLink AnalyzerHreflang Checker

Technical SEO

Full Site Audit (Crawler)Robots.txt TesterXML Sitemap CheckerRedirect CheckerBulk HTTP Status CheckerHTTP Headers CheckerBroken Link CheckerIndexability CheckerMobile-Friendly CheckerJavaScript SEO Checker

Speed & performance

Page Speed TestCore Web Vitals CheckerServer Response Time (TTFB) TestPage Size CheckerGzip & Brotli Compression TestHTTP/2 & HTTP/3 CheckerCSS MinifierJavaScript Minifier

Content & keywords

Keyword Density CheckerKeyword Suggestion ToolWord CounterReadability CheckerText to HTML Ratio CheckerURL Slug GeneratorCase Converter

Generators

Meta Tag GeneratorRobots.txt GeneratorSchema Markup GeneratorOpen Graph GeneratorXML Sitemap GeneratorRedirect Generator (.htaccess & Nginx)Hreflang Tag GeneratorUTM Campaign URL Builderllms.txt Generator

Domain & security

SSL Certificate CheckerSecurity Headers CheckerDNS LookupWHOIS / Domain LookupDomain Age CheckerMixed Content CheckerWebsite IP & Hosting LookupWebsite Technology Checker

AI search & AI writing

AI Search Readiness CheckerAI Title & Meta Description GeneratorAI FAQ & Schema GeneratorAI Content Brief GeneratorAI Content Optimizer
Technical SEO

Canonical Tags Explained: Fix Duplicate Content the Right Way

Duplicate URLs are everywhere – tracking parameters, filters, http and https versions. Canonical tags tell search engines which version to index. Here is how to use them correctly.

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.

Canonical Tag Checker

Check a page’s canonical URL, whether it resolves, and if it conflicts with other signals.

Open the Canonical Tag Checker

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

  1. Use absolute URLs including the protocol: https://example.com/page, not /page
  2. One canonical per page. Several conflicting canonicals may all be ignored
  3. Point to a live, indexable 200 page – never to a redirect, a 404 or a noindexed page
  4. Match your preferred protocol and host (https and either www or non-www, consistently)
  5. Keep signals consistent: internal links, sitemap URLs, hreflang and redirects should all use the canonical URL
  6. Put it in the <head>, in the initial HTML. Canonicals added by JavaScript may be processed later or missed
  7. 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.

Full Site Audit (Crawler)

Crawl a whole website to find broken pages, duplicate titles, missing tags and thin content.

Open the Full Site Audit (Crawler)

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:

  1. List every page whose canonical points to a different URL
  2. Group them by pattern (all paginated pages? all product variants?)
  3. Check whether each pattern is intentional
  4. 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.

  • 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

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.

canonicalduplicate contentindexing

Check your own site

Run a free audit with 55+ checks and get a fix for every issue.

Run free audit

Keep reading