International SEO Checklist
A build-and-launch international SEO checklist — URL structure, hreflang, geotargeting after the GSC deprecation, crawlable switchers, and duplicate-content handling.
This is the build/launch checklist for a site that targets more than one country and/or language — the sequence to work through when setting one up, as opposed to auditing one that's already live. Decide your URL structure once and apply it consistently (ccTLD vs. subdomain vs. subdirectory; Google marks URL-parameter language switching 'Not recommended'). Implement hreflang with self-references, return tags, and x-default in whichever delivery method fits your stack — HTML head, HTTP header, and XML sitemap are equivalent to Google. Localize, don't machine-translate. Know that the GSC International Targeting report was fully removed in September 2022, so country targeting is now inferred from ccTLD + hreflang + on-page + link signals with no manual override. Make language/currency switchers real crawlable links, never JS-only dropdowns, and never auto-redirect by IP. Near-identical regional variants need canonical AND hreflang together, not canonical alone. Bing weights the content-language meta tag over hreflang and appears to have removed its own Geo Targeting feature.
TL;DR — If your site targets more than one country or language, there’s a short list of things to get right when you build it: pick one 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. and stick with it, set up 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. so each version points at the others (and back at itself), actually localize your content instead of running it through a translator, and make your language switcher a real clickable link — not a JavaScript dropdown. Don’t try to “set your country” in Google Search ConsoleA 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.; that setting was removed in 2022.
What this checklist is for
This is the checklist you work through when you’re setting up a site for more than one country or language — a build list, not a diagnosis. If your international site is already live and something’s off, the international SEO audit is the companion piece that walks you through finding what’s broken. For the why behind all of this, the 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. hub is the concept groundingGrounding is anchoring an AI model's answer to source documents it retrieves at the moment you ask — not to the patterns frozen into its weights during training. Retrieval-Augmented Generation (RAG) is the most common way to do it.. This page is the “do these steps, in this order” version.
1. Pick one URL structure — and be consistent
You have to decide how the different-country or different-language versions of your site are separated by URL. The three real options:
- Country-code domain (ccTLDCountry-code top-level domain like .de or .co.uk — a strong geotargeting signal.) —
example.de. The strongest signal to Google about which country you’re targeting, but you buy and manage a separate domain per country, and each one can only target one country. - Subdomain —
de.example.com. Easy to set up on the same site, but users can’t always tell it’s a German site from the URL alone. - Subdirectory —
example.com/de/. Easy to set up, low maintenance because it’s all one site. This is the most common default.
There’s a fourth option — putting the country in a URL parameter like
example.com?loc=de — and Google flatly labels it “Not recommended.” Don’t use it.
The point isn’t that one structure is “best.” It’s to pick one and apply it the same way everywhere. Consistency is what search engines (and your future self) rely on.
Evidence for this claim Google recommends distinct URLs for language versions and documents ccTLD, subdomain, and subdirectory structures while marking URL parameters as not recommended. Scope: Google Search international URL guidance. Confidence: high · Verified: Google: Locale-specific URLs2. Set up hreflang correctly
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 the tag that tells Google “here’s the German version of this page, the French version, the US-English version.” The rules that trip people up:
- Every version must list all the versions, including itself.
- The links have to be reciprocal — if the English page points at the German one, the German page has to point back.
- Add an 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.\" to say “if none of these fit the user, send them here.”
- Use the correct codes (language, and optionally region) — this is where most mistakes happen.
The deep dives on the tag itself are 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. and x-default hreflangx-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.\" — this is just the “don’t forget these four things” version.
3. Localize — don’t just translate
Running your English pages through machine translation and shipping them is the lazy version, and it reads like it. Real 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. adapts currency, examples, tone, and even which products you feature. The full treatment is in translation vs. 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.. Checklist item: don’t ship unedited machine translation.
4. Don’t look for a “country target” setting in Google Search Console
There used to be a setting in Search ConsoleGoogle's free tool for monitoring crawling, indexing, and search performance. where you could tell Google which country a section of your site was for. It’s gone — Google removed it in September 2022. Today, Google works out your target country from your ccTLD (if you have one), your hreflang, the signals on the page itself, and where your links come from. There is no button to press.
5. Make your language switcher a real link
However you let users switch languages or currencies, it has to be a real,
clickable link (<a href>) that Google can crawl — not a JavaScript-only
dropdown that changes the page without a real URL. And don’t force-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. people
based on their location or browser language; let them choose.
6. Watch out for duplicate content
If your US and UK pages are basically identical English, Google might see them as duplicates. The fix is canonical plus hreflang together — not canonical alone, which would make the regional version disappear from search entirely.
Want the sourced, prioritized version with Google’s exact wording, the Bing differences, and the validation steps? Switch to the Advanced tab.
Validate an international launch
Locale URL integrity
Test to run: Crawl one representative URL per template and locale without following redirectsA 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.. Expected result: Each returns 200, is indexable, and declares the intended self-canonical. Failure interpretation: Routing, robots, or canonical templates are suppressing a launch URL. Monitoring window: Before release, immediately after release, and through the next full crawl. Rollback trigger: A priority locale template becomes non-indexable or canonicalizes elsewhere unexpectedly.
Hreflang reciprocity
Test to run: Compare every declared alternate against the expected locale cluster, including self-references and return links. Expected result: All members publish the same valid cluster and target direct canonical URLsHow search engines pick one canonical URL among duplicates and consolidate signals onto it.. Failure interpretation: Generation drift or a missing market variant has broken the relationship graph. Monitoring window: At launch and after the next automated generation cycle. Rollback trigger: Missing returns or invalid targets affect a priority cluster.
Crawlable locale switching
Test to run: Disable JavaScript and follow the locale switcher from representative pages. Expected result: Normal anchor links reach every supported equivalent page without forced routing. Failure interpretation: Locale discovery depends on client-side behavior or geolocation. Monitoring window: During prelaunch QA and the first post-launch crawl. Rollback trigger: A locale cannot be reached through crawlable internal linksAn internal link is a hyperlink from one page on a website to another page on the same website. Internal links help search engines discover your pages and pass ranking signals (PageRank and anchor-text context) between them..
Market-specific rendering
Test to run: Review visible language, currency, formats, and local claims on a sample approved by the market owner. Expected result: The rendered page matches the intended language and market, not merely the source template. Failure interpretation: Translation or template variables are incomplete or assigned to the wrong locale. Monitoring window: Before launch and after any translation or pricing update. Rollback trigger: Material source-language residue, wrong pricing, or incorrect legal information reaches production.
Evidence for this claim Google recommends distinct URLs for language versions and documents ccTLD, subdomain, and subdirectory structures while marking URL parameters as not recommended. Scope: Google Search international URL guidance. Confidence: high · Verified: Google: Locale-specific URLs Evidence for this claim Google recommends hreflang for distinct language URLs, warns against automatic language redirects, and recommends crawlable links between versions. Scope: Google Search multilingual-site discovery and switching guidance. Confidence: high · Verified: Google: Managing multilingual versionsTL;DR — This is the build/launch sequence, not an audit. (1) 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.: ccTLDCountry-code top-level domain like .de or .co.uk — a strong geotargeting signal. (strongest country signal, one country each, most overhead), subdomain, or subdirectory (easiest, most common) — Google marks the URL-parameter approach “Not recommended.” Pick one, apply consistently. (2) 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.: self-reference, reciprocal return tags, 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.\", valid ISO codes; HTML head, HTTP header, and 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. are equivalent delivery methods — choose for your stack, sitemapA 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. scales best. (3) Localize, don’t machine-translate. (4) GeotargetingConfiguring a site or URL to target users in a specific country.: 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 fully removed September 22, 2022 for all TLD types — there is no manual country target anymore; ccTLD + 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 + link locale is what Google infers from now. (5) Switchers must be crawlable
<a href>links, never JS-only, and 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. by IP. (6) Near- identical regional variants: canonical + hreflang together, and Google may still consolidate them anyway. (7) Validate reciprocity, codes, 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.\", and rendered-head placement before and after launch. Bing weights content-language over hreflang and appears to have removed its own 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. Targeting feature.
How this differs from the audit
The international SEO audit is a diagnostic methodology — how you find what’s broken on a site that already has 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. live, complete with the cluster-graph tooling and my 374,756-domain hreflang study’s error breakdown. This checklist is the other half: the sequence I work through when setting up or reviewing a new build. So I’ll keep the hreflang error-frequency tables and tool walkthroughs over there and stay action-oriented here, and I’ll route conceptual depth to the 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. hub rather than re-deriving it.
Step 1 — Choose your URL structure
Google’s own documentation lays out the structures with explicit pros and cons, and it’s worth working from their table rather than folklore:
| Structure | Example | Pros (Google’s words) | Cons (Google’s words) |
|---|---|---|---|
| ccTLD | example.de | ”Clear geotargeting”; “Server location irrelevant" | "Expensive (can have limited availability)”; “Can only target a single country” |
| Subdomain + gTLD | de.example.com | ”Easy to set up”; “Easy separation of sites" | "Users might not recognize geotargeting from the URL alone” |
| Subdirectory + gTLD | example.com/de/ | ”Easy to set up”; “Low maintenance (same host)" | "Single server location”; “Separation of sites harder” |
| URL parametersThe `?key=value` data tacked onto the end of a URL after a question mark — used for tracking, sessions, filtering, sorting, and search — and one of the biggest sources of duplicate URLs and wasted crawling in SEO. | example.com?loc=de | — | “Not recommended” |
The ccTLD is still the strongest country signal Google has — its own doc says “Country-specific domains (ccTLDs) provide a strong signal to both users and search engines about the target country of a website.” But note the fourth row: the URL-parameter approach the brief for this topic sometimes gets described as a “gTLD + language param” option is, in Google’s own framing, the thing to avoid. Don’t put the locale in a query string.
A caveat on ccTLDs specifically: the automatic ranking benefit they once carried is being phased down (Gary Illyes has said as much — see the hubInternational 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. for the LDCP-fading discussion). ccTLD is still the clearest country signal, but don’t treat it as a guaranteed ranking edge. My own default, elsewhere on this site, is subdirectories for most sites — but the real rule here is decide once and apply it consistently, because inconsistency across signals is exactly what an audit later has to untangle.
Step 2 — Implement hreflang correctly
Four things, and then hand off to the deep dives:
- Self-reference. Each version’s hreflang set should list every version including itself. Google’s docs frame self-reference as part of the standard instruction; Mueller has separately called it “optional” in practice — so there’s real tension between the doc phrasing and his looser public statements. I include the self-reference because it’s cheap insurance and matches the documentation.
- Return tags (reciprocity). This is the one that actually breaks sets. Google: “If page X links to page Y, page Y must link back to page X. If this is not the case for all pages that use hreflang annotations, those annotations may be ignored or not interpreted correctly.”
- x-default. The fallback for users whose language/region you don’t explicitly cover. Depth in x-default hreflangx-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.\".
- Valid ISO codes. Language codes (ISO 639-1Two-letter language codes used in hreflang (en, es, de).) and optional region codes
(ISO 3166-1 Alpha 2).
en-ukis wrong; it’sen-gb. Wrong codes silently void the annotation.
Delivery method — pick one, be consistent. hreflang can live in the HTML head, an HTTP header (for non-HTML files like PDFs), or an 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.. Google treats all three as equivalent — there’s no speed or priority difference — so choose based on your stack. At scale, and especially for mixed ccTLD/subdirectory setups, the XML sitemapA 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. is usually the most maintainable place to manage it centrally. The full tag mechanics live in 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..
Checking that tags exist is not enough. Validate the locale cluster and every return relationship before and after launch.
Run the sitemap cluster with my free returntag - hreflang checker Free
- Load the launch sitemap set and confirm every intended locale and x-default node appears.
- Resolve missing returns, broken targets, and inconsistent cluster URLs.
- Rerun after deployment and verify page-head or HTTP Link annotations separately if the site uses them.
The 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 from fr-FR to en-US, and zero broken targets.
Step 3 — Localize, don’t just translate
One paragraph, because there’s a whole article on it. Machine-translating your existing pages and shipping them unedited is the failure mode. Real 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. adapts currency, units, examples, imagery, and product mix to the market — and often starts from market-specific keyword research rather than translating your existing keywords. Deep dive: translation vs. 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.. Checklist item: no unedited machine translation.
Step 4 — Geotargeting: what GSC can and can’t do anymore
This is where a lot of published checklists are simply out of date. The Google Search ConsoleGoogle's free tool for monitoring crawling, indexing, and search performance. International Targeting report — the setting where you could manually point a subdirectory or subdomain at a country — was deprecated on September 22, 2022, and it’s gone for every TLD type. Google’s notice: “The International Targeting report has been deprecated. Google will continue to support and use hreflang tags on your pages.” The reason given: the country-targeting setting “was determined to have little value for the ecosystem, and is no longer supported.”
So the framing you’ll still see — “ccTLDs are automatic, but subdirectories and subdomains need the manual GSC setting” — describes how it used to work, not a choice you have today. There is no manual country target anywhere in Search Console anymore. Google now infers geotargeting entirely from:
- the ccTLD, if you have one (still automatic, still the strongest signal);
- hreflang annotations;
- on-page signals — language of the visible content, currency, addresses, phone formats;
- the locale of your inbound links.
The checklist item is therefore not “set your country in GSC.” It’s “make sure your ccTLD, hreflang, on-page signals, and link locale all agree,” because agreement is what Google reads now that there’s no override.
Step 5 — Make switchers crawlable
Language and currency switchers have to be real, crawlable hyperlinks — not
JavaScript-only dropdowns or client-side route changes with no real href. Google’s
own guidance is explicit: “Consider adding hyperlinks to other language versions of
a page.” A switcher built as JS state with no crawlable link risks Google never
discovering the alternate versions through that path. (Google does render JS and
does crawl without setting an Accept-Language header, but a mechanism with no real
<a href> is the fragile case.)
And don’t force-redirect: “Avoid automatically redirecting users from one language version of a site to a different language version of a site.” Auto-redirecting by IP or browser language traps users (and 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., which crawls from the US) in the wrong version. Give everyone a visible, clickable path to every version and let them choose. This is the same JS-renderingTurning HTML, CSS, and JavaScript into the final visual page and DOM. risk the audit article documents for hreflang itself — same logic, applied to the switcher.
Step 6 — Handle near-duplicate content across variants
If you serve near-identical content in the same language for different regions —
the classic en-us / en-gb pages that are 95% the same — Google may treat them as
duplicates. The fix is canonical and hreflang together, per Google:
“pick a preferred version and use the rel="canonical" element and hreflang tags
to make sure that the correct language or regional URL is served to searchers.”
The nuance that matters: canonical alone would drop the regional version from
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. entirely — you need both. And even done correctly, Google may still fold
near-identical hreflang’d pages into one canonical and just swap the URL shown in the
SERP (Mueller has confirmed this for cases like fr-fr / fr-be). hreflang doesn’t
guarantee separate indexing; it helps serve the right existing version.
Step 7 — Validate before and after launch
Keep this short — the audit article has the full methodology and the nine-error breakdown from my hreflang study. The pre/post-launch essentials:
- Return tags present on every pair (the most common functional break).
- Valid language/region codes (ISO 639-1 / ISO 3166-1 Alpha 2).
- Self-reference present in each set.
- x-default present.
- Tags in the rendered
<head>, not injected mid-<body>by JS and not below the head where they’re invalid. - Verify the indexed URL per locale with GSC URL Inspection — confirm Google actually indexed the version you intended for that market.
Bing-specific notes
Two things diverge from Google:
- Bing weights the
Content-Languagemeta tag / HTTP header more heavily than hreflang. Fabrice Canel of Bing has put it directly: “hreflang is indeed a far weaker signal than content-language at Bing.” Bing does read hreflang — just weakly — and rounds out its country understanding with ccTLD, server location, body-text language, and inbound-link locale. If Bing is a meaningful channel, setcontent-languageexplicitly. - Bing’s own GeoGenerative Engine Optimization — visibility inside AI answer engines. Targeting feature appears to have been removed. The Geo Targeting control in the old 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. was not carried into the current UI. Bing’s public guidance now points to signaling geography via HTML 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. / HTTP headers instead. (I flag this as reported-not-certain — see the note under the Quotes tab — because the primary source resists automated verification. Either way, don’t build a checklist step around a Bing dashboard setting; use content-language and on-page signals.)
AI summary
A condensed take on the Advanced version:
- This is a build/launch checklist, not an audit — the setup sequence, with the diagnostic methodology handed off to the international SEO audit article.
- 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.: ccTLDCountry-code top-level domain like .de or .co.uk — a strong geotargeting signal. (strongest country signal, one country each, most overhead) vs. subdomain vs. subdirectory (easiest, most common). Google marks the URL-parameter approach “Not recommended.” Pick one, apply consistently. The automatic ccTLD ranking benefit is fading.
- 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.: self-reference, reciprocal return tags (the most common break),
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.\", and valid ISO codes (
en-gb, noten-uk). HTML head, HTTP header, and 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. are equivalent — choose for your stack; sitemapA 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. scales best. - Localize, don’t machine-translate — adapt currency, examples, product mix; start from market keyword research.
- GeotargetingConfiguring a site or URL to target users in a specific country.: 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 fully removed September 22, 2022 for all TLD types. There’s no manual country target anymore; Google infers it from ccTLD + 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 + inbound-link locale.
- Switchers must be crawlable
<a href>links, never JS-only dropdowns, and 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. by IP or browser language. - Duplicate contentThe same or very similar primary content reachable at more than one URL. There's no general duplicate content penalty — the real costs are possible signal dilution, the wrong URL getting chosen, and less-efficient crawling.: near-identical same-language regional variants need canonical + hreflang together — canonical alone suppresses the regional version — and Google may still consolidate them.
- Validate: return tags, codes, self-reference, 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.\", tags in the rendered
<head>, and confirm the indexed URL per locale via GSC URL Inspection. - Bing: weights content-language over hreflang (Canel) and appears to have removed its own GeoGenerative Engine Optimization — visibility inside AI answer engines. Targeting feature — signal geography via 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./headers.
Official documentation
Primary-source documentation from the search engines.
- Managing multi-regional and multilingual sites — the URL-structure pros/cons table, switcher hyperlink guidance, the “avoid 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.” rule, and duplicate-content handling.
- Tell Google about localized versions of your page (hreflang) — return-tag requirement and the three equivalent delivery methods (HTML, HTTP header, sitemapA 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.).
- International SEO overview — the top-level guidance for multi-regional and multilingual sites.
- Locale-adaptive pages — dynamic servingA mobile configuration where the server returns different HTML/CSS from the same URL depending on the requesting user-agent (desktop vs. mobile), signaled with the Vary: User-Agent header., and why 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. crawls without an
Accept-Languageheader. - x-default hreflang for international pages (2013) — the original 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.\" announcement.
- International Targeting report deprecated — the September 2022 removal of the manual country-targeting setting.
Bing / Microsoft
- Bing Webmaster Guidelines — Bing’s stance on language/region signals (content-language weighted over 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.).
Quotes from the source
On-the-record statements. Each Google link is a deep link that jumps to the quoted passage on the source page.
Google — 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.
- “Country-specific domains (ccTLDsCountry-code top-level domain like .de or .co.uk — a strong geotargeting signal.) provide a strong signal to both users and search engines about the target country of a website.” — Google Search Central, Managing multi-regional and multilingual sites. Jump to quote
- On the URL-parameter approach: “Not recommended.” Jump to quote
Google — 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. return tags
- “If page X links to page Y, page Y must link back to page X. If this is not the case for all pages that use 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. annotations, those annotations may be ignored or not interpreted correctly.” — Google Search Central, Tell Google about localized versions of your page. Jump to quote
Google — geotargetingConfiguring a site or URL to target users in a specific country. / 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. deprecation
- “The International Targeting report has been deprecated. Google will continue to support and use hreflang tags on your pages.” — Google Search ConsoleA 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. Help. Read the notice
- The country-targeting setting “was determined to have little value for the ecosystem, and is no longer supported.” Read the notice
Google — switchers and auto-redirectsA 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.
- “Consider adding hyperlinks to other language versions of a page.” Jump to quote
- “Avoid automatically redirecting users from one language version of a site to a different language version of a site.” Jump to quote
Google — duplicate contentThe same or very similar primary content reachable at more than one URL. There's no general duplicate content penalty — the real costs are possible signal dilution, the wrong URL getting chosen, and less-efficient crawling. across regions
- “pick a preferred version and use the
rel="canonical"element andhreflangtags to make sure that the correct language or regional URL is served to searchers.” Jump to quote
Bing — hreflang vs. content-language
- “hreflang is indeed a far weaker signal than content-language at Bing.” — Fabrice Canel, Bing (via Search Engine Roundtable). Read the coverage
Notes: (1) The Google URL-structure pros/cons (“Clear geotargeting,” “Not recommended,” etc.) and the delivery-method equivalence are stated in the linked docs but were captured via fetch-tool extraction rather than byte-exact anchors — treat the deep links as high-confidence and spot-check against the live page before relying on any single phrase. (2) The Fabrice Canel content-language line is reused from this site’s 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. hub, where it was previously deep-linked; Search Engine Roundtable resists automated re-fetching, so confirm it in a browser if you’re re-verifying. (3) The claim that Bing removed its 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. Targeting feature is reported (Search Engine Roundtable / WebNots) but not verified verbatim here, so it’s paraphrased in the Advanced tab rather than quoted. (4) John Mueller’s remark that hreflang self-reference is “optional” and his comments on same-language regional pages being folded into one canonical are paraphrased from public posts, not quoted.
The international SEO checklist
Work top to bottom when you’re building or reviewing a new international setup. Link targets go to the deep dives where you’ll need more than a checkbox.
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. (decide once, apply everywhere)
- Chosen one structure — ccTLDCountry-code top-level domain like .de or .co.uk — a strong geotargeting signal., subdomain, or subdirectory — with a clear reason.
- Not using URL parametersThe `?key=value` data tacked onto the end of a URL after a question mark — used for tracking, sessions, filtering, sorting, and search — and one of the biggest sources of duplicate URLs and wasted crawling in SEO. for the locale (Google: “Not recommended”).
- Structure applied consistently across every market.
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.
- Each version’s set includes all versions, including itself (self-reference).
- Return tags are reciprocal — every X→Y also has Y→X.
- 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.\" present for the fallback audience.
- Valid ISO codes — language (639-1) and optional region (3166-1 Alpha 2);
e.g.
en-gb, noten-uk. - One delivery method chosen (HTML head / HTTP header / 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.) and used consistently — they’re equivalent to Google; sitemapA 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. scales best.
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.
- Content is localized, not unedited machine translation.
- Currency, units, examples, and product mix adapted per market.
- Keywords come from market-specific research, not translated source keywords.
GeotargetingConfiguring a site or URL to target users in a specific country.
- Not relying on a 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. country-targeting setting — it was removed in September 2022 and no longer exists.
- ccTLD (if any), 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, and inbound-link locale all agree.
Switchers
- Language/currency switcher is a real crawlable
<a href>link, not a JS-only dropdown. - No forced 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. by IP or browser language.
Duplicate contentThe same or very similar primary content reachable at more than one URL. There's no general duplicate content penalty — the real costs are possible signal dilution, the wrong URL getting chosen, and less-efficient crawling.
- Near-identical same-language regional variants use canonical + hreflang together (not canonical alone).
Validate (before and after launch)
- Return tags, valid codes, self-reference, and 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.\" all present.
- hreflang tags render in the
<head>, not injected mid-body by JS. - Indexed URL per locale confirmed via GSC URL Inspection.
- Full post-launch diagnosis routed to the international SEO audit.
Bing
-
Content-Languagemeta tag / HTTP header set (Bing weights it over hreflang). - Geography signaled via meta/HTTP, not a 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. geoGenerative Engine Optimization — visibility inside AI answer engines. setting.
Test yourself: International SEO Checklist
Five quick questions on setting up an international site correctly. Pick an answer for each, then check.
Resources worth your time
My related writing and talks
- The largest-ever hreflang study — my study of 374,756 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.-using domains, where 67% had at least one issue. The empirical case for why validation belongs on this checklist.
- Hreflang Tags: The Easy Guide for Beginners — the tag walkthrough I edited at Ahrefs.
- International SEO: The Weird Technical Parts — Pubcon Vegas 2019 — the edge cases that break international setups.
- You’re Going To Screw Up International SEO — Pubcon Vegas 2017 — the “everything that goes wrong” tour.
- Hreflang Study and Interesting Issues — BrightonSEO 2023 — the deck behind the study.
- International SEO Simplified — Outspoken Media panel — a panel with Bing’s Fabrice Canel and Bill Hunt on 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.’s role in global SEO.
On this site
- 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. — the pillar hub, for the concepts behind every step here.
- International SEO audit — the post-launch diagnostic companion to this build checklist.
- 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. and x-default hreflangx-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.\" — the tag in depth.
- Translation vs. 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. — Step 3 in full.
Official
- Google — Managing multi-regional and multilingual sites.
- Google — hreflang / localized versions.
- Google — International Targeting report deprecated.
From around the industry
- 10 International SEO Best Practices + Checklist (Ahrefs, Jamie Grant & Despina Gavoyannis) — a thorough competing checklist (not mine — worth reading alongside this one).
- International SEO Checklist (Lokalise) — a 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.-vendor take structured around market launch stages.
- International SEO: How to Optimize Your Website (Semrush) — a broad walkthrough of the same fundamentals.
- Bing Webmaster Tools Drops Geo-Targeting Feature (Search Engine Roundtable) — the reported removal of Bing’s 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. setting (see the Quotes-tab caveat on verification).
Build-time retrieval analysis plus live signals for this exact article. The automatic chunk report includes a deterministic readiness score and is ready without a model download.