What We Cover
A structured look at the specific topics documented here, from foundational hreflang syntax to the nuances of targeting English speakers across multiple countries.
Topic Areas
Each topic below represents a documented area with explanations, examples, and where relevant, documented error patterns.
Hreflang Syntax and Structure
The hreflang attribute appears on link elements in the HTML head of a page, or in the equivalent entries within an XML sitemap. The syntax requires a language code following ISO 639-1, optionally followed by a hyphen and a region code following ISO 3166-1 alpha-2. Both parts are case-insensitive in the spec, but Google recommends lowercase for the language code and uppercase for the region code.
The format en-US refers to English as used in the United States. The format fr-CA refers to French as used in Canada. A language-only code like fr without a region targets any French speaker regardless of country. This distinction has significant practical consequences.
<!-- Correct: language-region format -->
<link rel="alternate" hreflang="en-US" href="https://example.com/en-us/" />
<link rel="alternate" hreflang="en-GB" href="https://example.com/en-gb/" />
<!-- Incorrect: underscore separator -->
<link rel="alternate" hreflang="en_US" href="https://example.com/en-us/" />
<!-- Incorrect: relative URL -->
<link rel="alternate" hreflang="en-US" href="/en-us/" />
Reciprocal Links: The Rule That Breaks Everything
Every URL referenced in an hreflang set must itself contain hreflang tags pointing to every other URL in that set, including itself. This is the reciprocal link requirement. It is the single most common source of silent failures.
If your US page declares the UK page as an alternate, the UK page must also declare the US page as an alternate. And both must include a self-referencing hreflang tag. And if there is an Australian version, all three pages must reference all three URLs. The requirement scales with the number of alternates.
Google does not report this error through any standard channel. If reciprocal links are missing, the entire hreflang group may simply be ignored. The pages will still be crawled and indexed; they just will not benefit from the targeting signal.
English for US, UK, and Australia
This is the scenario that causes the most confusion. The language is identical. The content may differ only in spelling, pricing, or product availability. Yet from an hreflang perspective, these are distinct pages requiring distinct targeting.
The correct implementation uses region-specific locale codes: en-US for the United States, en-GB for the United Kingdom, and en-AU for Australia. Each page in the set must link to the other two and to itself. The x-default tag should designate whichever page is appropriate for unmatched English-speaking markets.
Without this implementation, Google will typically identify one of the three pages as canonical and serve it to all three markets. Which one it picks is not predictable. The result is often the wrong price, currency, or product range appearing in search results for the wrong country.
The x-default Tag in Detail
The x-default value does not mean "default language." It means "this page is for users whose locale is not covered by any other tag in this set." The practical implication is that x-default should point to a page that genuinely serves unmatched users well.
For a site with a language-selection page at the root, x-default should point to that selector. For a site that serves most users through region-specific pages and treats the English homepage as the catch-all, x-default can point there. What x-default should not do is duplicate an existing targeted page.
If you have en-US, en-GB, and en-AU tags and you also set x-default to your en-US page, you are telling Google that US English users and all unmatched users should see the same page. This may or may not be the correct behavior for your site, but it should be a deliberate choice.
Sitemap vs. HTML Implementation
Hreflang can be declared in the HTML head of each page, in an XML sitemap, or in HTTP response headers for non-HTML files. The sitemap approach is often preferred for large sites because it centralizes all declarations in one place and avoids adding bulk to every page's HTML.
The XML sitemap format uses a specific namespace and structure. Each URL entry contains xhtml:link elements for every alternate, including a self-referencing link. The reciprocal requirement still applies: every URL in the sitemap must appear as a reference in every other URL's alternate list.
Mixing both methods creates risk. If the sitemap declares one set of alternates and the page HTML declares a different set, Google faces a contradiction. The safest practice is to choose one method and apply it consistently across the entire site.
Canonical Conflicts
The canonical tag and the hreflang tag serve different purposes and can contradict each other in ways that undermine both. A canonical tag on a page pointing to a different URL effectively tells Google to treat this page as a copy of another. An hreflang tag on the same page pointing to this page's own URL tells Google this page is a distinct, targeted alternate.
These signals conflict. Google's general guidance is that a canonicalized page should not be used as an hreflang target. If your alternate pages are being canonicalized to a single URL, the hreflang implementation will not work as intended.
This situation often arises when duplicate-content handling is configured at the CMS level without accounting for intentional international variants. The fix usually involves ensuring each regional page has a self-referencing canonical, not one pointing to a central page.
What Is Outside This Scope
No Consulting Services
This site does not offer audits, implementation services, or personalized advice. The content here is educational documentation. It is not a substitute for professional technical SEO work on your specific site.
Beyond Hreflang
International SEO encompasses content localization, local link building, ccTLD strategy, and many other topics. This site focuses specifically on hreflang implementation and the technical signals that determine which page Google shows in which country.