I have deployed a multilingual site. App detects navigator configurated language and show site in this language, if navigator language is not available then site appears in english.
Also, user can switch to another language with a selector:
<li><a href="?lang=da"><span id="flag_da"> </span>Dansk</a></li>
<li><a href="?lang=de"><span id="flag_de"> </span>Deutsch</a></li>
<li><a href="?lang=en"><span id="flag_en"> </span>English</a></li>
<li><a href="?lang=es"><span id="flag_es"> </span>Español</a></li>
<li><a href="?lang=fr"><span id="flag_fr"> </span>Français</a></li>
<li><a href="?lang=it"><span id="flag_it"> </span>Italiano</a></li>
<li><a href="?lang=nl"><span id="flag_nl"> </span>Nederlands</a></li>
A middleware module is who change language when lang is in request.GET
The problem is that I suspect that search engines (google, bing, …) don’t will follow this switch language links and the site will be only indexed in english. And also, in case this links were followed, the same url will have the same content in different language and perhaps this can mislead search engine ( this is guesswork ).
What can be the most effective changes in this django application to be multilanguage well indexed?
Notice that this is a django app and I think that this is not an easy work to put language code at begin of each url ( change http://www.domain.com/some_url to http://www.domain.com/en/some_url )
If you are running 1.4.x you can use i18n_patterns to take care of language spesific urls by turning
http://www.domain.com/some_urlintohttp://www.domain.com/en/some_url(if english is the active language).