You can redirect visitors to a translation of your site based on where they are, but in most cases you should not do it automatically. Google advises against redirecting users from one language version to another, because the redirect can keep people and Googlebot, which crawls mostly from US addresses, from ever seeing your other versions. In the EU, a business may not send customers to a version of its site made for another country without their explicit consent. What works better: give every language its own address, connect the versions with hreflang so Google shows each searcher the right one, and let visitors choose, with at most a banner that suggests their language.

Below: why automatic redirects backfire, what to use instead, the rules to follow if you still redirect, and how each option works on a WordPress site.

Why automatic geolocation redirects backfire

  • Location is not language. An IP address tells you roughly where a device is, not what its owner reads. Travelers, expats, people on a VPN or a company network, and anyone in a country with more than one language, such as Canada, Belgium or Switzerland, break the guess. Google calls IP location analysis “difficult and generally not reliable”, and Cloudflare, which offers it to every site it serves, calls it “an estimate, not an exact science”.
  • Google may never see your other versions. Most Google crawls come from the US, Google does not vary the location to look for different versions, and its crawler sends no preferred language with its requests. A site that redirects by location or browser language may show Googlebot one version only.
  • EU rules ask for consent. Under the EU’s geo-blocking regulation, a business may not redirect a customer to a version of its site meant for another country because of the customer’s nationality or place of residence, unless the customer explicitly agrees. Even then, the version the customer first asked for must stay easy to reach.
  • It slows the first visit. Every redirect adds a round trip before the page appears, and a redirect done in JavaScript loads the page twice. A redirect decided on the server also clashes with page caching, because a cached page is the same for everyone.

What Google recommends instead

  1. A separate address for each language, such as example.com/de/ or de.example.com, instead of one address that changes language with a cookie or the browser’s settings.
  2. hreflang links between the versions, in the page head, in HTTP headers or in the sitemap. Each version lists itself and all the others, and an x-default entry names the page for everyone else, such as a language selector. With hreflang, Google itself shows a German-speaking searcher the German page, with no redirect at all.
  3. Visible links to the other languages on every page, so a visitor who lands on the wrong version can switch in one click.
  4. Explicit signals for countries, not IP analysis. Google’s own advice for geotargeting is to use locale-specific URLs and hreflang, and it says plainly: “Don’t use IP analysis to adapt your content.”

A language banner: the suggestion that does no harm

If you want to help visitors who land on the wrong language, suggest it instead of forcing it. A small banner, in the visitor’s likely language, says the page is also available in it and links to that same page. Show it only when the page has that translation, let the visitor close it, and remember the choice so it does not come back on every page. People and Google still see every version, and nobody is moved without asking.

If you still redirect, follow these rules

  • Redirect only on the home page or a neutral entry page, never on the deep pages people reach from search results and links. Mark that page as x-default in your hreflang links, as Google suggests for home pages that redirect.
  • Use a temporary redirect (302 or 307). Google shows the source page of a temporary redirect in its results and the target of a permanent one, and a language redirect is not a permanent move.
  • Send people to the same page in the other language, not to the other version’s home page, and only when that translation exists.
  • Remember the choice. Once a visitor picks a language, never redirect them again.
  • Do not make an exception for Googlebot. Google’s spam policies treat showing search engines different content than users, to manipulate rankings, as cloaking. hreflang already lets Google find every version.
  • In the EU, ask first. Show the suggestion and redirect only when the visitor accepts it, with the original version one click away.

Looking for a Results-Driven Marketing Agency?

Get measurable results within your budget.
 

How it works on a WordPress site

  • WPML can redirect by browser language, not by location. The feature is off by default. If you turn it on, choose “Only redirect visitors if translations exist”; “Always redirect visitors” sends people to a home page when the page they asked for has no translation. WPML runs this redirect in JavaScript, once, then again after 24 hours, which makes the first page load twice, and its own documentation warns that Google follows JavaScript redirects and may conclude your content has moved to the other language. WPML has no IP-based redirect of its own.
  • Geolocation plugins look up each visitor’s IP address in a location database. Before installing one, check how it works with your page cache: a redirect decided in PHP never runs when the cache serves a stored page, unless the plugin works in the browser or the cache keeps a copy per country.
  • At the CDN. Cloudflare’s IP geolocation setting, available on every plan, adds a CF-IPCountry header with the visitor’s country to the requests that reach your server, and Cloudflare’s own rules can match the country too, so a redirect decided there runs before any page cache. Cloudflare itself calls this location an estimate and advises against using it as the only signal for decisions that must be right.

On the multilingual WordPress sites we build, including our own in English, Romanian and Russian, we use WPML with each language in its own folder, hreflang for every translated page and a language switcher on every page that leads to the same page in the other language. We leave automatic redirects off: the switcher and Google’s own language matching do the work. Our guide to building a multilingual website in WordPress walks through that setup step by step. If you are planning a multilingual site or one that serves several countries, that setup is part of our web development work.

Frequently asked questions

Do geolocation redirects hurt SEO?

They can. If Googlebot, crawling from the US, is always sent to one version, Google may not find or index the others. With separate addresses, hreflang and visible links between versions, Google finds every version without any redirect.

Should a language redirect be a 301 or a 302?

A temporary one, 302 or 307. A permanent 301 tells Google the target should replace the original address in its results, which is not true when the target depends on who is asking.

Is the browser’s language a better signal than location?

Yes. Browsers send the user’s preferred languages with every request, which says more about what a person reads than an IP address does. Googlebot sends none, so a site that relies on it still needs hreflang and visible links for Google to see every version.

Can a language banner replace the redirect completely?

For most sites, yes. It gives visitors the same shortcut, moves nobody without a click, and leaves every version visible to Google.

Sources