回答
有不同類型的項目,不應該使用相同的語言實現。
讓我舉一些例子:
第一個項目有一個單獨的域名,讓我們說example.com。這個網站應該有三種語言版本。爲了讓搜索引擎能夠清晰地抓取每種語言並對其進行索引 - 正確的解決方案是通過url傳遞。 example.com/fr/爲法語。
第二個項目的每個語言都有一個域名example.fr example.co.uk。最好的做法是,每個域只能由搜索引擎按其主要語言編入索引。因此,我選擇的解決方案是在切換時將語言存儲在cookie中。 (或完全重定向到其他域)。
如果我們會選擇例如1例如2解決方案,既example.co.uk/fr/和example.fr將有相同的內容,這不是搜索引擎友好。
在問題的上下文中,兩種解決方案都是相同的,因爲它們都只使用URI。 – KingCrunch 2011-05-17 12:45:16
第二種解決方案不使用URI,它可以使用POST完成或使用ACCEPT_LANGUAGE檢測用戶的語言。 – 2011-05-17 12:48:01
就我而言,我有一個適用於所有語言的單個域以及它們相應的翻譯。 – 2011-05-17 12:52:59
如果將語言放入URI中,webcrawler可以使用不同的語言對網站編制索引,並且用戶可以爲其添加書籤/鏈接。如果沒有對頁面的直接引用(=> URL),這是不可能的。
您可以結合使用這兩種方法:如果URI中沒有可用的特定於語言的信息,請嘗試從cookie/session中找出它,如果失敗,請查看Accept-Language
-Header。現在,如果一個用戶改變語言(通過鏈接或其他)將其寫入一個cookie(以便以後訪問)。
URL。你可以在所有路徑中使用'/ en /'前綴。顯然你會使用mod_rewrite或合適的框架路由配置。
謝謝@SkippyChalmers,問題是從SEO的角度來看哪個方法更好 – 2011-05-17 14:40:28
僅使用會話/ cookie,某人直接鏈接到「斯瓦希里語」版本的內容實際上是不可能的。相反,您將擁有所有傳入鏈接將指向的默認語言(英文?)。一旦到了那裏,如果用戶想要你的普通話內容,那麼他們可以選擇這個選項,但是他們不會直接離開,所以使用URI標識是我個人的選擇。
有幾種方法可以通過設置某種目錄結構來標記在URI中使用哪種語言,例如:http://domain.tld/localized/fr/
用於法語內容的主頁,或者您可以將其抽象出來通過GET
變量數據庫和識別語言:http://domain.tld/?l=4
語言的主要頁面的4
ID或者,像韋斯利麪包車Opdorp指出的那樣,你可以設置一個單獨的域或子域的每種語言:http://domain.fr
或http://fr.domain.tld
就SEO而言,我相信最好的辦法是堅持頂級Domai n標準併爲您希望承載網站的每種語言(http://domain.fr
,http://domain.ru
等)設置單獨的域。當然,這將意味着購買更多的領域,所以如果這是不是一種選擇,我的第二個選擇是設立子域每個的langauge如:http://fr.domain.tld
和http://ru.domain.tld
- 1. 笨多語種語言標識符
- 2. 語言標識符值
- 3. URI多語言CodeIgniter
- 4. ASP.NET會話標識符
- 5. 多語言標識的主頁網址
- 6. 免費的語言標識符服務?
- 7. Codeigniter URI語言標識符+坦克Auth激活不工作只是在默認語言
- 8. 雙向多語言字符串對話
- 9. CodeIgniter URI路由(動態,多語言)
- 10. URI路由不起作用(多語言)
- 11. 多種語言的Vista語音識別
- 12. 將三字母語言代碼轉換爲語言標識符(LANGID)
- 13. 字符串不能識別多種語言字符
- 14. 無法綁定多部分標識符「t.PartNumber」 - 與工會
- 15. 設計REST URL與多個標識符
- 16. xcode - prepareForSegue與多個標識符
- 17. 與列標識符
- 18. DFA可以識別多少種語言?
- 19. asp.NET如何更改會話語言?
- 20. 會話和語言的python/django問題
- 21. Mysql語言環境會話變量?
- 22. 跟蹤會話變量中的語言
- 23. C語言識別#
- 24. 識別此語言
- 25. 是否有Objective-C代碼的github減價語言標識符?
- 26. Python語言如何知道標識符的類型?
- 27. ObjectPascal標識符在其他語言上的命名風格
- 28. 如何替換URL中的語言標識符?
- 29. 哪些語言允許在標識符中使用空格?
- 30. 是否有Swift代碼的Github降價語言標識符?
這是一個域,或者一個域每種語言? – 2011-05-17 13:09:40
* [任何想法開發多語言網站 - 搜索引擎優化,PHP,MySQL](http://stackoverflow.com/questions/5284773/any-ideas-for-developing-a-multi-language-site- seo-php-mysql/5285641#5285641)* – Gumbo 2011-05-17 13:29:26
我有一個單一域的所有語言及其相應的翻譯。 – 2011-05-17 14:41:29