International SEO

What international SEO actually is — language vs. country targeting, ccTLD/subdomain/subdirectory, hreflang at scale, how Bing differs, and what's deprecated — from Patrick Stox.

First published: Jun 25, 2026 · Last updated: Jul 25, 2026 · Advanced
demand #2 in International SEO#57 on the site

International SEO is making sure search engines understand which countries and/or languages your site targets, and serve the right version to the right user. It splits into two axes — language targeting vs. country targeting — and runs on three levers: URL structure (ccTLD/subdomain/subdirectory), hreflang, and on-page localization. My hard-won take from running this at IBM scale: hreflang is a hint, not a directive (its real payoff is version-swapping in the SERP, not indexing); manual hreflang fails at scale, so automate and monitor constantly; the ccTLD ranking boost is fading (Gary Illyes, July 2024); Google's GSC International Targeting report is gone (2022); and Bing leans on the content-language meta tag, not hreflang. For most sites I'd pick subdirectories and one page per language over a sprawl of per-country domains. Gate which markets you enter first on demand, eligibility, capacity, competition, and economics — and know that none of this guarantees indexing, rankings, traffic, or conversions; it just improves your odds.

TL;DR — International SEOInternational SEO is the practice of optimizing a site so search engines understand which countries and/or languages it targets, and serve the right version to each user. It spans URL structure, hreflang, and on-page localization. runs on two axes (language vs. country) and three levers (URL structureURL structure is how the parts of a web address — scheme, domain, path, query string, and fragment — are organized and formatted. It mostly affects crawling, usability, and how engines understand a page, not rankings directly., hreflangHreflang is an annotation (in HTML, HTTP headers, or XML sitemaps) that tells search engines which language and optional region a page targets, and which alternate versions exist. It only works when every page in the cluster references all the others., on-page signals). hreflangHreflang is an annotation (in HTML, HTTP headers, or XML sitemaps) that tells search engines which language and optional region a page targets, and which alternate versions exist. It only works when every page in the cluster references all the others. is a hint: its payoff is version-swapping in the SERP, not indexingStoring a crawled page in the search index so it can appear in results. Crawled is not the same as indexed — Google selects what to keep, and indexing isn't guaranteed., and Google will override it. The ccTLDCountry-code top-level domain like .de or .co.uk — a strong geotargeting signal. ranking boost — Google’s LDCP algorithm — is fading (Gary Illyes, July 2024). The GSCA free Google service that reports how a site performs in Google Search and surfaces problems with how Google crawls, indexes, and serves it. It's first-party data straight from Google — but you don't need it to appear in results. International Targeting report was deprecated in 2022. Bing leans on the content-language meta tag, treating hreflang as “a far weaker signal.” At enterprise scale, manual hreflang will fail — automate generation and monitor constantly. My defaults: subdirectories and one page per language. Gate market entry on demand, eligibility, capacity, competition, and economics before picking architecture — and none of this guarantees indexingStoring a crawled page in the search index so it can appear in results. Crawled is not the same as indexed — Google selects what to keep, and indexing isn't guaranteed., rankings, or traffic; it just improves the odds engines match locale versions correctly.

Two axes, not one

The single most useful distinction in this whole topic is that language targeting and country targeting are different things. Google’s own docs draw the line cleanly: “Multilingual websites are those that offer content in more than one language,” while “Multi-regional websites are those that explicitly target users in different countries.” You can need one, both, or neither.

Evidence for this claim Google distinguishes multilingual sites from multi-regional sites; a site can be both. Scope: Google Search guidance for sites serving multiple languages, countries, or regions. Confidence: high · Verified: Google: Managing multi-regional and multilingual sites

