1

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)

The question is what the best way to redirect users from one page language to another? The system of my website determines the language of the browser and redirects to it. 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 other options?

1

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? – imba Agency Nov 9 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. – Stephen Ostermiller Nov 9 at 17:28

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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