301 redirects by language not by IP, this makes so much more sense to me than the country IP redirection, when I was on location consulting for a Danish Bank a few years ago it always annoyed the hell out of me every time I went to the site that I got the co.uk in England but the Danish version in Denmark (In Danish so I couldn’t read it and I couldn’t even change it to English), Recently this issue came up again so here is my advice…
SEO’s should try to get their clients to use 301 redirects not by country but by language, so serving the correct content using Browser Language and not the country you are sitting in! These settings are sent by most of today's browsers in the HTTP Headers, so you can use something like :
$language = $_SERVER['HTTP_ACCEPT_LANGUAGE'];
echo " Browser Version = ";
$language_short = substr($language,0,2);
echo " Short Version = ";
My browser returns Browser Version = en-gb, Short Version = en
You will need to strip it down to a short code Var due to the ability to set en-gb or v en-ca or you will have to create a large array etc..
Now you have your short code you can redirect and drop a cookie with the short code, I recommend you do that because you may want to let the user decide what language they want to read you site in by anchor text links like Français or Deutsch to the relevant translations you can allow the search spiders in and allow the user to change the cookie.
OK so that handles the users correctly and the real benefit here is you don’t have to cloak Googlebot to get them to read all the foreign pages like you would if you were doing IP redirection.
Now we make it clear to Google that this is the French version of the website by using the appropriate Meta Tags on each language version of their site such as:
Implement the language Meta Tag to the header of each Language, besides the English pages this should ensure the right language is served in each local version of Google fingers crossed.
If the User has no preferred language, or the preferred language is English they should be served the homepage and not the translated version. This will allow Google to Crawl the entire site and understand the different sections much more clearly because of the use of Meta Tags. Absolutely no IP cloaking or User Agent cloaking necessary