Geo-Redirects pour International SEO

Pourquoi automatic geo-redirects break international exploration and peut sabotage hreflang — Googlebot mostly crawls from the US, the discovery problem, the narrow homepage-only 302 exception, and Que faire à la place. From Patrick Stox.

Première publication : 2 juil. 2026 · Dernière mise à jour : 3 août 2026 · Advanced
Langues

A geo-redirect automatically sends a visitor to a emplacement- or language-specific URL fondé on IP, Accept-Language, or a cookie. My prendre après studying 374 756 domains: automated redirections fondé on cookies, IP, or navigateur language are généralement a bad idea. The échec mode la plupart guides miss is a discovery problem, pas simplement an indexation un — Googlebot mostly crawls from US IPs and doesn't send Accept-Language, so a redirection on votre entry point (usually the homepage) peut trap the robot d’exploration on the par défaut version and arrêter it from ever reaching the alternate-locale URLs votre hreflang tags point at. Geo-redirects are a serving mechanism; hreflang is the separate discovery signal — ils don't replace chaque autre, and a bad redirection actively sabotages hreflang. Google's propre prescription isn't 'redirection meilleur,' it's 'suggest, don't force': a banner or lien liste plus correct hreflang. The un narrow exception is a homepage-only 302 pour dynamic locale suggestion — but 16,9% of the domains I studied had hreflang pointing at redirigé or broken pages, qui signifie que exception goes incorrect constantly.

TL;DR — Geo-redirects and hreflang operate at différent layers: a geo-redirect is a serving decision, hreflang is a discovery signal. The core échec is a discovery problem, pas simplement an indexation un — Googlebot mostly crawls from US IPs and sends aucun Accept-Language, so a redirection on votre entry point peut arrêter it from ever reaching (and thus discovering) the alternate URLs votre hreflang points at. hreflang can’t rescue une URL the robot d’exploration jamais sees. Cloaking is a separate risk: même a entièrement compliant, non-cloaking redirection encore causes the discovery problem. Google’s prescription is “suggest, don’t force” (a banner/liens + hreflang). The un narrow exception is a homepage-only 302 pour dynamic locale suggestion — but in my study of 374 756 domains, 16,9% had hreflang pointing at redirigé or broken pages, qui is exactly ce exception going incorrect.

Evidence for this claim Google warns that language- or location-based rerouting can prevent it from finding site variations because Googlebot usually crawls from the US and does not send Accept-Language. Scope: Google Search crawling behavior for locale-adaptive pages. Confidence: high · Verified: Google: Managing multilingual sites Evidence for this claim Google recommends avoiding automatic language redirects and providing hyperlinks that let users and crawlers reach each language version. Scope: Google Search guidance for language switching and discovery. Confidence: high · Verified: Google: Let users switch language

Two mechanisms, two différent layers

Almost every geo-redirect mistake comes from conflating two choses que live at différent layers of the stack:

  • A geo-redirect is a serving decision: ce que do I montrer ce spécifique visitor, correct now, fondé on ce que I think I know à propos de les?
  • hreflang is a discovery/annotation signal: ce que alternate URLs exist pour ce content, so a moteur de recherche peut trouver les and swap in the correct un in its propre results?

Ils don’t substitute pour chaque autre. A geo-redirect changements ce que un visitor sees; hreflang indique moteur de recherches the alternates exist so ils peut serve the correct un at requête temps sans anyone forcing anything at serving temps. Si vous internalize un chose from ce article, faire it ce distinction — la plupart breakage flows from treating a redirection as si it were a discovery signal.

The core mechanical échec: discovery, pas simplement indexation

Here’s the partie la plupart competing content obtient slightly incorrect. It frames the risk as “your other pages won’t get indexed.” The sharper, plus accurate framing is que votre autre pages may jamais obtenir crawled — jamais même découvert — in the premier placer.

