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 structure and stick with it, set up hreflang 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 Console; 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 SEO hub is the concept grounding. 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 (ccTLD) —
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
Hreflang 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-default 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 hreflang and x-default hreflang — 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 localization adapts currency, examples, tone, and even which products you feature. The full treatment is in translation vs. localization. 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 Console 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-redirect 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 redirects. 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 URLs. 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 links.
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 structure: ccTLD (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) hreflang: self-reference, reciprocal return tags, x-default, valid ISO codes; HTML head, HTTP header, and XML sitemap are equivalent delivery methods — choose for your stack, sitemap scales best. (3) Localize, don’t machine-translate. (4) Geotargeting: the GSC International Targeting report was fully removed September 22, 2022 for all TLD types — there is no manual country target anymore; ccTLD + hreflang + 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-redirect by IP. (6) Near- identical regional variants: canonical + hreflang together, and Google may still consolidate them anyway. (7) Validate reciprocity, codes, x-default, and rendered-head placement before and after launch. Bing weights content-language over hreflang and appears to have removed its own Geo 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 SEO 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 SEO 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 parameters | 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 hub 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 hreflang.
- Valid ISO codes. Language codes (ISO 639-1) 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 sitemap. 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 sitemap is usually the most maintainable place to manage it centrally. The full tag mechanics live in hreflang.
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 localization 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. localization. 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 Console 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 Googlebot, 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-rendering 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
indexing 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 Geo Targeting feature appears to have been removed. The Geo Targeting control in the old Bing Webmaster Tools was not carried into the current UI. Bing’s public guidance now points to signaling geography via HTML meta tags / 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 structure: ccTLD (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.
- hreflang: self-reference, reciprocal return tags (the most common break),
x-default, and valid ISO codes (
en-gb, noten-uk). HTML head, HTTP header, and XML sitemap are equivalent — choose for your stack; sitemap scales best. - Localize, don’t machine-translate — adapt currency, examples, product mix; start from market keyword research.
- Geotargeting: the GSC 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 + hreflang + on-page signals + inbound-link locale.
- Switchers must be crawlable
<a href>links, never JS-only dropdowns, and don’t auto-redirect by IP or browser language. - Duplicate content: 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-default, 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 Geo Targeting feature — signal geography via meta tags/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-redirect” 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, sitemap).
- International SEO overview — the top-level guidance for multi-regional and multilingual sites.
- Locale-adaptive pages — dynamic serving, and why Googlebot crawls without an
Accept-Languageheader. - x-default hreflang for international pages (2013) — the original x-default 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 hreflang).
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 structure
- “Country-specific domains (ccTLDs) 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 — hreflang 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 hreflang 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 — geotargeting / GSC deprecation
- “The International Targeting report has been deprecated. Google will continue to support and use hreflang tags on your pages.” — Google Search Console 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-redirects
- “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 content 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 SEO 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 Geo 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 structure (decide once, apply everywhere)
- Chosen one structure — ccTLD, subdomain, or subdirectory — with a clear reason.
- Not using URL parameters for the locale (Google: “Not recommended”).
- Structure applied consistently across every market.
hreflang
- Each version’s set includes all versions, including itself (self-reference).
- Return tags are reciprocal — every X→Y also has Y→X.
- x-default 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 sitemap) and used consistently — they’re equivalent to Google; sitemap scales best.
Localization
- 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.
Geotargeting
- Not relying on a GSC country-targeting setting — it was removed in September 2022 and no longer exists.
- ccTLD (if any), hreflang, 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-redirect by IP or browser language.
Duplicate content
- 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-default 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 Tools geo 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 hreflang-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 hreflang’s role in global SEO.
On this site
- International SEO — the pillar hub, for the concepts behind every step here.
- International SEO audit — the post-launch diagnostic companion to this build checklist.
- hreflang and x-default hreflang — the tag in depth.
- Translation vs. localization — 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 localization-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 geo 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.