Hey Philipp
Okay, SEO aside here and assuming folks are landing on your site and not on the section of the site that is targeted to their location / language (which is a whole other discussion but not your question as far as I can tell) then you want to redirect these users to the correct language pages.
So, we have two options here:
- HTTP 301 - Moved Permanently: Now I don't feel this is correct. The resource has not moved, it is just not correct for this user based on their language preference.
- HTTP 302 - Found: This is used to indicate the resource has temporarily moved to another location so is maybe more suitable as results from page A will not be completely ignored
In fact, if you dig into the HTTP status codes documentation a better option here would seemingly be a 303 which is classified as 'The response to the request can be found under another URI' and for my money that is more suitable. But, problem is, no one seems to use the 303 redirect and everyone seems to use the 302 in it's place.
So, I ask myself, what does Google do? When I visit www.google.com from the UK I am always redirected to the www.google.co.uk site. Is this a 301, 302, 303 or something else entirely? So, I checked quickly in webbug (or you can do it Chrome by looking at the Network tab in Tools > Developer Tools > Network Tab) and it redirects with a 302 status code.
Request: HEAD / HTTP/1.1
Host: www.google.com
Connection: close
Accept: /
User-Agent: WebBug/5.0
Response: HTTP/1.1 302 Found
Location: http://www.google.co.uk/
So, I am not sure there is a definitive answer as from a search engine perspective we would want to folks landing on the right page due to our geo location and language targeting but that does not escape the need to show people the content in the correct language.
If this was me and I was dead set on a redirection I would go with a 302. I can't claim that is an authoritative answer but it is certainly my opinion based on my research here.
I guess the alternative would be to maybe detect the users language settings and load a pop up that then allows them to select and redirect so it is not done at the request / response level but rather a choice the user makes themselves (then maybe cookies or other options could be used to deal with language for those users on subsequent visits). In the UK http://www.babycenter.com/ does this and it pops up asking me which version of the site I would like to visit (choice is always a good thing).
Possibly a good question to ask in the Google Webmaster Help Forum: http://productforums.google.com/forum/#!forum/webmasters as you will often get a Googler pop up to answer specific questions or this question may well have been asked before (albeit in a different way). If this is not search focused then really it comes down to what you think works best for your users.
Hope that helps!
Marcus
Some further reading if it helps:
- http://support.google.com/webmasters/bin/answer.py?hl=en&answer=182192
- http://support.google.com/webmasters/bin/answer.py?hl=en&answer=62399
- http://www.mattcutts.com/blog/seo-advice-discussing-302-redirects/
- http://en.wikipedia.org/wiki/List_of_HTTP_status_codes
- http://en.wikipedia.org/wiki/HTTP_302