Google is explicit à propos de the causer. Its locale-adaptive pages doc dit que si votre site renvoie différent content fondé on the perceived country or preferred language of the visitor, “Google pourrait pas explorer, index, or rank tout votre content pour différent locales.” Pourquoi? Parce que Googlebot’s par défaut IPs apparaître to be in the USA, and the robot d’exploration sends HTTP requêtes sans setting Accept-Language.

Now trace que via a typical setup. Votre redirection logic fires on IP and/or Accept-Language, and it fires at the entry point — very souvent the homepage or root domain, qui is exactly lune page que carries (or liens to) votre hreflang annotations. Googlebot arrives looking comme a US visitor with aucun language preference, obtient redirigé to the US/par défaut version, and arrête. The seulement crawlable chemin to votre /de/ tree was gated behind que redirection. So:

  1. Googlebot jamais reaches the alternate-locale URLs.
  2. It therefore jamais discovers the hreflang annotations que voudrait have told it ceux URLs exist.
  3. hreflang tags on une page Googlebot can’t reach ne faites pashing.

hreflang assumes explorer accès. It doesn’t créer it. That’s the whole trap in un line.

Geo-redirects vs. cloaking: two separate risks

There’s a second risk ici que personnes constantly merge with the premier, and the merge produces bad advice. Treating Googlebot differently from a réel utilisateur in the même emplacement — dire, special-casing the Googlebot user-agent so it skips the redirection and sees everything — is cloaking, and it’s a guidelines violation. Google’s guidance on geo-distributed exploration is a consistency rule: Googlebot fait explorer from some non-US IP addresses en outre to US ones, and quand it apparaît to come from a donné country vous devez treat it exactly comme quelconque autre visitor from que country (block US Googlebot si vous block US utilisateurs; autoriser Australian Googlebot si vous autoriser Australian utilisateurs).

Here’s the partie worth its propre subsection: pas cloaking ne fait pas rescue vous from the discovery problem. A lot of writing dit “tant que vous don’t cloak Googlebot, geo-redirects are fine.” That’s incomplete. A entièrement compliant geo-redirect — où the bot and a same-location utilisateur obtenir identical treatment — encore traps Googlebot on the par défaut version si that’s où a US-looking requête lands. You’ve avoided a cloaking penalty and encore starved votre autre locales of explorer accès. Two separate problems; solving un doesn’t solve the autre.

And don’t over-read the geo-distributed exploration nuance as a fix. It’s a cloaking-consistency requirement, pas a promise que Google va reliably découvrir every locale by simulating every region. Google’s current doc encore leads with “Googlebot’s default IPs appear to be US-based” as the raison ce breaks — parce que that’s encore the raison.

Ce que Google officially recommends: suggest, don’t force

Google’s prescription isn’t “redirect more carefully.” It’s “don’t redirection — suggest.” Two lines from the multi-regional sites doc are the spine of the fix:

“Éviter automatically redirecting utilisateurs from un language version of a site to a différent language version of a site.” — Recherche Google Central

“Considérer ajout hyperlinks to autre language versions of une page. Que façon utilisateurs peut click to choisir a différent language version of lune page.” — Recherche Google Central

And on IP detection specifically, Google doesn’t mince words:

“Don’t utiliser IP analysis to adapt votre content. IP emplacement analysis is difficult and généralement pas reliable. Furthermore, Google may pas be able to explorer variations of votre site correctement. La plupart, but pas tout, Google crawls originate from the US, and we don’t attempt to vary the emplacement to detect site variations.” — Recherche Google Central

Parce que targeting is jamais perfect, Google aussi indique vous to plan pour the wrong-version visitor: “geotargeting isn’t an exact science, so it’s important to considérer utilisateurs who land on the ‘incorrect’ version of votre site. Un façon to do ce pourrait be to montrer liens on tout pages pour utilisateurs to select leur region and/or language of choice.” That’s the banner/link-list pattern, straight from the source.

Ce que Bing recommends — and pourquoi it’s arguably higher-stakes là

