Skip to content

Module 04 · Technical SEO · Guide 7 of 9

International SEO

International SEO done right: hreflang rules, URL structures for languages and regions, locale crawling pitfalls and translation at scale in 2026.

By Updated 4 min readIntermediate

What you'll learn

  • Separate language targeting from country targeting and pick a URL structure for each.
  • Implement bidirectional hreflang with x-default in Next.js metadata, sitemaps or headers.
  • Avoid IP redirects, cookie-only locales and cross-locale canonicals that hide variants from Google.
  • Judge when machine translation helps and when it becomes scaled content abuse.

Serving multiple languages or countries multiplies your pages, and your ways to fail. International SEO is the architecture that ensures the right variant ranks for the right audience, without the variants competing against or duplicating each other. Site Architecture introduced hreflang; this guide is the full treatment.

Language targeting vs. country targeting#

Two different problems, often conflated:

  • Language targeting: one site, multiple languages (/en/, /de/): serve users in their language wherever they are
  • Country targeting: distinct offerings per market (prices, stock, legal): example.de or /de-DE/ should win in Germany even against your own /en-US/

Decide which you're doing per section before touching URLs; the machinery below serves both but is configured differently.

URL structure options#

StructureExampleTrade-offs
Subdirectoriesexample.com/de/One domain's authority shared; easiest to maintain; the usual default
Subdomainsde.example.comLooser authority sharing; sometimes forced by infrastructure
ccTLDsexample.deStrongest country signal + local trust; splits authority across domains entirely

hreflang, properly#

hreflang annotations tell engines which URL serves which language/region, preventing wrong-locale rankings and cross-locale duplicate clustering:

app/[lang]/blog/[slug]/page.tsx (metadata excerpt)
export async function generateMetadata({
  params,
}: PageProps<"/[lang]/blog/[slug]">): Promise<Metadata> {
  const { lang, slug } = await params;
  return {
    alternates: {
      canonical: `https://example.com/${lang}/blog/${slug}`,
      languages: {
        "en-US": `https://example.com/en/blog/${slug}`,
        "de-DE": `https://example.com/de/blog/${slug}`,
        "fr-FR": `https://example.com/fr/blog/${slug}`,
        "x-default": `https://example.com/en/blog/${slug}`,
      },
    },
  };
}

The rules that, when broken, silently void the whole setup:

  1. Bidirectional and self-referencing: every variant lists all variants including itself, identically. One-way annotations are ignored.
  2. Fully qualified URLs (including https://), pointing at canonical, indexable, 200 pages. hreflang to redirects or noindexed pages is discarded.
  3. x-default names the fallback for unmatched users (often your English page or a language selector).
  4. Codes are ISO 639-1 language + optional ISO 3166-1 region: de, de-AT, pt-BR. There is no en-EU; region codes are countries.
  5. hreflang doesn't consolidate signals: variants rank on their own merits; it only fixes which variant shows where.

Google accepts hreflang in three places: HTML <link> tags (above), the Link HTTP header (useful for PDFs) and XML sitemaps (each URL listing its alternates). For very large sites, sitemaps scale better than per-page tags. Pick one method per URL set so you don't maintain conflicting copies.

There is no country-targeting setting any more: Search Console's International Targeting report was retired in 2022, so ccTLDs, hreflang and locally relevant content are the signals you control.

Translation and duplication#

  • Same language, different regions (en-US vs en-GB) with near-identical content is legitimate: hreflang exists exactly for this; engines cluster them and show the right one. Don't canonicalize one region to another unless you want only one indexed.
  • Translate, don't mirror: titles, meta, slugs, schema and internal anchors all need localization. Half-translated templates ("Buy now" buttons in English on the German page) erode quality signals and conversions equally.
  • Machine translation at scale without review is risky on two fronts: quality verdicts from engines, and brand damage from wrong terminology. On 2025-06-11 Google removed its old advice to block auto-translated pages with robots.txt and now points to the scaled content abuse policy instead: translated pages are judged on the value they add, like any other page. Human-reviewed machine translation is the workable middle (see AI-Assisted Content Without Penalties).
  • Local keyword research beats translated keyword research. Germans don't search a literal translation of the English head term ("mobile phone" → "Handy"). Re-run the research process per market.

Results differ by market in 2026#

International SEO is no longer only about which URL ranks. The results page itself varies by country:

  • AI Mode expanded to more than 200 countries and territories and 35+ additional languages on 2025-10-07, so AI answers are now built in your users' languages. Native-language content you want cited has to exist and be crawlable (SEO for AI Mode & AI Overviews).
  • Discover got its first Discover-only core update in February 2026 (US English first). One stated goal is showing more locally relevant content from sites based in the user's country.
  • EEA, South Africa and Türkiye have regional SERP features (aggregator and supplier units, ecosystem carousels) documented by Google on 2026-09-08 in Regional differences in Search experience. Check SERPs from inside each market, not from your office.

Common failure patterns#

✗ Auto-redirecting by IP            Googlebot (US IPs) never escapes /en/;
                                    users can't reach other variants either.
                                    → suggest, don't force (dismissible banner)
✗ hreflang to noindexed pages       annotations silently dropped
✗ Canonical across locales          /de/ canonicalized to /en/ deindexes German
✗ One sitemap, no alternates,       slow/incomplete locale discovery
  no hreflang
✗ Translated content, untranslated  duplicate-looking head data across locales
  titles/meta

Validate with a crawler's hreflang report (Screaming Frog checks reciprocity automatically) after every locale launch: international setups break quietly when templates change.

Next: Mobile-First Indexing, making sure the version Google actually crawls is complete.

Check your understanding

0 of 4 answered

  1. 1.Your site redirects every visitor to a locale based on IP address. Why is this a problem for Google specifically?
  2. 2.The /de/ page lists hreflang alternates for en, de and fr, but the /fr/ page has no hreflang tags. What happens?
  3. 3.A team wants to canonicalize all /de/ pages to their /en/ equivalents to consolidate authority. What is the result?
  4. 4.You plan to machine-translate 20,000 product pages into eight languages with no review. Which statement reflects Google's current guidance?

Sources

Primary documentation this guide was checked against, last reviewed 5 October 2026.

  1. Managing multi-regional and multilingual sites · Google Search Central
  2. Tell Google about localized versions of your page (hreflang) · Google Search Central
  3. How Google crawls locale-adaptive pages · Google Search Central
  4. Spam policies for Google web search (scaled content abuse) · Google Search Central
  5. Latest Google Search documentation updates (2025-06-11 auto-translation entry) · Google Search Central

Spotted something wrong or outdated? Report itHow we review

Finished reading?

Mark it complete to track your progress. Saved in this browser, no account needed.