International SEO: Hreflang, Country Targeting, and Global Rankings
What Is International SEO
International SEO is the practice of optimizing a website to rank in multiple countries or languages. It comes with two distinct challenges: multi-language SEO (same country, different languages — English and French in Canada) and multi-country SEO (same language in different countries — US English vs UK English). Both require explicitly telling Google which version of your content is intended for which audience. Without proper signals, Google guesses — often incorrectly — routing French speakers to your English pages or showing your US pricing to UK visitors.
The stakes are high: if Google serves the wrong language version, users bounce immediately, your CTR drops, and your rankings in the target country erode. International SEO closes the gap between where your content lives and where it needs to rank.
URL Structure Options: ccTLD, Subdomain, or Subdirectory
There are three structural approaches to international URL architecture. Each involves trade-offs:
Country code top-level domains (ccTLDs) — example.de, example.fr — send the strongest country signal to Google. A .de domain inherently targets Germany. The downside: each ccTLD is a separate domain with its own domain authority. Building links for five ccTLDs is five times the link-building effort, and the cost of registering and maintaining multiple TLDs adds up.
Subdomains — de.example.com, fr.example.com — are technically separate from the main domain. Google can treat them independently, which means they do not automatically inherit the authority of example.com. Harder to consolidate, and link equity does not flow as cleanly as with subdirectories.
Subdirectories — example.com/de/, example.com/fr/ — are Google's recommended structure for most sites. They share domain authority with the root domain, are easiest to implement and maintain in a single CMS, and keep all SEO value under one roof. This is the approach most SEO teams default to.
One structure to avoid: URL parameters for language targeting (example.com?lang=de). Parameters create canonicalization problems, are harder for Googlebot to crawl reliably, and signal nothing about geographic intent.
Hreflang: The Core Technical Signal
Hreflang is an HTML attribute that tells Google which language and country a page targets. It is the primary technical mechanism for international SEO. Without it, Google decides on its own which version to show — and it routinely gets this wrong.
A page targeting French speakers in France uses hreflang="fr-FR". A page for all French speakers globally (regardless of country) uses hreflang="fr". The language code follows ISO 639-1 (en, fr, de) and the optional region code follows ISO 3166-1 Alpha-2 (US, GB, FR).
Hreflang must be reciprocal: every language version must point to every other version, including itself. If the English page lists the French alternate but the French page does not list the English alternate back, Google ignores the entire cluster. Here is what a correct implementation looks like in the HTML head:
<link rel="alternate" hreflang="en-US" href="https://example.com/en-us/page/" /> <link rel="alternate" hreflang="fr-FR" href="https://example.com/fr-fr/page/" /> <link rel="alternate" hreflang="de-DE" href="https://example.com/de-de/page/" /> <link rel="alternate" hreflang="x-default" href="https://example.com/en-us/page/" />
Note that each page in the cluster must carry an identical block of hreflang tags covering all language variants. If any variant is missing from any page's block, the cluster is broken.
x-default: The Fallback Page
The hreflang="x-default" attribute marks the page to show when no other language version matches the user's browser locale or location. Typically this is your main English version or a language-selector landing page. It is not required by Google but is strongly recommended for sites targeting multiple countries.
Without x-default, Google may show a random language version to users whose language is not in your hreflang set. A visitor from Indonesia to a site with only en-US and fr-FR hreflang would see whichever version Google picks — often the last one crawled. x-default gives Google an explicit fallback instruction.
Set x-default on your main URL — typically the English homepage or a /choose-language page — not on every language variant. Include it in every hreflang block across the cluster so the reciprocal requirement is satisfied.
Common Hreflang Mistakes
Missing self-referencing hreflang. Every page must include itself in its own hreflang set. The French page must declare hreflang="fr-FR" pointing to itself, not just the other language versions. This is the most frequently overlooked requirement.
Broken hreflang pairs. If the French page does not return a link back to the English page, Google ignores both. Hreflang is only valid when bidirectionally confirmed across the entire cluster.
Incorrect language or region codes. Common errors: en-uk (should be en-gb — "uk" is the ISO code for Ukrainian), jp (should be ja for Japanese language), cn-zh (should be zh-cn — language comes first). Use ISO 639-1 for language and ISO 3166-1 for region, always in that order.
Relative or non-canonical URLs in hreflang. Every URL in a hreflang attribute must be absolute, canonical, and return a 200 status. A hreflang pointing to a 301 redirect or a non-canonical URL is treated as missing.
Implementing hreflang in both HTML and sitemap simultaneously. If the HTML says one set of alternates and the sitemap says a different set, Google sees two competing definitions and may discard both. Pick one method and stick with it.
Content Localization vs Content Translation
Translation is converting text from one language to another. Localization goes further — adapting content for cultural context so it resonates with the target audience. The distinction matters for SEO: Google can detect low-quality machine-translated content and may treat it as thin content, suppressing rankings.
Professional localization outranks machine translation because it produces unique, natural-sounding text that earns engagement signals (low bounce rates, longer dwell time) that reinforce rankings. Pure word-for-word translation often produces awkward phrasing that users immediately recognize as foreign and abandon.
What to localize beyond the copy: currency and pricing (show prices in local currency, not just a USD conversion), date formats (DD/MM/YYYY vs MM/DD/YYYY), phone numbers (local format and country code), cultural references and idioms, and legal content (privacy policies, terms of service must reflect local law). A German page selling in EUR that still shows "Call us at 1-800-..." signals immediately that the localization is superficial.
Country Targeting in Google Search Console
Google Search Console provides a country targeting setting for sites without a ccTLD. You can find it under Settings > International Targeting > Country. This signals to Google which country the site primarily serves — but it is a hint, not a directive, and applies to the entire domain.
Only set a country target if your site exclusively serves one country. If you serve multiple countries, leave this blank and let hreflang handle the targeting at the page level. Setting a country target while also using hreflang can create conflicting signals, since the GSC setting overrides some hreflang signals for certain ranking decisions.
Sites using ccTLDs do not need to set a country target in GSC — the TLD already provides a strong country signal. The GSC setting is most useful for subdirectory or subdomain implementations where no TLD signal exists.
International Sitemaps
Every language version of your site should be included in your sitemap. For large sites — typically over 1,000 pages — adding hreflang annotations to every HTML head is impractical. Sitemaps offer an alternative: hreflang can be declared inside the sitemap instead of in every page's head, using nested xhtml:link elements. This works well for large catalogs where the HTML head would balloon in size.
<url> <loc>https://example.com/en-us/page/</loc> <xhtml:link rel="alternate" hreflang="en-US" href="https://example.com/en-us/page/"/> <xhtml:link rel="alternate" hreflang="fr-FR" href="https://example.com/fr-fr/page/"/> <xhtml:link rel="alternate" hreflang="x-default" href="https://example.com/en-us/page/"/> </url>
Each URL entry in the sitemap must list all language alternates — including itself — just as HTML hreflang requires. Submit each country's sitemap separately, or use a sitemap index file that references all regional sitemaps. GSC shows sitemap-specific errors under Coverage, including broken hreflang URLs and non-reciprocal pairs.
International Link Building
Links from country-specific domains signal geographic relevance. A site trying to rank in Germany needs links from German websites — .de domains, German-language publications, German industry associations. A .de link carries more geographic signal for German rankings than a .com link from a US site writing about Germany.
Effective strategies for building country-specific links: build relationships with local publishers and bloggers in the target country, join and contribute to local industry associations and chambers of commerce, pursue local PR coverage in the target country's press, and sponsor local events that generate .de or .fr coverage. These links build both domain authority and geographic relevance signals simultaneously.
Avoid buying links from country-specific link farms. Google's spam detection recognizes unnatural link patterns — a sudden influx of .de links with exact-match anchor text from low-quality directories triggers manual review and can result in penalties that harm the entire domain, not just the German subdirectory.
Measuring International SEO Success
In Google Search Console, filter the Performance report by country to see impressions and clicks per market. Comparing country-level data month-over-month reveals which markets are growing organically and which are stagnant. A market where impressions are rising but clicks are not may have a CTR problem — metadata or title tags not localized for local search intent.
For ranking tracking, use Ahrefs Rank Tracker with country-specific settings — a keyword that ranks #3 in Germany may rank #15 in France for the same query. Rank tracking by country makes this visible instead of averaging it away in a single global position.
Monitor hreflang errors in GSC under Enhancements — for sites that use sitemap hreflang, Google surfaces return-tag errors and non-200 alternate URLs as a separate report. These errors compound over time as pages are added or URLs change, so a monthly check prevents silent accumulation. For a deep dive into auditing and fixing these signals, see the hreflang implementation guide and the hreflang conflicts guide.