QuQi

Same-Language Market Duplication

Near-identical pages in one language are the hardest international case to fix. Hreflang influences which version is shown to a matched user, but it does not stop a search engine selecting one version as canonical and folding the rest in, and it does nothing at all when the pages really are the same page sitting in two folders. Adding more annotation is the reflex and it does not work, because the problem is duplication rather than annotation.

Get the skill file Let the agents run it
CATEGORY
International SEO
FORMAT
same-language-market-duplication.md
STEPS
7
PRICE
Free - no account
WHEN TO REACH FOR THIS

Use when two or more country versions share a language, such as en-GB and en-US or es-ES and es-MX, and the wrong country version keeps appearing in each market.

The skill file

same-language-market-duplication.md
---
name: same-language-market-duplication
description: Use when two or more country versions share a language, such as en-GB and en-US or es-ES and es-MX, and the wrong country version keeps appearing in each market.
---

# Same-Language Market Duplication

Near-identical pages in one language are the hardest international case to fix. Hreflang influences which version is shown to a matched user, but it does not stop a search engine selecting one version as canonical and folding the rest in, and it does nothing at all when the pages really are the same page sitting in two folders. Adding more annotation is the reflex and it does not work, because the problem is duplication rather than annotation.

## What you need first

- The country clusters sharing a language, with the URL of every variant listed
- Search Console performance filtered by country, at page level rather than site level, per variant
- A body-content diff between variants with navigation, header and footer excluded
- The commercial cost of the swap: whether a visitor from country A landing on the country B page can actually buy

## Method

1. Measure the swap before you fix it. Filter by country and check which URL genuinely receives the impressions in each market, because a swap that costs nothing commercially is often not worth the cost of differentiating.
2. Diff the body content between variants with boilerplate excluded. If the unique share is small you are asking the engine to keep several copies of one page, which it will not do whatever the annotations say.
3. Confirm hreflang and canonical agree on every variant. A country variant canonicalising to another country variant has explicitly asked to be folded in, and templated builds produce this by accident more often than anything else.
4. Differentiate on what actually differs in the market: currency and price, delivery and returns terms, tax treatment, regulatory and compliance wording, local case studies, support hours and phone numbers, units and spelling. These are also the things a buyer from that country checks before ordering.
5. Where nothing genuinely differs, consolidate. One page with clear coverage beats three splitting the same signals, so keep the country folder only where there is real market-specific substance to put in it.
6. For the clusters you keep, check internal linking. Cross-linking between country variants inside body copy muddies selection, so route all switching through a dedicated switcher rather than inline links.
7. Re-check by country after a full recrawl and record whether the swap actually moved, because with same-language variants the engine frequently keeps its own choice and you need to know that before promising a fix again.

## What this produces

A per-cluster decision to differentiate, consolidate or accept, listing the specific content that will be made market-specific for each cluster kept.

## Where this goes wrong

- Adding hreflang and expecting it to resolve duplication, when it only influences which of the versions already selected gets shown
- Differentiating on spelling alone, which does not make two pages distinct in any meaningful sense
- Consolidating a market whose price, tax or shipping terms genuinely differ, so the surviving page misinforms half the people who read it
- Judging the swap from your own searches instead of country-filtered data, because your results reflect your location and history rather than the market

---

From the QuQi skill library - https://www.quqi.io/skills/same-language-market-duplication
Free to download · no account, no email

What you need first

  • The country clusters sharing a language, with the URL of every variant listed
  • Search Console performance filtered by country, at page level rather than site level, per variant
  • A body-content diff between variants with navigation, header and footer excluded
  • The commercial cost of the swap: whether a visitor from country A landing on the country B page can actually buy

Method

  1. 01 Measure the swap before you fix it. Filter by country and check which URL genuinely receives the impressions in each market, because a swap that costs nothing commercially is often not worth the cost of differentiating.
  2. 02 Diff the body content between variants with boilerplate excluded. If the unique share is small you are asking the engine to keep several copies of one page, which it will not do whatever the annotations say.
  3. 03 Confirm hreflang and canonical agree on every variant. A country variant canonicalising to another country variant has explicitly asked to be folded in, and templated builds produce this by accident more often than anything else.
  4. 04 Differentiate on what actually differs in the market: currency and price, delivery and returns terms, tax treatment, regulatory and compliance wording, local case studies, support hours and phone numbers, units and spelling. These are also the things a buyer from that country checks before ordering.
  5. 05 Where nothing genuinely differs, consolidate. One page with clear coverage beats three splitting the same signals, so keep the country folder only where there is real market-specific substance to put in it.
  6. 06 For the clusters you keep, check internal linking. Cross-linking between country variants inside body copy muddies selection, so route all switching through a dedicated switcher rather than inline links.
  7. 07 Re-check by country after a full recrawl and record whether the swap actually moved, because with same-language variants the engine frequently keeps its own choice and you need to know that before promising a fix again.

What this produces

A per-cluster decision to differentiate, consolidate or accept, listing the specific content that will be made market-specific for each cluster kept.

Where this goes wrong

  • Adding hreflang and expecting it to resolve duplication, when it only influences which of the versions already selected gets shown
  • Differentiating on spelling alone, which does not make two pages distinct in any meaningful sense
  • Consolidating a market whose price, tax or shipping terms genuinely differ, so the surviving page misinforms half the people who read it
  • Judging the swap from your own searches instead of country-filtered data, because your results reflect your location and history rather than the market

Use this skill in your own AI

The download is a plain markdown file with the name and trigger in its frontmatter. Where an assistant supports skills it can load itself, that frontmatter is what it reads to decide this one applies.

Claude Code Save it as ~/.claude/skills/same-language-market-duplication/SKILL.md and Claude loads it on its own when what you are doing matches the trigger line. Put it in .claude/skills inside a project instead if the whole team should have it.
Claude Upload the file in the skills section of your settings. Once it is there it applies itself in any conversation where the trigger fits, so you do not have to remember it exists.
ChatGPT There is no skills format to install into, so paste the file contents into a Project instruction or a Custom GPT instead. It then applies to every chat in that project rather than only the one you paste it into.
Anything else Paste the markdown into the chat before your question. It works in any assistant, it just has to be pasted again each time.

Questions about this skill

When is this the right method rather than adding more hreflang?

Use it when country versions sharing a language, en-GB and en-US or es-ES and es-MX, keep surfacing in each other market. More annotation is the reflex and it does not work: hreflang influences which of the already selected versions gets shown, but it will not stop one variant being chosen as canonical and the rest folded in.

What do I need in hand before starting?

The cluster URLs, Search Console filtered by country at page level rather than site level, a body-content diff with header, navigation and footer excluded, and the commercial cost of the swap: whether a visitor from one country landing on the other page can actually buy. Skip that last question and you may spend a quarter differentiating a swap costing nothing.

What do I end up with, and which part of it gets used?

A per-cluster decision to differentiate, consolidate or accept, naming the content that becomes market-specific. That naming is the deliverable: currency and price, delivery and returns terms, tax treatment, regulatory wording, local case studies, support hours, units. Where nothing on that list genuinely differs, the honest answer is consolidation rather than a country folder with nothing in it.

What ruins this most often?

Differentiating on spelling and a currency symbol. Two pages separated only by colour against color are not distinct, the engine keeps folding them, and you have paid for a change that never had a chance of working. Judging the swap from your own searches is the other one, since your results reflect your location and history, not the market.

More in International SEO