Google top guy on localization and internationalization at Google Search, Christopher Semturs, spoke out on one of his pet peeves when it comes to this topic.
He said, he hates it when web sites give him a language and keep him in that language based on his IP. He said:
I encountered quite a few web pages which forced me to a specific language without giving me an option to change this, e.g. by trying to guess the language from my location (and sadly, sometimes guessing it wrong).
Christopher didn't just complain, he decided to outline the main things SEOs and webmasters should consider when deploying sites with multiple languages. He wrote:
- Verify that your page always returns content for all users, e.g. does not crash for GoogleBot (no Accept-Language header) or on unexpected user settings.
- Make sure that each language is available under it’s own specific URL (e.g. www.example.com/de/ showing content in German).
- On the main page, provide links to the language-specific URLs, e.g. as a language switcher somewhere on the page. Pro-Tip: Use symbols (flags), or write the language names in their native language.
- For search engines, add the rel-alternate-hreflang annotations.
He ended saying that if you follow these recommendations it will make him personally happy but also "allow search engines to see all language variations of your web page."
Forum discussion at Google+.