2009-01-17 45 views
0

我正在寻找适用于具有多个版本的Web应用程序的最佳URL模式,即多种语言和手机使用的简化版本 - 两个方面都可以结合使用,所以有一个英国普通和移动版本,一个德国普通和移动版本等多版本网络应用程序的URL方案

目标(按重要性排序):

  • 用户友好
  • 搜索引擎友好
  • 易于开发

方面来考虑:

  • 应如何网址是什么样子?
  • 用户应该如何在不同版本之间导航?
  • 应该有多少逻辑来自动决定版本?

我会在下面描述我的概念,也许你们中的一些人有更好的想法。

回答

2

我现在的概念:

  • 当新用户到达时,该应用程序决定,根据Cookie(见下文),接受语言:头和用户代理字符串(用于识别移动浏览器)哪个版本显示,但在URL中没有反映这个(无重定向)
  • 它默认非精简英文版
  • 有突出显示的图标(标志,一个程式化的移动电话),选择其他版本
  • 当用户明确选择一个dif不同的版本,这反映在更改的URL和浏览器Cookie中
  • URL架构是/ for语言版本的“自动”版本/ en /,/ de /等,/ mobile/for简化版本,/普通/非简化版本及其组合,即/ mobile/en/and/normal/de/
  • mod_rewrite用于去掉这些URL前缀并将它们转换为GET参数,
  • robots.txt禁止/移动/和/正常/

优点:

  • 的不同语言版本都被搜索引擎
  • Cookies帮助单独建立索引,但不是必需的
  • 有一个很好的机会,人们会看到这是他们的理想选择的版本,而无需进行任何选择
  • 用户总是可以明确地选择他想要的版本(这使得/ normal/URL是必需的)
  • 每个版本都有一个URL,当传递给其他人时,它会正好显示该版本
  • /mobile /和/ normal /被忽略通过搜索引擎;他们只会是重复的内容。

缺点:

  • 需要频繁使用的mod_rewrite的,这是我访问时,发现非常模糊
  • 用户可以自己当前的URL发送给他人,而那个人,最终可能会看到一个不同的版本,这可能会导致混淆
  • //// /之间仍然存在重复的内容 - 我不能在/ robots.txt中禁止/我应该相信搜索引擎不会惩罚我在同一个域中的确切重复内容,或者不允许/ en /并接受来到/ v的人ia搜索引擎可能会看到与他们在搜索引擎中发现的版本不同的版本?
1

我不明白为什么要在URL方案中包含任何类型的称为版本控制信息(如accept-language或user-agent)的具体指定。该URL方案应该仅指示内容。服务器应调查各种请求标头以确定如何检索和/或格式化响应。

+0

对于用户代理特定版本,我同意,因为它仅在格式上有所不同。但是不同的语言版本,至少是从搜索引擎的POV(可以说也是来自人类POV),不同的内容 - 而且你一定希望所有语言的搜索都能找到你的页面。 – 2009-01-17 23:55:03

+0

当搜索引擎正在提取资源时,您将能够从用户代理中知道。那么,为什么不在这个回复中包含所有语言的内容呢? – Glenn 2009-01-18 00:47:12