Technical SEO
hreflang, and the honest answer that most sites do not need it
hreflang tells search engines which regional or language version of equivalent content to show. It requires genuinely equivalent pages, reciprocal annotations, and a self-reference. If you have one English site serving several countries, the correct implementation is none at all.
The three rules
- Every page in a cluster must reference every page in the cluster, including itself. A missing self-reference invalidates the set.
- Annotations must be reciprocal. If A points at B, B must point back at A, or the pair is discarded.
- The pages must be genuine equivalents — the same content for a different region or language, not merely related pages.
The case where the answer is none
A single English-language site on a generic domain, selling into the UK, Ireland, Canada and Australia, does not need hreflang. There are no alternates. There is one page, and every one of those visitors should see it.
The failure mode I see most often is a site that declares hreflang="en" and hreflang="x-default" both pointing at the same single URL. It is technically valid and completely inert: it declares that the alternate for English is the page you are already on. This site shipped exactly that before it was rebuilt, and removing it lost nothing.
The case where it is right
You need hreflang when equivalent content exists at more than one URL for more than one audience. Four English pages carrying different currency, tax treatment and legal terms for four countries is the textbook case, and it is the only place this site uses it.
<link rel="alternate" hreflang="en-GB" href="https://x.com/uk/">
<link rel="alternate" hreflang="en-CA" href="https://x.com/canada/">
<link rel="alternate" hreflang="en-IE" href="https://x.com/ireland/">
<link rel="alternate" hreflang="en-PK" href="https://x.com/pakistan/">
<link rel="alternate" hreflang="x-default" href="https://x.com/">
<!-- Every one of those four pages carries this identical block,
including its own URL. Omit the self-reference and the
whole cluster is discarded. -->Language and region codes
- Language is ISO 639-1: en, fr, de, ur. Region is ISO 3166-1 Alpha-2: GB, CA, IE, PK.
- en-GB is valid. en-UK is not — "UK" is not the ISO code, and this is the most common single error in hreflang.
- Region alone is not valid. Language alone (en) is.
- x-default is the fallback for users no other annotation matches. One per cluster.
Before you build country pages at all
hreflang is a technical answer to a content question, and the content question comes first: does this country page contain anything the general page does not?
If the only difference is a place name in the title, you have built a doorway page, and hreflang will make it worse by advertising the duplication. Currency, tax position, legal transfer mechanism, delivery terms, working hours and local proof are what make a country page a page. Nothing else does.
Questions people ask about this
- Do I need a ccTLD for each country?
- No, and a ccTLD hard-codes geo-targeting to one country permanently. Subdirectories on a generic domain (/uk/, /ca/) keep all authority on one domain and remain flexible.
- What if my country pages are nearly identical?
- Then do not publish them. Near-identical country pages compete with each other and with your main page, and they are the pattern doorway policy exists to catch. Consolidate into one strong page until you have market-specific substance.
- Does hreflang help rankings?
- It does not increase ranking. It changes which of your existing pages is shown to which audience, which improves relevance and conversion — a different and often more valuable outcome.
Who wrote this
Anas Bin Masud builds e-commerce sites and does technical SEO for businesses in the UK, Canada and Pakistan — fifteen live client sites, six of them stores taking real payments. The examples in these guides come from those builds and from the audit that rebuilt this site, not from a content brief. More about how I work, or read the case studies.