Gary Illyes put the trap bluntly: “The language is absolutely not a tell for what country you are targeting.” A French page could be for France, Canada, Belgium, or Switzerland. If you care about country, you have to signal country explicitly — a region code in your hreflang (fr-CA, not just fr) or a ccTLD. Language alone doesn’t do it. And the HTML lang attribute is no help: Illyes’ example was a site where “Joomla just came with the Lang attributeThe HTML lang attribute is a global attribute — most importantly set on the <html> element (<html lang=\"en\">) — that declares the natural language of THIS document's content using a BCP 47 language tag (en, es, en-US, pt-BR). It's distinct from hreflang, which points to alternate-language URLs. Google ignores lang for language detection; Bing uses it as a fallback targeting signal; and it drives accessibility (screen-reader pronunciation) and the browser auto-translate prompt. set to English… And then you looked at the page, and it was 100% German.” Engines learned long ago not to trust it.

None of this axis-mapping is a guarantee mechanism, and it’s worth saying plainly: getting the language/country distinction and the technical signals right can improve how well Google and Bing match locale versions to searchers, but it doesn’t promise indexing, rankings, traffic, conversions, a specific displayed locale, or citations in AI answers for any one page. The signal list below comes with its own documented limits on what does and doesn’t count.

Prioritize the market before you lock architecture

Before you commit to a URL structureURL structure is how the parts of a web address — scheme, domain, path, query string, and fragment — are organized and formatted. It mostly affects crawling, usability, and how engines understand a page, not rankings directly., gate the market itself — architecture is expensive to undo, and picking it before you know the market is worth entering is backwards. The practical checklist I use: search demand in that language/country, whether your product or service is actually eligible to sell or operate there, whether you have the operational capacity to support it (support, legal, payments, fulfillment), how competitive the market already is, and whether the unit economics work once you convert. Treat Ahrefs-style traffic and keyword-volume numbers as estimates for sizing and comparing markets against each other; treat your own Google Search ConsoleGoogle's free tool for monitoring crawling, indexing, and search performance. or analytics rows as observed first-party data once you’re already live somewhere similar. Skipping this gate is how teams end up with an expensive ccTLD in a market that was never going to convert. The international SEO keyword research page covers the market-by-market research workflow in depth.

Choosing your URL structure

This is the one architectural decision that’s expensive to undo, so it’s worth getting right. Google uses several signals to work out your target locale — ccTLD, hreflang, server location, and on-page signals like local addresses, phone numbers, currency, and local site linksSitelinks are extra links from the same domain that Google clusters together under a single search result, usually for branded or navigational queries. They're generated entirely algorithmically — there's no way to add, edit, or guarantee them. — but URL structure is the one you commit to in infrastructure.

Evidence for this claim Google supports locale-specific URLs and hreflang, and also considers ccTLDs and several page, server, and local-link signals when identifying an intended audience. Scope: Google Search locale guidance; these are signals rather than guaranteed targeting controls. Confidence: high · Verified: Google: Managing multi-regional and multilingual sites
StructureExampleUpsideDownside
ccTLDexample.deStrongest country signal; clear to usersExpensive; splits authority across domains; availability limited
Subdomainde.example.comEasy to set upOften treated like a separate site; weaker recognition
Subdirectoryexample.com/de/Consolidates authority under one domain; low maintenanceSingle host; weaker pure-geoGenerative Engine Optimization (GEO) is the practice of optimizing content and brand presence so AI-powered search engines and assistants — Google AI Overviews, ChatGPT, Perplexity — cite, recommend, or mention you when generating answers. Google's position is that it's still SEO. signal
URL parameterexample.com?loc=deNot recommended; hard to segment

My default for most sites is the subdirectory. It keeps all your authority under one domain instead of splitting it across separate ccTLDs, and it’s far less to maintain. John Mueller has said for years that “subdomains and subdirectories are essentially equivalent” from Google’s side, so the deciding factors are usually operational, not magical SEO ones — pick what fits your stack and your long-term plan. That’s practitioner guidance from running this at scale, not a universal Google ranking rule — Google’s own documentation lists tradeoffs for each option and doesn’t declare one structure the winner.

The big caveat is the ccTLD story. ccTLDs are still the strongest country signal — Google calls them “a strong signal… about the target country of a website” — but that advantage is shrinking. Gary Illyes, on Search Off the Record in July 2024, described the underlying mechanism and its decline: “One of the main algorithms… is called something like LDCP — language demotion country promotion… But nowadays… it doesn’t really make sense for us to like automatically apply that little boost because it’s ambiguous.” He went further: “I think eventually, like in years’ time, that [ccTLD benefit] will also fade away,” because “think about all the funny domain names that you can buy… It doesn’t say anything anymore about the country.” His practical advice matched mine — there’s still marketing value in a ccTLD, “but I would not worry too much about it” for ranking. Google has even been redirecting its own country ccTLDs to google.com.

hreflang: the core technical signal

hreflang is the workhorse of international SEO, and it’s the thing I’ve spent more time on than almost any other technical topic — it was one of my first contributions when I joined Ahrefs, editing our hreflang guide.

What it actually does. hreflang tells Google (and Yandex) which language/region a URL is meant for. Its real benefit is version-swapping in the SERP: a UK visitor can be shown your en-gb page even when the en-us page is what ranks, provided hreflang is set up correctly. When the tags are broken, that swapping just doesn’t happen. What hreflang does not do is guarantee indexing or override canonicalizationHow search engines pick one canonical URL among duplicates and consolidate signals onto it. — it’s one of roughly 19 canonicalization signals, not a trump card.

Three implementation methods, all equivalent: <link rel="alternate" hreflang="…" href="…" /> tags in the <head>; an HTTP Link: header; or <xhtml:link> entries in your XML sitemapAn XML sitemap is a UTF-8 file listing the canonical URLs on your site (with optional lastmod) so search engines can discover and prioritize them. It's a discovery and diagnostic aid, not a guarantee of indexing — and Google ignores its priority and changefreq tags.. There’s no inherent speed difference — the signals are checked at crawl time either way, so use whichever your stack generates most reliably. (On a mixed ccTLD-plus-.com setup, centrally-hosted XML sitemapsA sitemap is a file that lists the pages, images, videos, and other files on your site so search engines can discover them. It helps discovery, but submitting a sitemap doesn't guarantee crawling or indexing. are the usual way to manage cross-domain clusters.)

