回答
有不同类型的项目,不应该使用相同的语言实现。
让我举一些例子:
第一个项目有一个单独的域名,让我们说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. 语言标识符值
- 4. URI多语言CodeIgniter
- 5. SEO,多语言,会话var
- 6. Codeigniter uri语言标识符和form_validation不起作用
- 7. ASP.NET会话标识符
- 8. 多语言标识的主页网址
- 9. 免费的语言标识符服务?
- 10. Codeigniter URI语言标识符+坦克Auth激活不工作只是在默认语言
- 11. 双向多语言字符串对话
- 12. URI路由不起作用(多语言)
- 13. CodeIgniter URI路由(动态,多语言)
- 14. 语法语言与语音识别器的语言不匹配
- 15. Jqueryui多语言对话框
- 16. 多种语言的Vista语音识别
- 17. HTTP |语言标签与语言范围
- 18. iOS URI Scheme不接受多语言字符
- 19. URL中的会话标识
- 20. 语言识别
- 21. CRM多对话多语言或特定语言?
- 22. 将三字母语言代码转换为语言标识符(LANGID)
- 23. 原生iOS语言翻译字符串及其语言代码标识(LCID)
- 24. 字符串不能识别多种语言字符
- 25. PHP Codeigniter多语言网站使用会话变量来存储语言密钥
- 26. Hibernate的会话工厂并没有识别标识符
- 27. 无法绑定多部分标识符“t.PartNumber” - 与工会
- 28. 设计REST URL与多个标识符
- 29. xcode - prepareForSegue与多个标识符
- 30. Sharepoint 2010多语言知识库网站
这是一个域,或者一个域每种语言? – 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