I would like to understand what is the best system for a multilanguage website
I have website with this structure domain.net/en domain.net/de domain.net/it
If a user or a search engine accceses directly domain.net then the system would detect the language and redirect them to the most appropriate website version.
The system uses Geo IP to detect the location of the user, it also uses the browser languages and it sets cookies and sessions (if user has previously accessed the website and set the language)
My question is relative to the redirect. Would such a system be fine?
At the moment if the system detects the user as "english" it redirects them with header 301 (permanently moved) If the system detects the users as italian or german it redirects them using header 302 to the corresponding subfolder
If you redirect all traffic based on geo-IP, then googlebot will only see your English content -- because it crawls from California IP addresses. In addition, anyone who is traveling, or who would prefer to see a different language than their IP indicates, will also have a poor user experience.
In my opinion, it is better to allow the user to decide which language version they see. And that kind of arrangement certain works better for Google indexing.
ok... the geo IP was working only if the system couldn't get any information from the browser language headers
I have already removed the geo IP functionality, I understand that it's not practicable
What about the following solution? I use the domain.net/index.php to detect the language using browser language headers If the language is italian I redirect to the /it subfolder using a 302 Found header If the language is german I redirect to the /de subfolder using a 302 Found header If the language is anything else I redirect to the /en subfolder using a 301 Moved Permanently (google would see this one as they don't send any language headers if I am correct)
Also Google would crawl in any case all other languages as there are textual links to let users switch language on each page
What do you think? Would it still be wrong?
At the moment I see italian pages indexed on Google UK... I really want to avoid this
As long as the text links are present and always honored - never redirected - that will probably work out OK. But I've seen so many issues over the years with automated language detection that I recommend constant vigilance no matter what system you use.
For example, in the future, googlebot may not always crawl from California IP addresses - there have been a few hints in that direction in recent months. If they start crawling from a German IP address, for example, then the 302 redirect might mean that your domain root gets displayed as a German site. That event could cascade into lost rankings in the US - and so on. So definitely stay watchful whenever language detection is automated, no matter what methods you are using.