AI Overview
Duplicate content is substantial content that appears at more than one URL. Google rarely penalizes it, but it splits ranking signals, lets the wrong URL rank and wastes crawl time. Fix it with 301 redirects, canonical tags and consistent internal links.
Key takeaways
- Duplicate content is substantial content that completely matches or closely resembles content at another URL, on your site or another.
- Google says there is no duplicate content penalty unless the duplication is meant to deceive or manipulate search results.
- The real costs are split ranking signals, the wrong URL showing in search and crawl time wasted on duplicate pages.
- Use a 301 redirect when a duplicate URL isn't needed, and a canonical tag when visitors still need the variant.
- Keep canonicals, internal links and sitemaps consistent, and watch for theme, plugin or migration changes that reintroduce duplicates.
Summarize with AI
Opens the assistant in a new tab with a link to this post.
On this page
Few SEO topics cause as much needless panic as duplicate content. Site owners worry about a penalty that, for most of them, doesn't exist. Meanwhile, the real damage duplicate content does goes unnoticed: ranking signals split across several URLs, the wrong version showing in Google, and crawl time wasted on pages that shouldn't exist.
This guide explains what Google actually means by duplicate content, separates the penalty myth from the real costs, walks through the most common causes, and shows how to find and fix each one.
What is duplicate content?#
Google defines duplicate content as substantive blocks of content, within or across domains, that either completely match other content or are appreciably similar.
In practice, it comes in two forms:
- Internal duplicate content: the same page reachable at several URLs on your own site, such as
https://example.com/shoes,https://www.example.com/shoes/andhttps://example.com/shoes?utm_source=newsletter. - External duplicate content: the same content published on different domains, through syndication, copied manufacturer descriptions or scraping.
Google's own wording is worth remembering: most of the time, duplicate content is "unintentional or at least not malicious in origin". It's usually a side effect of how a CMS or store platform builds URLs.
Is there a duplicate content penalty?#
For almost everyone, no. Google put it bluntly in a Search Central blog post: "There's no such thing as a 'duplicate content penalty.' At least, not in the way most people mean when they say that."
Google's guidance says duplicate content on a site "is not grounds for action on that site unless it appears that the intent of the duplicate content is to be deceptive and manipulate search engine results." Scraping other people's content, or spinning up many domains with the same pages to grab more rankings, can lead to action under Google's spam policies. Having a product reachable at three URLs does not.
What Google does instead is filter and consolidate. It groups duplicate URLs into a cluster, picks one as the canonical version to show in search, and consolidates signals such as links into it.
What duplicate content actually costs you#
No penalty doesn't mean no problem. When Google has to choose between duplicates on its own, three things can go wrong:
- Signals get split. If some sites link to
/shoesand others to/shoes?ref=partner, the authority is spread across URLs until Google consolidates them, and it may not consolidate them the way you want. - The wrong URL ranks. Google might show the version with a tracking parameter, the HTTP version or a printer-friendly page, instead of the clean URL you designed for visitors.
- Crawl time is wasted. Google has to crawl each URL before it knows it's a duplicate. On large sites, thousands of near-identical parameter URLs can slow down how quickly new and updated pages get crawled.
There's also a reporting cost: when one piece of content lives at many URLs, its traffic and conversions are split across them in your analytics.
Common causes of duplicate content#
| Cause | Example |
|---|---|
| www and non-www | example.com/page and www.example.com/page both load |
| HTTP and HTTPS | http:// and https:// versions both return 200 |
| Trailing slashes and case | /page, /page/ and /Page all work |
| URL parameters and tracking | ?utm_source=, ?sessionid=, ?ref= on the same page |
| Faceted navigation | ?color=red&size=9 and ?size=9&color=red show the same products |
| Sorting and filtering | ?sort=price creates a new URL for the same list |
| Product variants | Each color or size has its own URL with near-identical content |
| Printer-friendly or AMP versions | /page/print duplicates /page |
| Staging or dev sites | staging.example.com gets indexed alongside the live site |
| Syndication and scrapers | Your article republished on partner or copycat sites |
| Boilerplate pages | Location pages that only swap the city name, or manufacturer descriptions copied across many stores |
Pagination is a special case. Page 2 of a category isn't a duplicate of page 1, because it lists different items. Each paginated page should be indexable and point to itself as canonical.
Try it on your site · free
Trace your own redirect chain
Every hop, its status code and where it ends up.
How to find duplicate content#
1. Google Search Console#
In the Page indexing report, look for these two statuses:
- Duplicate without user-selected canonical: Google found duplicates and you didn't declare a canonical, so it picked one itself.
- Duplicate, Google chose different canonical than user: you declared a canonical, but Google decided another URL is the better choice. This one deserves attention, because it usually means your signals disagree.
Use URL Inspection on any page to see the user-declared canonical next to the Google-selected canonical.
2. Site searches and exact-phrase searches#
Search site:yourdomain.com "a distinctive sentence from the page" to see how many URLs on your site carry the same text. Search the same sentence without site: to find copies on other domains.
3. A crawler or site audit#
A crawler visits every URL and compares them. MyKavo's Site Audit flags duplicate content (two or more URLs serving near-identical body text where neither canonicalizes to the other) as a warning, along with duplicate titles, duplicate meta descriptions, query parameters in indexable URLs, missing canonical tags and multiple canonical tags. Duplicate titles and descriptions are often the first visible sign of duplicate pages. Our guides to title tags and meta descriptions explain why each page needs its own.
4. Check a single page's canonical#
The free Canonical Tag Checker finds every canonical a page declares, in its HTML and HTTP headers, spots conflicting ones, and checks that the canonical target returns 200, doesn't redirect and isn't noindexed.
How to fix duplicate content#
Google ranks its canonicalization signals by strength: redirects are a strong signal, rel=canonical is a strong signal, and sitemap inclusion is a weak one. They stack, so using several consistently works best.
1. 301 redirect duplicates that don't need to exist#
If visitors don't need the duplicate URL, redirect it permanently to the preferred version. This is the right fix for HTTP to HTTPS, non-www to www (or the reverse), trailing slash variants and old URLs. Our 301 vs 302 guide explains why it must be a 301.
2. Use rel=canonical where the duplicate must stay#
When visitors still need the variant, such as a sorted view, a filtered list, a tracking URL or a product reachable through two categories, keep it and add a canonical tag pointing to the preferred URL. Put a self-referencing canonical on the preferred page too. Our canonical tag guide covers the details and the mistakes to avoid.
3. Make every signal agree#
Link internally to the canonical URL, list only canonical URLs in your sitemap, and use the same version in hreflang annotations. When your canonical tag, sitemap and internal links point at different versions, Google is more likely to ignore your choice.
4. Use noindex only for pages that shouldn't be in search at all#
Google doesn't recommend noindex for choosing between duplicates within a site, because it removes the page from search completely. Use it for things like internal search results or thin utility pages, not as a canonical substitute. And don't use robots.txt to handle duplicates: blocked URLs can still be indexed without their content.
5. Consolidate thin and near-duplicate pages#
If you have ten location pages that differ only by city name, merge them into fewer, richer pages, or add genuinely local content to each. Redirect the pages you retire.
6. Handle syndication properly#
If partners republish your articles, ask them to link back to your original and to noindex their copy. Google no longer recommends relying on cross-domain canonicals for syndicated content.
7. Lock down staging sites#
Password-protect staging and development sites. A robots.txt block alone isn't enough to keep them out of the index.
Which fix for which situation?#
| Situation | Best fix |
|---|---|
| HTTP and HTTPS, www and non-www, trailing slashes | 301 redirect to one version |
| Old URL after a page moved | 301 redirect |
| Tracking, sorting and filter parameters | rel=canonical to the clean URL |
| Product in several categories | rel=canonical to one product URL |
| Printer-friendly or alternate formats | rel=canonical, or the canonical HTTP header for PDFs |
| Thin pages that only swap a word | Merge and redirect, or add unique content |
| Internal search results pages | noindex |
| Syndicated copies on other sites | Partner noindexes their copy and links to yours |
| Staging site indexed | Password protection, then remove from the index |
Keep duplicate content from coming back#
Duplicate content usually reappears through change, not neglect. A theme update drops the canonical tag. A plugin switches to relative canonicals. A migration leaves both the old and new URLs live. A developer pushes a canonical pointing at staging.
MyKavo watches the canonical tag on the pages you monitor against an approved baseline. If a canonical is removed or changed, you get a high-severity alert with the old and new values side by side, so a template or plugin change that quietly reintroduces duplicate URLs is caught on the next scan, not months later in Search Console.
Frequently asked questions
What is duplicate content in SEO?
Duplicate content is substantial content that appears at more than one URL, either on your own site or across domains, that completely matches or is very similar to other content.
Does Google penalize duplicate content?
Not usually. Google says duplicate content is not grounds for action unless it is meant to deceive or manipulate search results, as with scraped content. Normally Google just picks one version to show.
How much duplicate content is acceptable?
There is no fixed percentage. Some repetition, like headers, footers and legal text, is normal. Problems start when whole pages are available at several URLs without a clear canonical.
Should I use a canonical tag or a 301 redirect?
Use a 301 redirect when the duplicate URL doesn't need to exist for visitors. Use a canonical tag when visitors still need the duplicate, such as a sorted or filtered view.
How do I find duplicate content on my site?
Check the Page indexing report in Search Console for duplicate statuses, run a site audit or crawler, and search Google for an exact sentence from your page with and without site:.
Can other sites copying my content hurt my rankings?
Usually not. Google generally identifies the original. If a scraper outranks you, make sure your page is indexed and well linked, and report clear copyright infringement to Google.
The bottom line#
Duplicate content rarely gets you penalized, but it does split your signals, let the wrong URL rank and waste crawl time. Find it in Search Console and with a site audit, redirect duplicates visitors don't need, use canonical tags for the ones they do, keep your internal links and sitemap consistent, and watch for changes that bring the problem back.
Check any page's canonical setup now with the free Canonical Tag Checker, then start free with MyKavo to get alerted the day a canonical tag changes or disappears.
Get alerted when your site breaks. Free, no card.
Start free