The golden rules:

  • Bidirectional / reciprocal. If page X points to page Y, Y must point back to X. hreflang works in clusters — a set of pages all referencing each other — and a cluster only forms when the links are reciprocal. This is also how signal-sharing works across the cluster: the strongest page can lift the others.
  • Self-referencing is best practice but, per Mueller, technically “optional.”
  • x-defaultx-default is the reserved hreflang value that points to a fallback URL — the page Google shows when a user's locale doesn't match any of your other hreflang tags. It is optional and does not mean \"English.\" is your fallback for users whose language/region doesn’t match any specific version.
  • Use real region codes. en-GB, fr-BE, zh-HansISO 639-1Two-letter language codes used in hreflang (en, es, de). language plus an optional ISO 3166-1 region. There are no EU, LATAM, APAC, or MENA region codes; you target individual countries (es-MX, es-AR, es-CO).

Common errors are everywhere. In the Ahrefs hreflang study I worked on — the largest ever done, across 374,756 hreflang-using domains — 67% had at least one issue. My honest reaction at the time: “I’m surprised the numbers weren’t worse… I suspect a lot of these sites have basic implementations.” The point stands: “Hreflang is complex and hard to get right. It can break in so many different ways.”

TIP Audit the deployed cluster, not just the template

When one locale can silently drop a return link or drift onto a redirect, check the live cluster with the returntag - hreflang checker Free

  1. Crawl the complete set of deployed locale URLs rather than reviewing one page in isolation.
  2. Find missing return tags, invalid codes, redirects, non-200 targets, and canonical conflicts that split the cluster.
  3. Route each finding to the locale owner and rerun the audit after deployment; the checker verifies observable implementation, not rankings or Google’s selected canonical.
A cluster can look mostly connected and still contain a broken pair. This result isolates the missing `fr-FR` return to `en-US`.

The returntag - hreflang checker sitemap-only result reads five URLs and 24 annotations across en-US, en-GB, fr-FR, de-DE, and x-default. It reports nine reciprocal pairs, one missing return, and zero broken targets. The graph shows the otherwise connected five-node cluster and highlights the one-way relationship from en-US to fr-FR. The issue states that https://example.com/fr-fr/ does not link back to https://example.com/en-us/, so the return tag is missing. The tool notes that sitemap-only mode does not fetch page head tags or HTTP Link headers.

