2009-10-07 57 views
0

可能重复:
Why do some websites add “Slugs” to the end of URLs?在stackoverflow URL中缺乏不变性。为什么?

这不是一个关于计算器的问题,这是一个关于它的StackOverflow实现了一个设计决策的问题,我把它作为例子。

上计算器的一个问题是由以下URL标识(拿了一个从建议)

https://stackoverflow.com/questions/363292/why-is-visual-c-lacking-refactor 

同样,我的用户的网址是:

https://stackoverflow.com/users/78374/stefano-borini 

事实是,只有数字指标是实际使用

https://stackoverflow.com/users/78374/ 

其余部分可以是任何东西。这样的设计决定背后的原因是什么,特别是考虑到“cool URIs do not change

编辑:我看到this question后,关闭投票,这大大提出了同样的问题。我的问题是重复的

+0

它可以让你做类似的事情(鼠标悬停在工具提示上)http://stackoverflow.com/questions/1534161/hide-more-information-in-comment-URLs – 2009-10-07 21:05:50

回答

3

部分原因是您可以更改您的用户名或帖子的标题(纠正拼写等),但保持URL有效。

它使得SEO在网址中具有标题感 - 它使网站更有可能获得正确的索引。

+0

+1对于标题变化很重要。 – ceejayoz 2009-10-07 21:06:50

0

像URL中的文本一样的搜索引擎。

当搜索条件实际出现在网址中而不仅仅是页面时,页面的排名会更高。它基本上是机器人糖。

1

它允许URL包含人类和搜索引擎的一些有趣的信息,但即使标题改变仍然有效。

可能在数据库中存储和验证针对原来的“弹头”,以及作为ID,但它可以防止的唯一事情是这样的游戏:

Lack of invariance in stackoverflow URL. Why?

:)

0

这可以让你在网址中看到一些对你来说意味着什么的文字。如果我查看一连串问题的历史,那么这个数字本身就没有意义。然而,在那里有文字允许我有一些背景。

0

这是SEO(搜索引擎优化)的行动。它有助于搜索结果中的页面排名(谷歌,雅虎,bing,...),因为搜索引擎可以为用户搜索的URL包含关键字的页面提供更高的排名。

0

理论上,这是出于搜索引擎优化的原因。软件会忽略标识符后面的部分(“slug”),但是这个想法是,搜索引擎抓取工具会考虑链接文本的描述部分,从而在搜索结果中权衡得到的页面更高。无论这是否真的以有意义的方式发生,我都不知道。

更实际的用法是,您可以通过检查slug获得链接指向的更好的概念,如果您有多个问题URL,这很方便。

0

除了搜索引擎的优势(URL中的文本功能强大)之外,实际上这个URL并不“改变”。更改可以定义为导致未来某个时间点的链接无法正常工作的情况 - 这个URL永远不会出现这种情况。最后变化的文本不会影响任何用户访问底层资源的能力。

0

“酷的URI不要更改”

好的URI可以改变的,只要旧的依然很好。

也许有人会认为“在stackoverflow URL缺乏不变性。为什么?“是一个糟糕的问题标题,并将其改为”为什么SO URL中存在冗余信息?“。如果slu can能够更新以反映新的标题,这将是一件好事,尤其是如果我们想改变它的原因是一个令人尴尬的错字。但旧的URI必须继续工作。

非规范URI的一个缺点是搜索引擎可能会感到困惑,并认为它们是两个不同的页面。或者他们会发现他们是两页一样的,但是决定链接到的“最佳”页面是不想要的标题。如果很多人链接到另一个标题完全一样,这是特别糟糕的:

http://stackoverflow.com/questions/1534161/stackoverflow-smells-of-poo 

提示更尴尬。解决这个问题的最佳方法(虽然很少有网站会打扰,但是SO不会)检查提交的子弹,并使用最新的slug执行301永久重定向到新URI。搜索引擎会选择新的URI,而不是任何恶意的,并且有poo。