International SEO: hreflang and Beyond
International SEO is where things get complicated. You're not just optimizing for keywords. You're optimizing for languages, countries, and search engines that don't all work the same way.
The mistakes here are costly. Wrong hreflang setup can tank your rankings in all markets. Duplicate content across country sites can cannibalize each other. Bad URL structures create confusion for users and search engines alike.
Let's break down how to do international SEO properly.
The Fundamental Question: Language vs Country
Before anything technical, decide what you're targeting:
Language targeting - You have one English site for all English speakers worldwide. One Spanish site for all Spanish speakers. Content is the same regardless of country.
Country targeting - You have a US site, a UK site, an Australian site. All in English but with different content, pricing, or offerings.
Both - You have country-specific sites that also vary by language. A Canadian site in English and French. A Swiss site in German, French, and Italian.
Your URL structure and hreflang implementation depend on this choice.
URL Structure Options
ccTLDs (Country Code Top-Level Domains)
example.de, example.fr, example.co.uk
Pros: Strongest geo-targeting signal. Users trust local domains. Clear separation.
Cons: Expensive (buy each domain). SEO authority doesn't transfer between domains. More maintenance.
Subdirectories
example.com/de/, example.com/fr/, example.com/uk/
Pros: All authority on one domain. Easier to manage. Lower cost.
Cons: Weaker geo-signal than ccTLD. All eggs in one basket.
Subdomains
de.example.com, fr.example.com
Pros: Clear separation. Can host on different servers.
Cons: Subdomains treated as separate sites by Google. Authority doesn't flow as easily.
My recommendation: Subdirectories for most businesses. ccTLDs only if you're a large enterprise with resources to build authority on each domain separately.
hreflang: The Technical Foundation
hreflang tells Google which version of a page to show users based on their language or location. Without it, Google guesses. Google guesses wrong a lot.
Basic Syntax
<link rel="alternate" hreflang="en-us" href="https://example.com/us/page" />
This says: "For users wanting US English, here's the URL."
Format Rules
- Language code is required (ISO 639-1 format: en, es, de, fr)
- Country code is optional (ISO 3166-1 Alpha 2: US, GB, DE, FR)
- Language only: hreflang="en" (any English speaker)
- Language + country: hreflang="en-gb" (British English specifically)
The Critical x-default
Include an x-default for users who don't match any specific version:
<link rel="alternate" hreflang="x-default" href="https://example.com/" />
This catches everyone else. Usually points to your main site or a language selector page.
Reciprocal Rule (Most Common Mistake)
Every page must link to all its alternate versions AND itself. If Page A references Page B, Page B must reference Page A back.
On your US English page:
- hreflang="en-us" pointing to itself
- hreflang="en-gb" pointing to UK version
- hreflang="de" pointing to German version
- hreflang="x-default" pointing to default
On your UK English page:
- hreflang="en-gb" pointing to itself
- hreflang="en-us" pointing to US version
- hreflang="de" pointing to German version
- hreflang="x-default" pointing to default
Miss one reference and the whole thing breaks.
Implementation Methods
HTML head - Link tags in the head of each page. Fine for smaller sites.
HTTP headers - For non-HTML files (PDFs). Less common.
XML sitemap - Best for large sites. Include hreflang annotations in your sitemap. Easier to maintain at scale.
Example sitemap format:
<url>
<loc>https://example.com/us/page</loc>
<xhtml:link rel="alternate" hreflang="en-us" href="https://example.com/us/page" />
<xhtml:link rel="alternate" hreflang="en-gb" href="https://example.com/uk/page" />
<xhtml:link rel="alternate" hreflang="x-default" href="https://example.com/" />
</url>
Content Strategy for International Sites
Translation vs Localization
Translation converts words. Localization adapts for the market.
Localization includes:
- Currency and pricing
- Date and time formats
- Cultural references
- Local examples and case studies
- Relevant imagery
- Legal requirements
Machine translation is fine for understanding. It's not fine for ranking. Poorly translated content ranks poorly.
Same Language, Different Countries
US English and UK English are different. Beyond spelling (color vs colour), there are different terms, cultural contexts, and search behaviors.
At minimum, adapt:
- Spelling
- Terminology
- Pricing and currency
- Contact information
- Legal pages
Unique Content per Market
Don't just translate your US site. Research keywords in each market. Search behavior differs. A keyword that works in the US might not be what Germans search for.
Do keyword research for each language/country. The direct translation of your English keyword might not be what locals actually search.
Technical Considerations
Geo-Targeting in Search Console
For subdirectories or subdomains, use Search Console's International Targeting settings to tell Google which country each section targets.
For ccTLDs, Google infers the country from the domain. No manual setting needed.
Server Location
Less important than it used to be. CDNs solve this. But if you can serve content from local servers, it helps speed.
Handling Duplicate Content
Similar content across country versions isn't duplicate content if you use hreflang correctly. Google understands these are intentional variants.
But avoid having the exact same page accessible at multiple URLs without proper hreflang. That's duplicate content.
Language Selector
Let users choose their language/country. Don't auto-redirect based on IP. Google crawls from the US. Auto-redirects can prevent Googlebot from seeing all versions.
Use visible flags or a dropdown. Store preference in a cookie for return visits.
Common Mistakes
- Missing return links - Page A links to B, but B doesn't link back to A
- Wrong language codes - Using "en-UK" instead of "en-gb" (country codes are lowercase)
- Linking to non-existent pages - hreflang pointing to 404s
- Conflicting signals - hreflang says one thing, canonical says another
- Auto-redirecting Googlebot - Google can't see all versions
- Using flags for languages - Flags represent countries, not languages. Spanish isn't Spain.
Validating Your Setup
- Ahrefs and Semrush have hreflang audit tools
- Screaming Frog can crawl and validate hreflang
- Google Search Console shows hreflang errors in the International Targeting report
- Manual checking for smaller sites
Run validation after any changes. One broken reference can mess up the entire cluster.
International SEO requires precision. The technical setup is fussy and unforgiving. But get it right, and you can dominate in multiple markets with a single well-structured site. Get it wrong, and you'll wonder why none of your international pages rank while competitors pass you by.