Seonal

← Back to the guides

How to Fix Duplicate Title Tags (Templates + Process)

Aug 31, 2026 · 7 min read

Duplicate title tags are the single most common problem I find on websites. Nobody creates them on purpose. They appear on their own — from templates, from pagination, from filters, from two categories that happened to get the same name in two branches of the menu. On a shop with fifty categories, one badly thought-out template is enough to give you thirty pages sharing the same title.

Below is the actual process: how to find the duplicates, how to tell which ones need a rewritten title and which ones need something else entirely, and which templates work.

What counts as a duplicate title — and what doesn't

A duplicate title means two or more indexable URLs have exactly the same, or nearly the same, text in <title>.

The usual shapes:

  • Exact duplicate — "Women's T-Shirts | Shop Name" on five URLs.
  • Near duplicate — titles differ by one word or a trailing number, and the difference means nothing to a human ("T-Shirts – 1", "T-Shirts – 2").
  • Empty or generic title — "Home", "Products", "Blog – page 3" across dozens of addresses.

What is not a duplicate: the same title on a URL that is canonicalised to another one, or set to noindex. Google doesn't put that page in the index, so the title is a secondary concern. That's why I always check indexability first — otherwise I'd be rewriting text nobody will ever see.

Why duplicate titles hurt

Google writes its own title instead. If it decides your <title> doesn't match the page content or the query, it rewrites it — usually using the H1 or something from the navigation. You end up with a search result you never wrote, and you lose control over the one piece of text that decides whether somebody clicks.

Pages compete with each other. When five URLs share one title, Google has to guess which one should answer the query. Sometimes it picks a different one each time, sometimes it picks none. The result is all of them sitting around position ten instead of one of them ranking properly.

CTR drops. The title is the only part of the result you fully control. "Women's T-Shirts | Shop Name" says nothing about cotton, sizes above XL, or free delivery.

Crawl budget goes to waste. On larger shops you generate thousands of near-identical pages, and the crawler works through those instead of your new products.

Where duplicate titles come from

1. Category pagination

/womens-t-shirts/, /womens-t-shirts/?page=2, /womens-t-shirts/?page=3 — all three carry the same title, because the template knows nothing about pagination.

2. Filters and sorting

Filtering by colour, size and price generates dozens of URLs with one shared title. This is the biggest source of duplicates on ecommerce sites, and also the case where rewriting the title is the wrong fix.

3. The same category name in two branches

"Accessories" under both menswear and womenswear. Two different sets of content, one title.

4. Product variants as separate URLs

One t-shirt in six colours as six URLs with an identical <title>.

5. A template that only fills in the brand

Contact, About us, Delivery, Terms — all of them titled "Shop Name". I see this on sites where nobody ever set a title and the system filled in the site name.

6. WordPress archives and taxonomies

Author archives, tags, date archives. They often inherit the blog name as their title.

How to find them

You need to go through every indexable URL and compare the <title> values. On a small site you can do it by hand — open the pages and look at the source. With fifty categories and a few thousand products, manual checking is not realistic.

What I record for every finding:

  1. The list of URLs sharing a title.
  2. Whether they are indexable — canonical, robots, noindex.
  3. Which query each page is supposed to cover.
  4. Which URL actually gets clicks in Search Console — that one stays and gets edited as little as possible.

That last point matters more than people expect. If one URL in the group already brings clicks, you don't experiment on it.

Fixes by type of duplicate

Pagination: add the page number

`` Page 1: Women's T-Shirts – Cotton and Performance | Shop Name Page 2: Women's T-Shirts – Page 2 | Shop Name ``

The page number belongs in the title and in the meta description. Don't try to optimise page two for the main keyword — it isn't supposed to win, it's only supposed to be distinguishable.

Filters: don't fix the title, fix indexation

Filtered URLs with no search demand of their own belong on noindex, or under a canonical pointing to the parent category. There is nothing for a title to rescue there.

The exception: a filter that is itself a query — "white women's t-shirts", "t-shirts above XL". That combination deserves its own indexable title, and its own body text as well.

Identical category names: add the parent branch

`` Men's Accessories – Belts, Hats, Scarves | Shop Name Women's Accessories – Scarves, Belts, Gloves | Shop Name ``

Product variants: distinguish by the parameter

Colour, size, material or code. If the variants have no separate search demand, merge them into one URL with a selector on the product page — that's less work than maintaining six titles.

Static pages: write them by hand

Contact, delivery, about. There are only a few of them and you write them once.

Rules I stick to when rewriting titles

  • Keyword first. If the title gets truncated in search results, the end is what disappears.
  • Around 60 characters. Google truncates by pixel width, not character count, but ~60 characters is a safe line.
  • Brand at the end, one separator character. With a very well-known name you can drop the brand and reclaim the space.
  • No repeating the same word three times. "T-Shirts, Women's T-Shirts, T-Shirts Online" doesn't work.
  • Don't promise something the page doesn't have. That's the most common reason Google rewrites a title.
  • Title ≠ H1. The H1 can be shorter and brand-free. They don't have to match.

The same logic applies to the second line of the result. I wrote separately about meta descriptions on ecommerce sites and how to keep them from turning into the same three sentences on every category.

How I handle it

I crawl a site in roughly three minutes from the moment you give me the address. I find duplicate titles, weak descriptions, missing alt texts and broken structured data — on an average shop that's dozens of findings at once.

The difference from a standard crawler is what you get back. Not the advice "shorten your title", and not a spreadsheet of URLs. For the findings that matter, I write the finished title and description text for each specific URL, based on that page's content and the query it should cover. You read it and approve it.

Deployment goes through the WordPress plugin, the API, or a CSV export if you run your own system. And for every deployed fix I measure the impact over 28 days before and 28 days after, so you know whether rewriting the title changed anything, or whether the problem was somewhere else.

While I'm in there, the related findings surface too — missing or useless alt texts and broken JSON-LD tend to come from the same templates that produced the duplicate titles in the first place.

When you'll see a change

Google has to recrawl and re-evaluate the fixed pages. On frequently crawled categories that's days; on deep product pages it's weeks. CTR changes are readable sooner than ranking changes — positions move slowly. If somebody tells you a title rewrite will produce a measurable shift in a few days, they're lying to you.

What does speed things up: submitting the sitemap, requesting inspection for the key URLs directly in Search Console, and not reverting the titles after a week because "nothing is happening".

Short checklist

  1. List every indexable URL and its title.
  2. Group the identical ones.
  3. For each group decide: unique title, canonical, or noindex.
  4. Add page numbers to pagination.
  5. Set indexation rules for filters instead of writing new titles.
  6. Add the parent branch to categories with the same name.
  7. Write static pages by hand.
  8. Deploy, then leave it alone for 28 days.
  9. Compare clicks and impressions before and after.

If you'd rather do this in-house, it's doable — I wrote about what that actually involves in DIY SEO without an agency. If you don't have the time, I'll crawl the site and write the fix texts for you.


This is written by a tool you can buy

The article was proposed and written by Seonal — the same one that finds the errors on your site, fixes them and measures the result. The audit is free.

Find out free how many errors your site has Pricing