【发布时间】:2012-06-13 08:47:15
【问题描述】:
在我们的系统中,我们有网页的 URL,其内容(包括标题)基于用户生成的内容。我正在尝试找出平衡 SEO、人类可读性和弹性的最佳设计。
我一直在阅读有关这方面的大量材料,包括 Tim Berners-Lee 早前的文档:Cool URIs don't change。
例如,假设我有一个书评网站,用户在其中提交内容(文字评论)以及书名和作者。
因此,如果他们提交了A Tale of Two Cities 的书评(用户无意中拼错了),作者为Charles Dickens。网址可能是:
http://foo.com/charles-dickens/a-tale-of-two-cities
稍后,如果添加狄更斯的另一本书,它可能是:
http://foo.com/charles-dickens/oliver-twist
那么http://foo.com/charles-dickens/ 可以是网站上所有已评论书籍的列表。
但是,如果更改书名,问题就会出现。想象一下用户拼错了一些东西,比如A Tale of Two City,然后它被更正了。这也会更改 URL,并会破坏指向该页面、pagerank 等的任何外部链接。
处理此类问题的推荐方法是什么?我看到的选项:
首次提交获胜: URL 在最初建立后无法更改
最后一次提交获胜:始终更改 URL。因此,如果用户生成的内容发生更改,请修改 URL。使用这种方法,旧 URL 要么失效,要么保留所有 URL 更改的踪迹,并且所有更改仍然有效。 Stackoverflow 似乎是这样的。
不要基于 UGC 的 URL: 忽略用户生成的内容,只是想出不基于它的 URL。所以 url 可以是
http://foo.com/reviews/1234。
人们对此有何看法?
【问题讨论】:
标签: http architecture uri