许多网站,包括这个网站,都添加了显然被称为 slugs 的内容 - 描述性的,但据我可以说无用的文字 - 到URL的末尾。
例如,网站为此问题提供的网址是:
https://stackoverflow.com/questions/47427/why-do-some-websites-add-slugs-to-the-end-of-urls
但是以下网址的效果也一样:
https://stackoverflow.com/questions/47427/
本文的重点是以某种方式使URL更加用户友好或是否还有其他一些好处?
答案 0 :(得分:164)
slug使URL更加用户友好,您知道单击链接时会发生什么。如果搜索字词位于网址中,Google等搜索引擎会将网页排名更高。
答案 1 :(得分:39)
可用性是一个原因,如果您在电子邮件中收到该链接,您就会知道会发生什么。 SEO(搜索引擎优化)是另一个原因。谷歌等搜索引擎会根据网址
中包含的关键字对您的网页进行排名答案 2 :(得分:35)
我最近更改了我的网站网址格式:
www.mywebsite.com/index.asp?view=display&postid=100
要
www.mywebsite.com/this-is-the-title-of-the-post
并注意到更改后点击文章的费率增加了约300%。它确实有助于用户根据搜索引擎优化的目的决定他们想点击的内容是否相关,尽管我不得不说我在改变后看到的影响不大
答案 3 :(得分:25)
我同意其他回应,任何错误类型的slug应该301重定向到正确的形式。换句话说,https://stackoverflow.com/questions/47427/wh
应该重定向到https://stackoverflow.com/questions/47427/why-do-some-websites-add-slugs-to-the-end-of-urls
。它还有一个未提及的好处 - 如果您不重定向到规范URL,则表明您的重复页面数量几乎无限。 Google讨厌重复的内容。
那就是说,只要你重定向,你应该只关心内容ID并允许slug的任何输入。为什么呢?
https://stackoverflow.com/questions/47427/why-do-some-
网站-附加蛞蝓到所述-结束网址
...哎呀,邮件软件切断了URL的末尾!没问题,因为你仍然只能使用https://stackoverflow.com/questions/47427
这种方法的一个大问题是,如果你从内容的标题中获取slug,你将如何处理非ASCII,UTF-8标题?
答案 4 :(得分:14)
大多数网站使用它的原因可能是SEO(搜索引擎优化)。雅虎过去常常对URL本身中搜索关键字的存在给予合理的权重,这也有助于Google的结果。
最近,搜索引擎降低了对URL中关键字的权重,可能是因为该技术现在在垃圾邮件网站上比在合法网站上更常见。如果有的话,URL中的关键字现在对搜索结果的影响非常小。
至于stackoverflow本身,搜索引擎优化可能是一种动机(旧习惯很难消除)或仅仅是为了可用性。
答案 5 :(得分:14)
这对资源来说基本上是一个更有意义的位置。使用ID是完全有效的,但它对机器的意义比人们更多。
严格来说,如果slug是独一无二的,那么不需要ID,你可以通过在日期内确定它们来更容易地确保它们。
即:
/2008/sept/06/why-some-websites-add-slugs-end-of-urls/
基本上,这利用了在同一天使用两个相同slu的低可能性。如果发生冲突,一般约定是在slu the的末尾添加一个计数器,但你很少见到这些:
/2008/sept/06/why-some-websites-add-slugs-end-of-urls/
/2008/sept/06/why-some-websites-add-slugs-end-of-urls-1/
/2008/sept/06/why-some-websites-add-slugs-end-of-urls-2/
许多slug算法也摆脱了像“the”和“a”这样的常用词,以帮助保持URL的简短。这种范围的方法还可以非常直接地查找给定日期,月份或年份的所有资源 - 您只需切断段。
此外,stackoverflow网址是错误的,因为它们引入了一个额外的段以显示slug,这违反了每个段应该代表资源层次结构下降的想法。
答案 6 :(得分:11)
术语slug来自报纸/出版业务。这是一个简短的标题,用于识别正在进行的故事。对URL语义感兴趣的人开始在他们的URL中使用简短的缩写标题。它还可以在SEO领域获得回报,因为URL中的关键字会增加页面的重要性。
具有讽刺意味的是,许多网站已开始在其网址中添加完整序列化连字符版本的标题,以用于严格的搜索引擎优化目的,这意味着术语slug不再适用。这也使语义纯粹主义者感到沮丧,因为许多实现只是在其URL的末尾添加了标题的序列化版本。
答案 7 :(得分:10)
我注意到您可以自由更改文本。此URL似乎也可以正常工作。
https://stackoverflow.com/questions/47427/why-is-billpg-so-very-awesome
答案 8 :(得分:6)
如前所述,'slug'可以帮助人们和搜索引擎......
值得注意的是,在页面的来源中有一个canonical url
这会使页面停止多次索引。
示例:
<link rel="canonical" href="http://stackoverflow.com/questions/47427/why-do-some-websites-add-slugs-to-the-end-of-urls">
答案 9 :(得分:5)
从您的问题中删除格式,您将看到部分答案:
https://stackoverflow.com/questions/47427/
VS
https://stackoverflow.com/questions/47427/why-do-some-websites-add-slugs-to-the-end-of-urls
没有标记,第二个是自描述的。
答案 10 :(得分:3)
发送链接时不要忘记可读性,而不仅仅是在搜索引擎中。如果您通过电子邮件向某人发送第一个链接,他们可以查看该URL,并大致了解其内容。第二个在点击之前没有说明该页面的内容。
答案 11 :(得分:2)
如果您通过电子邮件向某人发送了链接,那么通过实际写出描述而不是让其他人解析到描述所在的URL并且尝试阅读一堆-的连字符连接字粘连在一起。
答案 12 :(得分:2)
首先,它是搜索引擎优化和用户友好,但在示例(本网站)的情况下,它没有做得很好或正确 (因为它对黑帽技巧开放并且被其他人排名中毒,这在本网站上反映得非常糟糕)。
如果
https://stackoverflow.com/questions/47427/why-do-some-websites-add-slugs-to-the-end-of-urls
有内容,然后
https://stackoverflow.com/questions/47427/
和
https://stackoverflow.com/questions/47427/any-other-bollix
不应该重复。他们实际应该自动检测链接,然后不使用当前文本(显然slug是由问题标题定义的,可以稍后编辑),他们应该自动重定向301
https://stackoverflow.com/questions/47427/why-do-some-websites-add-slugs-to-the-end-of-urls
从而确保“一个内容到一个URI”规则,并且如果URI移动/更改,请确保旧书签通过301重定向跟随/移动(因此智能浏览器可以更新书签)。
答案 13 :(得分:0)
理想情况下,“slug”应该是唯一需要的标识符。实际上,在诸如此类的动态网站上,您必须拥有唯一的数字标识符,或者像Digg那样开始向“slug”追加/递增数字。