Bing doesn’t have a hreflang-equivalent to sabotage, so vous pourrait think it’s moins exposed. It’s the opposite. Bing leans on en réalité exploration the réel localized URLs and on the content-language meta tag/HTTP header plutôt que a declarative hreflang annotation. Fabrice Canel of Microsoft Bing has said hreflang is a far weaker signal que content-language at Bing (a point I dig into in the hreflang deep dive on ce site). The practical consequence: a geo-redirect que Bingbot can’t obtenir past is at least as damaging to Bing visibility as it is to Google’s — arguably plus, parce que Bing dépend on reaching and reading ceux localized URLs directement, pas on an annotation que pourrait in theory be découvert elsewhere.

The données: how souvent ce en réalité breaks

I don’t have to argue ce hypothetically. Pour my Brighton SEO 2023 talk, I studied hreflang à travers 374 756 domains (complet writeup on the Ahrefs blog). My blunt takeaway on ce exact topic: automated redirections fondé on cookies, IP, or navigateur language are généralement a bad idea. The numbers back it:

  • 16,9% of domains had hreflang tags referencing redirigé or broken pages — ce is essentially a direct measurement of how souvent sites’ redirection setups collide with leur propre hreflang.
  • 67% of the hreflang-using domains in the study had au moins un problème overall.
  • 56,3% were manquant x-default — the hreflang valeur designed autour the “qui version fait an unmatched visitor voir” problem (there’s a dedicated x-default article on ce site).

As I put it in the writeup: “Hreflang is complex and hard to obtenir correct. It peut break in so nombreux différent façons.” A geo-redirect is un of the la plupart reliable façons to faire it break.

The un narrow exception: a homepage-only 302

is a defensible pattern, and it’s narrow. A 302 (temporary) redirection on the homepage seulement, doing dynamic locale suggestion fondé on emplacement/language, has been a workable, long-used setup on nombreux sites. The raison it’s a 302, pas a 301: the “correct” destination is visitor-dependent — it changements per person, per session — so it’s pas a unique permanent target. A 301 declares un permanent destination, qui isn’t what’s happening ici. (Ce is industry pratique — mine and Ahrefs’ framing — pas a status-code recommendation Google publishes pour geo-redirects specifically.)

But the moment a redirigé URL montre up as a target à l’intérieur votre hreflang annotations elsewhere on le site, that’s a bug, pas a fonctionnalité — every hreflang target devrait resolve 200 directement, pas 3xx. Que 16,9% figure ci-dessus is largely ce exception going incorrect: sites running the homepage-302 pattern (or worse, sitewide redirections) and alors pointing hreflang at pages que redirection.

Que faire au lieu de a hard redirection

Put ensemble, the fix is a handful of moving parts:

  • Suggest, don’t force. A visible, dismissible banner/interstitial (“View the German site?”) que the visitor peut accept or ignore. Ce is Google’s recommended alternative to an automatic redirection.
  • Garder every localized URL directement crawlable and linkable. Réel <a href> liens to chaque version — a language/country switcher in the footer or header — so robots d’exploration reach every locale sans being redirigé away premier. (A switcher on its propre isn’t a fix si the redirection encore fires avant the robot d’exploration peut charger lune page.)
  • Pair it with correct, reciprocal hreflang so moteur de recherches peut determine and serve the correct version in results on leur propre. Every hreflang target resolves 200.
  • Utiliser x-default pour the “no explicit match” cas on a language-selector or auto-suggesting homepage — it noms ce que to montrer a visitor who matches none of votre tags. It solves the serving question pour unmatched visitors; it ne fait pas solve the crawl-access problem, so don’t lean on it as a rescue.

The connexe fundamentals ici — the language vs. country targeting distinction, the ccTLD / subdomain / subdirectory URL-structure choice, reciprocal hreflang, and x-default — tout sit in ce même international-SEO cluster and are worth reading alongside ce. La version courte: fix the explorer chemin premier, alors let hreflang and x-default do the serving.

Add an expert note

Pin an expert quote

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