A client of me has a problem with their multi lingual site. The client contacted me asking why their English home page was showing on google.fr.
Set-up:
- Site with 3 languages: fr, en, and nl.
- fr is the default language.
- Language detection: URL with path prefix as first method, and language settings of the browser as second.
- The home page points to a given node (specified at admin/config/system/site-information) and differs per language.
When searching on Google.fr (incognito window, language preference of browser set to French) their home page shows in the English version while before it showed in the French version. Even when I say "show only pages in French", it will still show the English version. Note that the search terms happen to be the same in English and French: hotel .
The problem is that French people tend to not click on the search result with the English title and thus they are missing business.
One of my thoughts about this is that the Drupal cache just served to the Google bot the home page in the language it happened to store in the cache. Does this make sense? If so, is there a way to prevent this from happening? Or should I search engines instruct to not cache the root URL (i.e. just www.example.com/), but only the www.example.com/fr, www.example.com/en, and www.example.com/nl URL’s? Can anything be said about SEO implications for not indexing the root URL.
Comments
Had a similar issue once...
Our issue was that the default language (EN) was always showing, even if the browser setting was FR. I had to use wget to fetch the page, with a specific language set, a bunch of times to confirm this was actually happening. In the end, I think it was solved by moving the language negotiation settings around and then changing them back to what we wanted.
You may also want to consider checking if your site homepage is set for each language. We had the default configuration for that - simply "node" - since we were only using blocks on the homepage (ie, no body content). It seems Drupal needed a language-specific homepage in order for negotiation to work.
Sorry if my response is a bit vague... it was a strange bug and I should have documented it better when I was working on it but we were on a tight deadline for the fix.
Finally found a corresponding issue
After some further searching ('multilingual cache home page' gave to many non-relevant results to find the relevant ones) I found [#339958: Cached pages returned in wrong language when browser language used]. So bug confirmed, but still waiting for a solution (in core).