Duplicate URLs are the same content reachable at more than one address. It is rarely a content problem — the content was written once — and almost always a configuration problem, which makes it one of the more fixable issues on a site.
Where they come from
Protocol and hostname variants
The same page at http and https, with and without www. All four should resolve to one, by redirect rather than by canonical tag alone.
Trailing slashes and casing
/page and /page/ serving identically, or URLs responding to any capitalisation. Both are server configuration.
Parameters
Tracking codes, session identifiers, sort orders and filters appended to a URL that otherwise serves the same content. The largest source on most sites. See URL parameters.
Index files and default pages
/index.php or /index.html serving the same content as the directory root.
Pagination and print views
Printer-friendly versions and alternate renderings of the same page, each with its own address.
Why it costs you
- Crawl capacity spent fetching the same content repeatedly, at the expense of pages you want crawled.
- Signals split across addresses rather than accumulating on one.
- Search engines choosing which version to show, sometimes not the one you would pick. See when Google chooses a different canonical.
- Reporting fragmented across several URLs for one page.
Fixing it, in order of preference
- Redirect where one version should genuinely never be served — protocol, hostname, trailing slash, casing. The strongest fix because it removes the duplicate entirely.
- Canonical tag where both versions need to remain accessible — parameters, filtered views, print pages.
- Consistent internal linking. Link to the canonical form everywhere. Linking to variants undermines whatever the tag says.
- Block at scale only where volume is genuinely large. See robots.txt vs noindex.
The third is the one most often neglected. A correct canonical tag paired with internal links pointing at the variant sends contradictory signals.
Finding them
Crawl the site and group pages by content similarity and by title. Identical titles across several URLs is the fastest indicator. Then check Search Console for pages excluded as duplicates or alternates, which shows which version was chosen and which was dropped.
Frequently asked questions
Is duplicate content a penalty?
No. It causes dilution and wasted crawling, not a penalty. Only large-scale deliberate duplication attracts action.
Does a canonical tag always work?
It is a strong hint rather than a directive. Contradictory signals — internal links, sitemaps, redirects — can override it.
What about the same product in several categories?
Ensure one canonical product URL regardless of the browsing route. See product variants SEO.
Should I worry about tracking parameters?
Only if they are being crawled and indexed. Self-referencing canonical tags on the clean URL usually handle it.
Consulting CTA
If the same content is appearing at several addresses, book an SEO consultation.