In short
Duplicate content is the same or near-identical content available at more than one URL. There is no penalty for it — Google picks one version to index and ignores the rest. The cost is diluted signals and wasted crawling. Most duplicates are self-inflicted: URL parameters, http and https variants, trailing slashes, printer views, and pagination. Fix the cause where you can, and declare a canonical where you cannot.
There is no duplicate content penalty
Worth stating plainly, because the myth drives a lot of unnecessary anxiety.
Google does not penalise a site for having the same content at several URLs. It selects one version — the canonical — indexes that, and disregards the others.
The actual costs are subtler. Signals get split across versions, so links pointing at three variants support three weaker pages rather than one strong one. Crawl effort is wasted re-fetching the same content, which matters on large sites. And Google may choose a different canonical than you would, indexing the parameter-laden URL rather than the clean one.
The exception is content copied at scale to manipulate rankings, which is a separate spam issue.
Where duplicates actually come from
Almost always your own site, not scrapers.
URL parameters. Filters, sorting, tracking codes and session identifiers each create a distinct URL serving the same content. ?utm_source= alone can multiply a page many times over.
Protocol and host variants. http and https, www and non-www. Without redirects that is four addresses for every page.
Trailing slashes and case. /about and /about/ are different URLs. So are /About and /about on a case-sensitive server.
Pagination and infinite scroll. Page two often shares its title, description and intro with page one.
Printer and AMP variants. A second copy of every article by design.
Faceted navigation. The worst offender on e-commerce, where combinations of filters generate effectively unlimited URLs.
Syndication. Publishing the same article elsewhere without a canonical pointing home.
Staging environments left indexable. A complete duplicate of the site, occasionally outranking production.
The fixes, by cause
Redirect what should not exist. Protocol, host and trailing-slash variants get a single 301 rule each to the canonical form. This is the cheapest fix and it eliminates whole categories at once.
Set a self-referencing canonical on every page. Each page declares its own preferred URL. This handles parameters automatically: a visit to /page?utm_source=x declares /page as canonical, consolidating the signals.
Canonical the variants you keep. Printer views and syndicated copies point at the original.
Handle pagination with distinct content. Give each page its own title and description including the page number, and self-canonicalise. Do not canonical page two to page one — that tells Google to ignore content that only exists on page two.
Constrain faceted navigation. Decide which filter combinations are worth indexing. noindex the rest, or block crawling of the parameters that generate them. Left unmanaged, this is the single largest source of crawl waste on retail sites.
Block staging properly. HTTP authentication, not robots.txt — a disallowed URL can still be indexed if something links to it.
Canonical tags: what they do and do not do
A canonical is a hint, not a directive. Google usually respects it and sometimes overrides it, particularly when the signals contradict the declaration.
So make the signals agree. Point internal links at the canonical URL rather than at variants. List only canonical URLs in the sitemap. Ensure the canonical page is not itself redirected or noindexed. Use absolute URLs, and make sure each page's canonical actually resolves.
The common failures: every page canonicalising to the homepage, which deindexes the site; canonicals pointing at redirects; and canonical chains, where A points to B which points to C.
Near-duplicates are the harder problem
Exact duplicates are mechanical. Near-duplicates — pages that differ only in a name or a number — are a content problem, and a canonical will not fix them.
The usual shape is a templated section: location pages, product variants, or tool pages where most of the text is shared and only a few fields differ. Google will index some and skip the rest, which surfaces as crawled but not indexed.
The honest answer there is not a tag. It is either genuine differentiation or consolidation — and consolidation is usually cheaper and works better.
Finding your own duplicates
Crawl your site and group pages by title and by content similarity; near-identical titles are a reliable first signal. Check that http, https, www, non-www and trailing-slash variants all resolve to one address. Review Search Console for Duplicate without user-selected canonical and Alternate page with proper canonical tag — the first indicates a missing declaration, the second is the system working. And search a distinctive sentence from a page in quotes to see how many of your own URLs return it.
The order to fix things
Redirect protocol and host variants first — one rule, whole categories eliminated. Add self-referencing canonicals sitewide. Constrain faceted and parameter URLs. Then deal with near-duplicates as the content problem they are.
The first two take an afternoon and remove most of the mechanical duplication on a typical site.
If a crawl is showing thousands of URLs where you expected hundreds, book a call.
Common questions
Is there a duplicate content penalty?
No. Google selects one version to index and disregards the others rather than penalising the site. The real costs are diluted signals across variants, wasted crawl effort, and Google sometimes choosing a different canonical than you would — such as indexing a parameter-laden URL instead of the clean one.
What causes duplicate content on a website?
Almost always the site itself: URL parameters from filters and tracking codes, http and https variants, www and non-www, trailing slashes, pagination sharing titles, printer views, faceted navigation, syndicated copies without a canonical, and staging environments left indexable.
Do canonical tags guarantee which page gets indexed?
No — a canonical is a hint rather than a directive, and Google can override it when other signals contradict the declaration. Make the signals agree by pointing internal links at the canonical URL, listing only canonical URLs in your sitemap, and ensuring the canonical target is neither redirected nor noindexed.
Should paginated pages canonical to page one?
No. Canonicalising page two to page one tells Google to ignore content that exists only on page two. Give each paginated page its own title and description including the page number, and let each self-canonicalise.
How do I fix near-duplicate templated pages?
A canonical will not help, because these are a content problem rather than a URL problem. Either differentiate them with genuine per-page substance, or consolidate them into fewer, stronger pages and redirect the retired URLs. Consolidation is usually cheaper and works better.