hreflang is a hint, not a directive. This is the line people most need to internalize. As Mueller put it (Bluesky, May 2025): “hreflang doesn’t guarantee indexing… if they are the same (eg fr-fr, fr-be), it’s common that one is chosen as canonical.” And: “Often hreflang will still swap out the URL, but reporting will be on the canonical URL.” So Google may consolidate near-identical language variants, and your reporting will sit on whichever URL it picked as canonical.

Other signals — and the things Google ignores

Beyond hreflang and ccTLD, Google reads on-page localizationLocalization is adapting content for a specific target market — not just translating the words, but adjusting currency, formats, idioms, cultural references, local search terms, and trust signals so the experience feels native.: local currency, addresses, phone numbers, the language of the body text, and links from local sites. Two things it explicitly does not use: geolocation meta tagsMeta tags are HTML elements in a page's head that pass metadata about the page to search engines and browsers. For SEO only a few matter — the title element, the meta description, and the robots meta tag — while meta keywords and most others are ignored. (geo.position, geo.region, geo.placename) and IP-based location analysis, which it calls “not reliable.”

It helps to keep straight which job each signal is actually doing, because they get blended together constantly: language detection comes from the page’s visible content, not from code-level data or the URL — Google determines it by reading what’s actually on the page. Locale targeting (which country a page is for) is signaled by ccTLD, hreflang, server location, and the on-page cues above — though Google is explicit that server location alone “is not definitive.” hreflang does a narrower job than either of those: it maps alternate locale URLs to each other so the right one can be swapped into results; it does not declare a page’s language. And canonicalization is the separate decision about which URL actually gets indexed and ranked — hreflang feeds into it but doesn’t control it outright.

A trap to avoid: don’t auto-redirectA redirect sends browsers and crawlers from a requested URL to a different one. An HTTP redirect specifically is a 3xx status code paired with a Location header; meta refresh and JavaScript redirects achieve a similar navigation without being a 3xx response themselves. Permanent redirects (301/308) are Google's signal the target should be canonical; temporary ones (302/303/307) aren't. users by IP. Google’s guidance is to “avoid automatically redirecting users to a different language version based on their perceived geographic location.” Geo-redirectsA geo-redirect automatically sends a visitor to a location- or language-specific URL based on IP or browser signals — a UX/serving mechanism that's separate from, and can actively undermine, hreflang. trap the crawlerA crawler — also called a spider or bot — is an automated program that fetches web pages, extracts their links, and queues new URLs to visit. Search engines use crawlers to discover and download content for their index. in whatever locale it appears to originate from, so Google never sees your other versions — and in the EU, IP-based geoblocking can run into the Anti-Geoblocking Regulation. Use separate, stable URLs per language, keep them directly reachable (no locale-only paths that vanish once you leave the “right” region), and give users explicit links to switch language or region themselves rather than guessing on their behalf. Same reasoning kills cookie-based or Accept-Language-based content switching: Google recommends “using separate locale URL configurations” with hreflang instead of locale-adaptive pages, because GooglebotGooglebot is Google's web crawler — the software that fetches pages so Google can index and rank them. It comes in two variants, Googlebot Smartphone (primary, under mobile-first indexing) and Googlebot Desktop, and runs an evergreen Chromium renderer. doesn’t set Accept-Language headers by default and commonly crawls from US-based infrastructure — so a response that adapts based on perceived location or headers may simply never be seen in its other locales at all.

The GSC International Targeting report is gone

If a guide tells you to set your country target in Search Console, it’s out of date. Google deprecated the International Targeting report on September 22, 2022, stating the country-targeting feature “was determined to have little value for the ecosystem, and is no longer supported.” What replaced it? Nothing direct — country targeting is now inferred from ccTLD + hreflang + on-page signals + inbound links. The hreflang error data that used to live in that report is also gone from GSC, so you validate hreflang with a crawler now. Google did confirm it “will continue to support and use hreflang tags.” To check which version Google actually indexed for a page, use the URL Inspection tool.

