ASP.NET MVC 3 multilingual SEO
I'm currently writing an ASP.NET MVC 3 web application that supports multiple languages. I already managed to translate all the routes so that calls like:
www.mysite.de/Kontakt and www.mysite.de/Contact will route to the same Controller/Action.By design it is so that when calling www.mysite.de the language (stored in the session object) will automatically be set to a default language (here German). The navigation of the site is then dynamically setup accordingly.
The language in the session object can be changed by either hitting the "English version" link or when manually calling e.g. www.mysite.de/Contact. In this case it is recognized that the link (/Contact) matches a route that is defined as English and so I change the language in the session object to English. Of course the content of the sites is also localized.My question now is how does that cooperate with SEO, especially with Google? I already add the Content-Language meta tag dynamically to each page. So I think that with a proper sitemap.xml should be sufficient.
Does Google recognize this correct开发者_如何学运维ly? Is it when searching Google in German that I get "Kontakt" as result and "Contact" when searching in English?Another issue is what happens when the link is the same for different languages? E.g. the link to "Jobs" would/could be the same as well in English as in German.
I hope that the question is understandable as my issue is rather complicated.
Cheers, SimonGoogle does not only rely on you telling them what language your site is in, you only hint them. The pages will be analyzed and presented as a page in "German" or a page in "English" based on the language of the content.
But your base assumption is correct.
Yes, if I search for your page in German, and Google has indexed the page as a page in German, Google will return Kontakt.
As for your second question, unless you provide another mean to change the language other than the path (query string or language in browser setting), those links will only be in your default (German) language.
If you would like them to appear in english, use a different, additional URL: Jobs-EN that you only have in your SiteMap.xml (and route, of course).
Another issue is what happens when the link is the same for different languages? E.g. the link to "Jobs" would/could be the same as well in English as in German.
You might consider having the language as part of your URL, for example:
- www.mysite.de/de/Kontakt
- www.mysite.de/en-us/Contact
- www.mysite.de/en-gb/Contact
精彩评论