Start a project

Article · Technical SEO · hreflang · International · 11 min read

hreflang for UK and US English sites

hreflang is how you tell search engines that two English pages are regional versions of each other, not competitors. For a UK and US pair that means en-GB and en-US, reciprocal return tags, a sensible x-default, and a canonical on each URL that points at itself. If the two pages are the same article with colour spelled differently, you probably do not need two URLs at all. If they differ in price, tax, legal copy or the offer itself, hreflang is how you stop them fighting in the wrong country.

On this page 10 sections
  1. When two English versions are actually two pages
  2. en, en-GB, en-US and x-default
  3. Return tags, clustering and a single host versus two
  4. Currency, spelling and legal copy that really differs
  5. Implementation in HTML, headers or a sitemap
  6. The mistakes that make both URLs compete
  7. How to test a cluster
  8. When hreflang is more trouble than it is worth
  9. Key takeaways
  10. Frequently asked questions

I keep this site in British English on a single URL, so I do not ship hreflang here, but I have to get the same UK and US split right in app store copy, which is why the guide to localising iOS apps for UK English exists. The method below is the website version of that discipline: only create a second page when the difference is real, then annotate it accurately.

When two English versions are actually two pages

Create two URLs when a person in the UK and a person in the US should not be shown the same document. Typical, genuine differences:

A language switcher that changes “colour” to “color” and leaves the same £ price on the page is not a second version. Neither is a JavaScript geo overlay that does not have its own crawlable URL. hreflang annotates URLs. If there is only one URL, there is nothing to annotate.

If you are unsure, write the one-line job of each page, the same way you would when checking keyword cannibalisation. If both pages would satisfy the same query for the same person, merge them. If a UK searcher should see one and a US searcher the other, you have a cluster.

en, en-GB, en-US and x-default

The codes are a language, optionally plus a region. Google documents them in its localised versions guide. The details that matter for a UK and US English pair:

Every page in the cluster should list all of the alternates, including itself. Google recommends that self-referencing annotation. A UK page that only points at the US page, and never at itself, is incomplete.

An HTML sketch for a pair plus a default:

<link rel="alternate" hreflang="en-GB" href="https://example.com/uk/pricing">
<link rel="alternate" hreflang="en-US" href="https://example.com/us/pricing">
<link rel="alternate" hreflang="x-default" href="https://example.com/uk/pricing">

Those three tags belong on both URLs, with the same absolute HTTPS addresses, which must be the canonical addresses of the two pages. The hreflang Generator will shape the tags; you still have to choose the default and the real URLs.

Return tags, clustering and a single host versus two

A cluster only works if it is reciprocal. If the UK page points at the US page, the US page must point back at the UK page, with the same URLs. A broken return is one of the main reasons hreflang is ignored. The hreflang Cluster Validator is built to catch that, along with codes that look plausible and are wrong.

You can host the pair in several ways:

Pick one pattern and keep the slugs aligned where you can. A slug generator is only a naming aid; the important part is that /uk/pricing and /us/pricing really are the same document in two regional versions, not two unrelated pages that happen to share a word.

Query parameters (?region=us) can work if they are the stable, indexable URLs you annotate, but they collide easily with tracking parameters and with canonical tags. I would not choose them for a new site.

The canonical on each page should be itself, not the “main” language. hreflang says “these are alternates”. A canonical that points the UK page at the US page says “the UK page is a duplicate”. Search engines will not be able to honour both stories. The canonical tags guide is the place for that mechanism; here, just do not mix them up.

The content has to justify the cluster.

Currency and tax should be written as they will be charged, not converted approximately in a footnote. If you show pounds inclusive of VAT on the UK page, the US page should show the US offer as you actually sell it. Do not put both prices on both URLs “just in case” and then expect hreflang to choose; you have made two mixed pages.

Spelling and units should follow the region once you have two pages: colour, organise, 12 November, metres and postcodes on en-GB; color, organize, November 12, meters and ZIP codes on en-US. This is the same editorial care as localising an iOS app into UK English. Spelling alone, though, is a weak reason to maintain two full copies. If nothing else differs, keep one page in the English you actually use, and say so.

Legal copy is often the real reason for a split. Refund rights, company numbers, privacy contacts and consumer terms can differ, and they should not be lightly copied across. I am not giving legal advice here; I am saying that if those pages differ, they are good hreflang candidates, and if you cannot maintain the difference, you should not pretend you have two regional products. That maintenance has a cost, in the same way what an iOS app really costs includes the localisation you plan to keep current, not only the first screenshot.