How Bing handles this differently

This is where most guides either skip Bing or get it wrong — and I’ve had the benefit of being on a panel with Bing’s Fabrice Canel to hear it firsthand. Bing’s signal stack is genuinely different from Google’s. Canel’s own words: “hreflang is indeed a far weaker signal than content-language at Bing.”

Bing’s preferred signals, in rough priority order:

  1. <meta http-equiv="content-language" content="fr-FR"> — the content-language meta tag
  2. The Content-Language HTTP header
  3. ccTLD / server location
  4. Body-text language
  5. Locale of inbound linking pages

So the cross-engine recipe is: implement hreflang for Google, and add content-language meta tags for Bing. Bing will read hreflang, but treats it as weak. And unlike Google (which killed its own targeting report in 2022), Bing removed its GeoGenerative Engine Optimization — visibility inside AI answer engines. Targeting feature too — Fabrice Canel confirmed in September 2020 that it did not carry over to the redesigned Bing Webmaster ToolsMicrosoft's free portal for monitoring and improving how a site appears in Bing search — the peer to Google Search Console, plus IndexNow instant indexing, richer backlink data, and keyword volumes. Because Bing's index also feeds Microsoft Copilot, it doubles as a window into AI-search visibility., telling SEOs to use the content-language meta tag or HTTP header instead.

International SEO at scale

I ran international SEO at IBM, on one of the largest enterprise sites in the world — multiple CMSsA content management system (CMS) is software that lets users create, manage, and publish digital content — like blog posts and pages — without writing raw code. WordPress, Drupal, and Joomla are the most common open-source CMS platforms., multiple infrastructures, tens of millions of URLs. The single biggest lesson: manual hreflang management fails at scale. You cannot hand-curate reciprocal tags across millions of pages and multiple systems. What works:

  • Automate everything possible. Generate hreflang from a system of record — often middleware connecting your CMSs — rather than letting each team hand-write tags.
  • Check repeatedly. Problems emerge constantly; this is a constant crawl + alerts job, not a once-a-quarter audit. Expect breakage and build systems to catch it.
  • Watch for “head section breaks.” hreflang tags pushed into the <body> by malformed HTML are ignored — verify they’re in the rendered <head>.
  • Verify the indexed URL per locale with GSC’s URL Inspection, because hreflang’s effectiveness depends on which version actually got indexed, not just what your canonical tagA rel=\"canonical\" annotation — in the HTML <head> or an HTTP Link header — that tells search engines which URL is the preferred version of duplicate or near-duplicate content. says.

Architecturally, my preference at scale is one page per language rather than one page per country/locale — it produces fewer, stronger pages, enables dynamic personalization, and sidesteps a lot of hreflang complexity. Patience matters too: international changes move at the speed of crawl cycles, not at the speed your stakeholders want.

Where to go next

This hub is the map. Each subtopic below is its own deep dive:

Hreflang (its own section in the sidebar)

  • hreflang — the tag in full: the three implementation methods, clusters, reciprocity, common errors, and validation.
  • x-default hreflang — the fallback value for users whose language/region matches none of your versions, and where it actually helps.

Localization, content, and audits

  • translation vs. localization — why machine-translating pages isn’t the same as localizing for a market, and what Google’s auto-translation guidance means for you.
  • international SEO keyword research — researching demand market-by-market, where the same language differs by country (the classic “ibis” vs. “bin chicken” gap).
  • international SEO audit — how to crawl, validate, and debug hreflang clusters and locale signals across a multi-market site.
  • multilingual SEOMultilingual SEO is the practice of optimizing a website that serves content in more than one language so each language version is discoverable, indexable, and rankable in the right language's search results. It's about language, not geography — which makes it distinct from multi-regional SEO. — the language-targeting half of the discipline in depth.

Add an expert note

Pin an expert quote

New person? Create their unclaimed profile at /admin/experts/ → Pin a quote first.