Duplicate content is the same (or very similar) page available at multiple URLs. Search engines may not know which version to show, link equity gets diluted, and indexing suffers. This guide explains how to find duplicates and fix them with canonical tags and redirects.
What counts as duplicate content
Exact duplicates
The same content at different URLs:
- example.com/page and example.com/page/
- example.com/page and example.com/page?utm_source=google
- http://example.com/page and https://example.com/page
Partial duplicates (near-duplicates)
Similar content with minor differences:
- Category pages with minimal unique text
- Product pages with identical descriptions
- Pagination pages (page=2, page=3)
Internal vs. external duplicates
Internal duplicates are on your site. External duplicates are your content copied to other sites. Canonical tags primarily address internal duplicates.
Causes of duplicates
URL parameters
Sorting, filters, UTM tags, and session IDs create variations of the same page:
/catalog
/catalog?sort=price
/catalog?sort=name
/catalog?color=red
/catalog?utm_campaign=summerTechnical variations
- http vs. https
- www vs. non-www
- Trailing slash vs. no trailing slash
- Letter case (for case-sensitive servers)
- Duplicate entries in the sitemap
CMS and site structure
- Print pages (?print=1)
- Mobile versions (m.example.com)
- Pagination
- Date and tag archives
- RSS versions
Content
- Copying and pasting between pages
- Templated product descriptions
- Minimal unique content on category pages
How to find duplicate content
Google Search Console
The “Coverage” or “Pages” report shows indexed URLs. Look for pages with similar titles and descriptions. “Excluded: duplicate without user-selected canonical” is a clear sign.
Search by content
Copy a unique phrase from the page and search for it in Google in quotation marks. If other URLs on your site appear with the same text, they are duplicates.
Site audit
The reChecker technical audit checks canonical tags, redirects, and URL structure. It identifies common sources of duplicates.
Log and sitemap analysis
Check which URLs are included in the sitemap. Make sure each URL is unique or has a canonical tag pointing to the primary version.
Specialized tools
Tools such as Screaming Frog, when available, crawl a site and find pages with identical or similar content based on metrics such as word count and title.
Fixing duplicates with canonical
When to use canonical
- URL parameters (sorting, filters, UTM tags)
- Pagination
- Print versions
- Pages that should remain accessible but should not be indexed separately
Add a canonical tag to each duplicate page pointing to the preferred URL:
<!-- На /catalog?sort=price -->
<link rel="canonical" href="https://example.com/catalog" />
<!-- На /catalog?page=2 -->
<link rel="canonical" href="https://example.com/catalog" />Self-referencing canonical on the canonical page
The preferred page should point its canonical tag to itself:
<!-- На /catalog -->
<link rel="canonical" href="https://example.com/catalog" />For more on configuration, see the canonical URL guide.
Fixing duplicates with redirects
When to use a 301 redirect
- http → https
- www → non-www (or vice versa)
- Old URLs after restructuring
- Pages users do not need (duplicates without parameters)
A redirect completely removes the duplicate from access. Users and crawlers land on the target URL.
# Nginx: редирект с www на non-www
if ($host = 'www.example.com') {
return 301 https://example.com$request_uri;
}Canonical vs. redirect
| Situation | Solution |
|---|---|
| http and https | 301 to https |
| www and non-www | 301 to the chosen version |
| Parameters (sort, filter) | Canonical to the version without parameters |
| Pagination | Canonical to the first page |
| Removed page | 301 to a relevant existing page |
Fixing duplicates with content
For near-duplicates (similar content), canonical tags and redirects are not always appropriate. The content needs to be differentiated:
- Write unique product descriptions
- Write unique text for category pages
- Combine thin pages into one page with sections
Checking canonical
The reChecker canonical checker checks markup and identifies errors. Make sure that:
- The canonical points to an existing page
- There are no chains (A→B→C)
- The canonical page returns 200
Duplicate-fix checklist
| Step | Action |
|---|---|
| 1. Audit | Find all duplicates (GSC, search, tools) |
| 2. Choose the preferred URL | One URL for each piece of content |
| 3. Canonical | Add to duplicate pages |
| 4. Redirects | Use 301 for technical duplicates (http, www) |
| 5. Content | Make near-duplicates unique |
| 6. Sitemap | Include only canonical URLs |
| 7. Check | Make sure canonical tags and redirects work |
Index update time
After canonical tags are implemented, Google recrawls the pages. The index may take anywhere from a few days to several weeks to update. Speed up the process by requesting indexing in Search Console for key pages.
Duplicates across domains
Content syndication
If your content is published on partner sites, the canonical on your site points to your version as the original source. Partner sites can canonicalize to your site or use noindex, by agreement.
Mirrors and copies
For mirror sites and copies on other domains, use a canonical pointing to the primary domain. If you do not control the copy, you can request its removal through the DMCA or similar procedures.
Duplicates within one domain: common scenarios
Session IDs in URLs
example.com/page?sessionid=abc123
example.com/page?sessionid=xyz789The same content has different URLs. Solution: do not add session IDs to URLs for indexable pages, or use a canonical pointing to the version without parameters.
Sorting and filters
/catalog?sort=price
/catalog?sort=name
/catalog?brand=appleUse a canonical pointing to /catalog. If filtered pages have unique content (for example, “Apple laptops” is a separate page), use a canonical pointing to that page rather than the general catalog.
Regional variations
For multilingual or multiregional sites (one language, different regions), use hreflang, not canonical. Canonical is not used to link regional versions.
Preventing duplicates
During development
Set a single canonical URL from the start. Configure clean URLs without unnecessary parameters. Use 301 for old URLs when changing the site structure.
When adding content
Check that new content does not duplicate existing content. Use unique meta descriptions and titles for each page. Add unique sections to templated content.
Regular audits
Check for duplicates quarterly using Search Console and audit tools. New parameters and sections can unexpectedly create duplicates.
Tools for finding duplicates
Copyscape, Plagiarism
For finding external copies of your content. Enter a URL or text, and the service will find similar pages on the internet. Useful when you suspect content theft.
Siteliner, Screaming Frog
Analyze internal duplicates by similarity. They compare page content and identify near-duplicates, providing a list of pages with a high percentage of matching content.
Google Search
Search for a unique phrase in quotation marks. If several URLs from your site appear, those are internal duplicates. A simple method that requires no additional tools.
Related materials
For the basics of canonical, see the canonical URL guide. To check markup, use the canonical checker tool and the technical audit on reChecker.