2012-12-06 108 views
0

我已經部署了一個多語言站點。應用檢測到導航器配置語言並以該語言顯示網站,如果導航語言不可用,則網站以英文顯示。搜索引擎權索引多語言站點

此外,用戶可以切換到另一種語言有一個選擇:

<li><a href="?lang=da"><span id="flag_da">&nbsp;</span>Dansk</a></li> 
<li><a href="?lang=de"><span id="flag_de">&nbsp;</span>Deutsch</a></li> 
<li><a href="?lang=en"><span id="flag_en">&nbsp;</span>English</a></li> 
<li><a href="?lang=es"><span id="flag_es">&nbsp;</span>Español</a></li> 
<li><a href="?lang=fr"><span id="flag_fr">&nbsp;</span>Français</a></li> 
<li><a href="?lang=it"><span id="flag_it">&nbsp;</span>Italiano</a></li> 
<li><a href="?lang=nl"><span id="flag_nl">&nbsp;</span>Nederlands</a></li> 

中間件模塊是誰改變語言時,lang在request.GET中

的問題是,我懷疑搜索引擎(google,bing,...)不會遵循這個切換語言鏈接,並且該網站只會被索引爲英文。而且,如果遵循這些鏈接,相同的網址會以不同的語言顯示相同的內容,也許這會誤導搜索引擎(這是猜測)。

什麼可以是這個Django應用程序中最有效的變化是多語言索引?

注意,這是一個Django應用程序,我認爲這不是一件容易的工作,把語言代碼的每個網址的開始如果你正在運行的1.4.x你可以(改變http://www.domain.com/some_urlhttp://www.domain.com/en/some_url

回答

2

通過將http://www.domain.com/some_url轉換爲http://www.domain.com/en/some_url(如果英語是活動語言),請使用i18n_patterns來照顧語言特定網址。

+0

impresive,測試它。問題:Django按以下順序嘗試了這些URL模式:^^fr/^ portal/productes/$ ...當前URL fr/portal/productes與這些中的任何一個都不匹配。 – danihp

+0

錯誤由於缺少最後的斜線(/)...正在調查。 – danihp

+0

查看https://docs.djangoproject.com/zh/dev/ref/settings/#append-slash – relekang