Contact details, opening hours and shipping promises belong to the region they describe. A “call us on this UK number” block should not be the leading contact method on the US page.

Implementation in HTML, headers or a sitemap

Google accepts three equivalent places for the annotations. Use one as the source of truth, not two that can drift.

  1. HTML <link rel="alternate"> tags in the head of each page, as in the sketch above. This is the usual choice for a small site, and it is easy to see in the first response. The tags must be in the raw HTML, not only injected after JavaScript, if you want a crawler that does not render to see them.
  2. HTTP headers on each response: http Link: <https://example.com/uk/pricing>; rel="alternate"; hreflang="en-GB", <https://example.com/us/pricing>; rel="alternate"; hreflang="en-US", <https://example.com/uk/pricing>; rel="alternate"; hreflang="x-default" This is useful for PDFs or other non-HTML files, and for an edge worker that already controls headers. It is harder to inspect at a glance than the HTML tags.
  3. A sitemap with xhtml:link alternates on each URL. This scales when you have many pairs, as long as the sitemap is generated from the same list as the pages. Do not hand-edit a second list.

Whichever you choose, generate the annotations from a single table of pairs, the same way you would generate a consistent release artefact in the App Store launch process. A typo in one direction is a broken cluster.

The mistakes that make both URLs compete

These are the failures I look for first:

When these go wrong, both URLs can appear in the same country, or the wrong one can appear, which is the competition hreflang was meant to prevent. Search Console’s international report, where it is available, and a cluster validator are more useful than eyeballing a single page.

How to test a cluster

A practical test, after each change to the pair:

  1. List every URL that should be in the cluster, including x-default if it is a distinct page.
  2. Fetch each one logged out, follow redirects, and record the final URL, status, canonical, and the hreflang tags or headers.
  3. Run the set through the hreflang Cluster Validator. Every member should mention every other member, including itself, with matching absolute URLs and valid codes.
  4. Confirm that a person can reach the other version through a visible, ordinary link, not only through an automatic redirect that a crawler might not choose to treat as an alternate.
  5. After launch, search for a distinctive phrase on the UK page and on the US page, or use Search Console, and see which URL is shown in which region when you have data. Do not expect an overnight swap, and do not treat a single anecdotal result as proof.

If both versions go live together, add the cluster to the technical SEO launch checklist. Fix errors in the generator, not by editing one live page and leaving the other.

When hreflang is more trouble than it is worth

Skip the cluster, or delay it, when:

hreflang is careful bookkeeping for real alternatives. It is not a way to get twice the English coverage from one article, and it is not required for a single-language site to rank in another country.

Key takeaways

If you want a second pair of eyes on a UK and US pair that still compete in the same results, tell me about it.

Frequently asked questions

Do I need hreflang for UK and US English pages?

Only if you have two distinct, indexable URLs, and you want search engines to treat them as regional versions of the same page. A single British English site does not need hreflang just because you have visitors in the US. Two pages that only swap a spelling are usually better merged.

What should x-default point to on an English site?

It should point at the URL you want people to see when no other language or region in the cluster matches: often a country chooser, or the version you consider the fallback. For a UK-first pair, that is commonly the en-GB page, but it is a choice you should make on purpose and then use consistently on every member of the cluster.

Should UK and US pages have the same URL with a parameter?

They can, if that parameterised URL is stable, canonical and the one you annotate, but it is a brittle pattern on a new site. Prefer a clear path prefix, a subdomain or a ccTLD. Each regional document still needs its own canonical URL; a silent geo-rewrite of one URL is not a cluster.

What happens if hreflang tags are not reciprocal?

The cluster is broken, and search engines may ignore the annotations. If page A points at page B, page B must point back at page A with the same absolute URLs, and each should also point at itself. After a rename, this is the first thing to revalidate.

Is en enough, or should I use en-GB and en-US?

If the pages are meant for the United Kingdom and the United States, use en-GB and en-US. Plain en means English with no region, and it does not say which country the page is for. You can also include en if you truly have a generic English URL, but it is not a shortcut for the two regional codes.

Written by Lee Johnson. Published 10 November 2026.

All articles · Swift A–Z · Apps

Questions, or an app in mind?

Let's bring your ideas to life. Whether you're envisioning a game-changing Apple Watch app or a transformative iOS experience, I'm here to make it happen.

Start a project