Duplicate content is the same or substantially similar content reachable at more than one URL. Google does not penalise it, but it splits ranking signals across the copies, wastes crawling, and lets Google pick which URL to show. In AI search, that chosen canonical is the only version an answer can cite.
Most sites have far more duplication than their owners think, and almost none of it is deliberate. Tracking parameters, sorted listings, HTTP leftovers, trailing slash variants, and syndicated copies all create extra addresses for the same words. This guide covers what that duplication actually costs, how Google decides which URL wins, the failure patterns worth auditing for, and a decision table for choosing between a canonical, a 301, noindex, or doing nothing. For a hands-on check of any single URL, the companion walkthrough on how to use the Canonical Tag Checker shows the tool step by step.
Does duplicate content hurt SEO?
Not through a penalty. The "duplicate content penalty" is one of the most durable myths in SEO. Google's canonicalization documentation treats duplication as a normal property of the web: it groups similar pages into a cluster, selects one as canonical, and treats the rest as alternates. Nobody is punished. The damage is quieter than that, and it comes in three forms.
- Split signals. Links, shares, and internal references that point at different variants of the same page are evidence for one document scattered across several addresses. Google consolidates much of this once it picks a canonical, but only after it has crawled and grouped the variants, and only for the signals it can connect.
- Wasted crawling. Every duplicate URL a crawler fetches is a fetch it did not spend on a new or updated page. On a small site that rarely matters. On a store with faceted navigation, it can mean thousands of parameter URLs competing with your real inventory for attention.
- The wrong URL wins. This is the expensive one. If Google picks the version with a tracking parameter, the print view, or the copy on a syndication partner, that is the URL that ranks, the URL that collects clicks, and the URL that an AI answer can cite.
How does Google choose a canonical URL?
Google picks the canonical by weighing several signals. Your rel=canonical tag is one of them, and a strong one, but it is a vote rather than a veto. Google's guide to consolidating duplicate URLs lists the methods you control and how much weight each carries.
- Redirects.A permanent server-side redirect is a strong signal that the target should be canonical. Google's redirects documentation treats temporary redirects as only a weak signal, which is why a 302 left in place for years can keep the old URL in the index.
- rel=canonical. A link tag in the head, or a Link HTTP header for non-HTML files such as PDFs. Strong, provided it is unambiguous and does not conflict with your other signals.
- Sitemap inclusion. Listing a URL in your sitemap is a weak signal that it is the preferred version. Weak, but cheap, and a sitemap full of non-canonical URLs actively argues against your tags.
- HTTPS. All else equal, Google prefers the HTTPS version of a URL over HTTP.
- Internal links. The URL your own navigation and body copy link to is evidence of the one you consider real. If your menu links to
/pricing/and your canonical says/pricing, you are voting twice in different directions. See internal linking for AI search for why this signal carries more weight than most teams assume. - Hreflang. Language and regional variants are alternates, not duplicates. Each should canonicalise to itself, or to a page in the same language, so the hreflang cluster and the canonical cluster do not fight.
The principle behind all six is agreement. When every signal points at the same URL, Google follows it. When they disagree, it picks for you, and Search Console reports the outcome as "Duplicate, Google chose different canonical than user".
What causes duplicate content on most websites?
Almost every duplication problem we see falls into one of the patterns below. Treat this as an audit checklist.
URL parameters
UTM tags, session IDs, sort orders, and click identifiers all produce a new URL for the same content. The fix is a self-referencing canonical that strips the parameters, so /guide?utm_source=newsletter declares /guide as canonical. Test it by checking a tagged URL directly, not just the clean one.
HTTP and HTTPS, www and non-www, trailing slash
These are host and path variants of one page. They should not be solved with canonicals alone. Pick one protocol, one host, and one slash convention, redirect everything else with a 301, and make the canonical match the final destination exactly. A canonical that points at a URL which then redirects sends two signals that disagree by one hop.
Pagination
A common mistake is pointing page 2, 3, and 4 of a category at page 1. Those pages list different items, so they are not duplicates, and canonicalising them to page 1 can hide the products or articles that only appear deeper in the sequence. Give each paginated page a self-referencing canonical and make sure the items on it are reachable through normal links.
Faceted navigation
Filters for colour, size, price, and brand can multiply one category into thousands of combinations. Decide which facets deserve their own indexable page because people search for them, such as a brand plus category, and canonicalise or block crawling of the rest. A canonical alone does not stop crawling; if crawl volume is the problem, the filter links themselves need to change.
Syndication and scraped copies
When your article is republished on a partner site, the partner often has more authority than you, and their copy can win. Google's current guidance says a cross-domain canonical is not the most reliable fix for syndication, because the partner's page usually differs from yours in layout and surrounding content. The more effective route is for the partner to keep their copy out of the index with noindex. A visible attribution link back to your original is still worth asking for, because it helps readers and crawlers find the source.
Canonical to a noindexed or redirected URL
A canonical that points at a page carrying noindex says "index that one" and "do not index that one" at the same time. A canonical that points at a 301 makes Google follow a chain to find the real target. Both are contradictions, and Google resolves contradictions on its own terms. Every canonical target should return 200, be indexable, and be the final URL.
Canonicals injected with JavaScript
Single page apps and tag managers sometimes add or rewrite the canonical after the page loads. Google can render JavaScript, but it recommends against setting canonicals that way, and a script that changes an existing canonical creates two conflicting values. Many AI crawlers do not render JavaScript at all, as how AI crawlers work explains, so they only ever see the server HTML. Put the canonical there.
Should I use a canonical tag, a 301 redirect, or noindex?
The three tools solve different problems. Using the wrong one is how most duplicate content fixes go sideways.
| Situation | Best choice | Why |
|---|---|---|
| Old URL, merged article, HTTP or non-www variant | 301 redirect | Visitors never need the duplicate, and a redirect is the strongest signal |
| Tracking parameters, sort orders, print views | Canonical to the clean URL | Both URLs must keep working for users |
| Product variants that share one description | Canonical to the main product | Keeps variant URLs usable while consolidating signals |
| Internal search results, thank-you pages, thin tag archives | noindex | They should never appear in search, and nothing needs to consolidate |
| Your article republished by a partner | Partner applies noindex | Cross-domain canonicals are a weaker fix when the pages differ |
| Paginated pages, language versions, similar but distinct pages | Leave alone with a self-referencing canonical | They are not duplicates, so consolidating them hides real content |
Two rules sit underneath the table. Do not combine noindex and a canonical on the same page, because they ask for opposite outcomes. And do not use robots.txt to hide duplicates: a blocked URL cannot be crawled, so Google never sees the canonical tag on it and cannot consolidate its signals. Google's duplicate URL guide warns against using either robots.txt or noindex as a way to choose a canonical within a site.
Why do canonicals matter for AI search answers?
A search results page can show two near-identical URLs and let the user choose. An AI answer does not work that way. The system retrieves a small set of passages, composes one response, and cites a handful of sources. Out of a duplicate cluster, it will retrieve one version at most, and you want that version to be the strongest one you have.
For Google, the connection is direct. Its documentation on AI features and your website says there are no special requirements for AI Overviews or AI Mode beyond being indexed and eligible to show a snippet. Alternates in a duplicate cluster are not indexed in their own right, so the Google-selected canonical is the only URL eligible to appear. Other engines run their own crawlers and deduplication and publish less about how they decide, which is an argument for consistent signals rather than engine-specific tricks.
Quality also has to land on the right URL. The GEO research paper from Princeton and collaborators found that adding citations, quotations, and statistics raised a source's visibility in generative answers by up to 40 percent. Those improvements only count on the version the engine retrieves. If you refresh the clean URL but the canonical is a stale parameter variant, or a partner's syndicated copy, the work lands somewhere no answer will look. The same applies to entity and schema work: the structured data in our JSON-LD guide and the entity signals in what is entity SEO both need to sit on the canonical URL.
For the broader picture of how answer engines pick sources, read how AI search engines decide what to cite and the generative engine optimization guide. Canonicalisation is the unglamorous prerequisite for both: you cannot optimise a page for citation if the engine is looking at a different URL.
How do I audit duplicate content on my site?
A practical audit takes an afternoon for most sites. Work through it in this order so each step builds on clean data from the last.
- Start with Google's view. In Search Console's Page indexing report, export the URLs under "Duplicate, Google chose different canonical than user" and "Duplicate without user-selected canonical". These are the cases where Google is already deciding for you.
- Check declarations on key templates. Run one URL per template type, plus a parameterised version of each, through the Canonical Tag Checker. Templates fail in bulk, so one bad result usually means hundreds of bad pages.
- Verify every canonical target. Each target should return 200 with no hops. The Redirect Checker shows the full chain, and the Meta Tag Analyzer confirms the target is not carrying a noindex robots meta.
- Align the sitemap. Run it through the Sitemap Validator and remove anything that is not a canonical, indexable, 200 URL.
- Fix internal links last. Point navigation and body links at canonical URLs. The Internal Linking Optimizer walkthrough covers how to map and repair them at scale.
Then re-run the Website Grader for a broad health check, and give Google time. Canonical changes are picked up as pages are recrawled, which our guide to getting pages indexed faster can speed up. If the audit turns up pages that compete for the same query rather than true duplicates, that is a merge decision, covered in our content refresh strategy for AI search.
Frequently Asked Questions
Is there a duplicate content penalty?
Not for ordinary technical duplication. Google does not demote a site because the same page is reachable at several URLs. It groups the copies, picks one canonical, and shows that one. The real costs are split ranking signals, wasted crawling, and Google choosing a URL you did not want. Copying other sites at scale to manipulate rankings is a separate spam issue.
Is rel=canonical a directive or a hint?
A hint. Google treats it as a strong signal but weighs it alongside redirects, internal links, sitemap inclusion, HTTPS, and hreflang. When those signals agree, Google almost always follows your canonical. When they contradict it, Google may choose a different URL, and Search Console will report it as Google choosing a different canonical than the user.
Should I use a canonical tag or a 301 redirect?
Use a 301 when the duplicate URL has no reason to exist for visitors, such as an old address, an HTTP version, or a merged article. Use a canonical when both URLs must keep working for users, such as tracking parameters, sorted listings, or print views. A redirect is the stronger signal because it removes the duplicate rather than describing it.
Can I use noindex instead of a canonical tag?
Not for duplicates on your own site. Google advises against using noindex to steer canonical selection within a single site because noindex removes the page from search entirely and does not pass its signals to the preferred version. Use noindex for pages that should never appear in search, and use a canonical or redirect for pages that should consolidate.
Do AI search engines respect canonical tags?
Google's AI Overviews and AI Mode draw on Google's index, and only the canonical version of a duplicate cluster is indexed, so Google's canonical choice decides which URL is eligible to be cited. Other AI engines run their own crawling and deduplication and do not publish the details. Consistent signals across your site are the only approach that works for all of them.
How do I see which URL Google chose as canonical?
Use the URL Inspection tool in Google Search Console. It shows the user-declared canonical and the Google-selected canonical for any indexed URL. For a site-wide view, open the Page indexing report and look at statuses such as Duplicate, Google chose different canonical than user, and Duplicate without user-selected canonical.