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.
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
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
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
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
Hreflang reciprocity repair
Use when translated pages exist and are indexed but never surface for the right country, or when...
Locale redirect trap audit
Use when visitors report being unable to switch back to a language, or when a shared link opens...
Translation key drift guard
Use on any site whose translation keys are the English source text, where editing a headline sil...
RTL layout audit
Use before shipping Arabic, Hebrew, Farsi or Urdu, or when an RTL locale shows overlapping text,...