I have 5 language on my website

  • example.com (main page on English)
  • example.com/esp (Spanish)
  • example.com/ger (Germany)
  • example.com/ru (Russia)
  • example.com/it (Italy)

What the best way to redirect users from one language to another? The system of my website determines the language of the browser and redirects visitors. But if I use 301 redirect its very bad for SEO (domain gluing or cloaking). I need good solution for SEO and Users.

p.s. From google docs. 302 redirect is for temporary solutions. 301 for permanent. respectively, neither 301 nor 302 is suitable. What are other options?


2 Answers 2


You shouldn't redirect. You say "The system of my website determines the language of the browser", but you need to look into that more. It is not as reliable as you think. It is certainly not reliable enough to redirect.

There are two ways to determine the language of the user:

  • Use the Accept-Language header which usually comes with a language and country, and a list of languages like fr-CH, fr;q=0.9, en;q=0.8, de;q=0.7, *;q=0.5.
  • Use the IP address to get an idea of where the user is so that you know what language they speak there.

Neither of these is right all the time. In fact they are both wrong for up to 10% of users.

Accept-language limitations

Most users don't know how to set up their browser to send their language preferences properly. They tend to us the default settings that come with their browser. This is especially problematic for non-English speaking users. Browsers often default to English because they are developed by English speakers. Users may know just enough English to get by with English UI, but would much prefer their native language.

There are also cases where a user is borrowing a computer from a friend, or using an internet cafe. The header is going to be just plain wrong in these cases.

In some cases, a browser or a bot may not send the Accept-Language header at all. There are cases in which you will get no information about which language is preferred from this method.

Geo-IP identification limitations

Databases that find a users location based on IP address are inaccurate. They get the user in the wrong location (maybe even the wrong country) some of the time.

There is also the issue that knowing the users location doesn't necessarily indicate the language spoken. Some places speak more than one language. For example parts of Canada speak both English and French. People also travel. Just because you are in France, it doesn't mean that you speak the language. You may just be visiting.

What do do instead

Instead of redirecting, it is better to put a prominent notice on the page. For example when the Accept-Language header indicates than the user has a 90% affinity for English (en;q=0.9) you could put a notice written in English on pages in any other language:

This page is currently in French, but it looks like you would prefer the English version of this page.

View the English Version

That way there is no SEO issue with redirects and users can still read the language they land on if the language identification is incorrect.

  • What use think about rel canonical and alternative? Nov 9, 2019 at 15:31
  • rel=canonical should not be used between different languages. Search engines consider it different content. rel=alternative can help search engines show the right pages to users in their preferred languages. Neither helps a user who is on the page, they are only meta data user by search engines. Nov 9, 2019 at 17:28

For multi-lingual site, it may potentially violate google penalty of redundant content as it contains multiple versions with slight variant. Such issue may impact your SEO severely.

Regarding to SEO issue, it's important to tell google your multi-lingual site structure. Thus, in google search engine result, it only ranks the relevant pages for each individual regions. Users can only see relevant pages in google search engine result; it helps increase customer conversion rate. You can use hreflang tag indicating different pages for different targeted languages. For example,hreflang tag indicates the following URL links for by default language, German, and French.

<link rel="alternate" href="http://example.com/" hreflang="x-default" />
<link rel="alternate" href="http://example.com/de/" hreflang="de" />
<link rel="alternate" href="http://example.com/fr/" hreflang="fr" /> 

Come to redirecting visitors to localized language webpage, you may use GEO location tools which auto direct visitors based on their IP geolocations. To prevent potentially routing errors when users' language cannot he simply converting from countries, it provides auto pop-ups letting users choose preference, and auto save the user's selection for future visit.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.