2009-01-17 47 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