Hreflang and International SEO
Last updated
International SEO is the discipline of running a site across multiple languages and regions in a way that surfaces the right version to the right user. The technical centrepiece is hreflang, an attribute that tells Google which language and region each URL targets.
What hreflang does
When a site has multiple versions of substantially the same content (English for the UK, English for the US, French for France, French for Canada), Google needs a way to know which version to surface for which user. Without explicit signals, Google guesses, often badly: serving the US version to UK users, treating regional variants as duplicate content, or fragmenting authority across versions.
hreflang annotations declare the language and (optionally) regional targeting of each URL, and the relationships between language/region versions of the same content.
<link rel="alternate" hreflang="en-GB" href="https://example.com/en-gb/" />
<link rel="alternate" hreflang="en-US" href="https://example.com/en-us/" />
<link rel="alternate" hreflang="fr-FR" href="https://example.com/fr/" />
<link rel="alternate" hreflang="x-default" href="https://example.com/" />
x-default declares the fallback URL for users who don’t match any specific hreflang.
Implementation methods
Three ways to declare hreflang. Pick one and apply consistently.
HTML link tags. In the <head> of each page, list every language/region version. Most flexible; easiest for small to medium sites; most prone to drift on large sites because every page must list every other language version.
HTTP headers. For non-HTML resources (PDFs, images), declare hreflang via Link headers. Less common but valid.
XML sitemap entries. In the sitemap, each URL entry can include xhtml:link elements declaring its hreflang relationships. Best for very large sites; centralises hreflang management; reduces per-page maintenance burden.
For most sites under 1,000 URLs, HTML link tags are simplest. For larger sites with many language combinations, sitemap-based hreflang is more maintainable.
Hreflang rules
Self-reference. Every page must include an hreflang tag pointing to itself. Pages that only list alternate versions without self-reference are invalid.
Reciprocity. If page A declares page B as its French version, page B must declare page A as its English version. Non-reciprocal annotations are ignored by Google.
Use ISO 639-1 for language and ISO 3166-1 alpha-2 for region. en for English, fr for French. en-GB for English in the UK, fr-CA for French in Canada. Region codes are uppercase by convention (Google accepts either case but uppercase is the standard).
One-to-one mapping. Each unique (language, region) combination should map to exactly one URL. Listing two URLs for the same hreflang value is invalid.
Match the page content. Hreflang declares targeting; the page itself must be in the declared language. Mismatches (German content on a page declared as en-GB) are quickly caught and ignored.
Common URL structures for international sites
ccTLDs. Separate top-level domains per country: example.co.uk, example.de, example.fr. Strongest geo-targeting signal; expensive to maintain; SEO authority doesn’t transfer between domains.
Subdomains. uk.example.com, de.example.com. Moderate geo-targeting signal; Google treats each as a separate property.
Subdirectories. example.com/en-gb/, example.com/de/. Easiest to maintain; SEO authority consolidated on a single domain; the dominant pattern for new builds.
URL parameters. example.com/?lang=de. Discouraged; harder for Google to crawl efficiently; weaker geo-targeting signal.
For new builds, default to subdirectories. Use ccTLDs only when there’s a strong business case (legal requirements, distinct local brand presence, dedicated local infrastructure).
Geo-targeting in Search Console
Search Console allows manual geo-targeting for properties that target a specific country. This is a hint that supplements hreflang.
- ccTLD properties are automatically geo-targeted to their country (
.co.ukto UK,.deto Germany). - Subdomain or subdirectory properties can be set to a specific country in Search Console > Settings > International Targeting.
- Generic TLDs (.com) without explicit geo-targeting are treated as global.
Geo-targeting is appropriate when content is genuinely region-specific. Don’t geo-target a global product to a single country; you’ll lose visibility everywhere else.
Common hreflang problems
| Problem | Effect |
|---|---|
| Missing self-reference | Annotations ignored |
| Non-reciprocal annotations | Annotations ignored on the missing side |
Wrong region code (e.g. en-UK instead of en-GB) | Invalid; ignored |
| Hreflang pointing to noindexed or redirected URLs | Annotations weakened or ignored |
| Multiple URLs for the same language/region | Invalid |
| Hreflang on pages that aren’t actually in the declared language | Ignored; possible quality concern |
| Hreflang declared in HTML head AND sitemap | Confusion; pick one method |
Auditing hreflang
Search Console > International Targeting. Reports hreflang errors detected on the site. Address all reported errors; they typically indicate misconfiguration.
Crawler audits. Screaming Frog, Sitebulb, and similar tools crawl the site and report hreflang issues at scale: missing self-references, non-reciprocal annotations, broken target URLs.
Hreflang Tags Testing Tool (Merkle). Spot-checks individual URLs for hreflang validity. Useful for verifying specific pages after changes.
Frequently asked questions
Do I need hreflang if I only have one language? No. Hreflang is for managing multiple language or regional versions. A single-language site doesn’t need it.
Can the same content rank in multiple regions? Yes, with hreflang. Each version becomes eligible to rank in its declared region; Google chooses based on user signals. Without hreflang, Google often picks one version arbitrarily and the others fail to rank.
Does hreflang improve rankings? Indirectly. It surfaces the right version to the right user, which improves engagement and reduces bounce; both feed back into ranking quality signals. The tag itself is not a direct ranking factor.