Duplicate titles and meta descriptions happen when two or more URLs state the same summary of themselves, so a search engine cannot tell from the tags which page answers which query. Find them by fetching the actual <title> and description tags across your pages — not by trusting your CMS list, which may show values the templates override — then fix each cluster in one of three ways: rewrite the tags so each page describes itself, point a canonical at the one URL that should represent the set, or noindex the copies that should not appear in results at all. Our SEO Checker reads the title, description, canonical and robots directives of any single URL in one fetch, which makes verifying each fix a one-minute job.

What "duplicate" actually means

Two pages have duplicate metadata when their title tags are identical, or so close that the differing words carry no information — "Blue Shoes", "Blue Shoes | Shop" and "Shop – Blue Shoes" on three different category pages are one duplicate cluster wearing three hats. Meta descriptions duplicate the same way, and the pair usually travels together because both are generated by the same template. The tags matter because they are the summary a search result shows: when several pages present the same summary, the search engine picks which one to display on signals you did not intend, and your pages split the clicks any one of them could have earned.

Duplicates are a symptom, not the disease. They appear when a template appends the same site-wide title everywhere, when pagination or filters mint near-identical URLs, when a staging copy leaks into the index, or when two pages genuinely cover the same topic. The fix depends on which of those you have — which is why the finding step comes first.

Step 1: Fetch the real tags and build the cluster list

For a small site, fetch each page and extract the tags directly:

curl -s https://example.com | grep -oi "<title>[^<]*</title>"

Run the equivalent across your URL list and group the results by identical title. To show what a real cluster looks like, we fetched the three IANA example domains while writing this guide and extracted their title tags with exactly that method. The captured output:

URL Title tag (captured) Meta description (captured)
https://example.com Example Domain None — no description tag present
https://example.org Example Domain None — no description tag present
https://example.net Example Domain None — no description tag present

Three different hosts present the identical 14-character title and no description at all. A search engine given only these tags has nothing to distinguish the pages with — that is the duplicate problem in miniature, captured rather than invented. On your own site the cluster members will be paths on one host, but the shape of the finding is the same: one title, several URLs, no differentiating information.

For one URL at a time, the SEO Checker reports the same evidence in structured form. Run on https://example.com — the real response fetched with curl and analysed by the site's own SeoAnalyzer class, the code behind the checker — it flagged the cluster member's two weaknesses precisely: a Medium issue, "Missing meta description", and a Low issue, "Title is very short", with the evidence line 14 characters: "Example Domain".

Step 2: Decide the fix for each cluster — rewrite, canonical, or noindex

Every cluster resolves in exactly one of three ways. Choosing wrongly is how duplicate fixes fail: rewriting the titles of true copies leaves the copies competing, and canonicalising distinct pages throws away pages that should rank.

Situation Fix Why
The pages cover different topics or intents and each deserves its place in results Rewrite each title and description to describe its own page The pages are distinct; only their summaries were lazy
The URLs serve the same content (parameters, print views, HTTP/HTTPS or www variants, syndicated copies) Canonical — point every copy at the one preferred URL There is only one real page; the rest are access routes to it
The page should exist for visitors but never appear in results (thank-you pages, internal search, staging) Noindex the page It is not a copy of anything; it simply does not belong in the index

A labelled hypothetical makes the rewrite branch concrete. Imagine a shop with three category pages all titled "Shoes | Example Shop": men's running shoes, women's running shoes, and trail shoes. The pages are distinct, so the fix is three honest titles — "Men's Running Shoes – Cushioned & Neutral | Example Shop", "Women's Running Shoes – Road & Track | Example Shop", "Trail Running Shoes – Grip for Wet Ground | Example Shop" — each paired with a description that names what that page actually sells. (This shop is an illustration, not a capture; the measured before-state pattern it fixes is the one in the table above.) The writing rules for the new tags — length, uniqueness, matching intent — are covered in How to Write SEO Titles and Meta Descriptions.

Step 3: Fix at the source, not in the output

Duplicates generated by a template return the moment you edit a single page's output. Find where the tag is produced: a CMS title pattern (%title% | %sitename% with an empty per-page title produces site-wide duplicates), a pagination rule that forgets to vary the title by page, or a plugin that writes the same description into every post. Fix the pattern, set real per-page values where the pattern cannot distinguish pages, and check any URL parameters your site accepts — a parameter that changes sorting but not content is a canonical case, not a rewrite case. Canonical Tags Explained covers how to point the copies at the preferred URL and how to verify the tag is respected.

Step 4: Verify by re-fetching, and check what Google chose

A fix is not done when the CMS saves it; it is done when the fetched HTML shows it. Re-run the Step 1 extraction on every cluster member and confirm: each kept page now returns a unique title and description, each canonicalised copy returns the canonical tag pointing at the preferred URL, and each noindexed page returns the directive. Then check Search Console's Page indexing report over the following weeks: rewritten pages stay indexed under their own URLs, canonicalised copies move to "Alternate page with proper canonical tag", and noindexed pages move to "Excluded by 'noindex' tag". If a cluster member's status does not move, the fetched tags — not the report — tell you why. The staged workflow for reading those statuses is in How to Diagnose Indexing Problems.

Common mistakes

  • Making titles unique by appending page numbers or random words. "Shoes – Page 2" variations of the same generated title fix nothing; the summary still does not describe a distinct page.
  • Rewriting titles on pages that are true copies. If two URLs serve the same content, two lovingly distinct titles make them compete harder, not smarter. Canonicalise.
  • Canonicalising pages that should each rank. A canonical is an instruction to fold this page into that one. Applied to distinct category pages, it quietly removes them from results.
  • Checking the CMS preview instead of the served HTML. Themes, plugins and caches can all override what the editor shows. The fetched tag is the only evidence — which is why every step above works from fetched output.
  • Fixing titles but not descriptions, or the reverse. The pair is generated together and read together in results; audit and repair them as a pair.

Frequently asked questions

Do duplicate meta descriptions directly lower rankings?

The tags are not a ranking input in themselves. The harm is indirect and practical: identical summaries give search engines no help telling your pages apart, and give searchers no reason to pick the right one, so clicks and relevance signals land on whichever URL was chosen for you. Fixing duplicates restores your control over that choice.

How do I find duplicates on a site with thousands of pages?

Fetch in bulk: crawl the URL list from your sitemap and internal links, extract title and description with the same pattern as Step 1, and group by identical values in a spreadsheet. Any cluster larger than a handful usually traces back to one template rule, so fix the largest clusters first — one template change can clear hundreds of rows.

What if two pages legitimately share a title?

It happens with series and parts — "Annual Report 2025" for the summary and each chapter. Make the shared part the suffix, not the whole title: put the distinguishing words first ("Methodology – Annual Report 2025") so each tag still identifies its page at a glance in a results list.

Should paginated pages have unique titles?

Each paginated page should identify itself — including its page number in the title is the straightforward way ("Trail Shoes – Page 3"), and the pages should carry self-referencing canonicals rather than all pointing at page 1, unless you deliberately maintain a single view-all page as the canonical.

How long until Search Console stops reporting the duplicates?

The report reflects Google's last crawl of each URL, so statuses clear page by page as re-crawls happen. Verify your fix from the fetched HTML immediately; treat the report as confirmation that Google has seen it, not as the fix itself.

References