113

许多网站,包括这个网站,都在 URL 的末尾添加了明显称为slug的内容- 描述性但据我所知无用的文本位。

例如,网站为这个问题提供的 URL 是:

https://stackoverflow.com/questions/47427/why-do-some-websites-add-slugs-to-the-end-of-urls

但以下 URL 也同样有效:

https://stackoverflow.com/questions/47427/

这段文字的目的是为了让 URL 更加用户友好,还是有其他好处?

4

14 回答 14

168

slugs 使 URL 更加用户友好,并且您知道单击链接时会发生什么。如果搜索词在 URL 中,则 Google 等搜索引擎会将页面排名更高。

于 2008-09-06T13:01:53.237 回答
40

可用性是原因之一,如果您在电子邮件中收到该链接,您就知道会发生什么。SEO(搜索引擎优化)是另一个原因。google 等搜索引擎会根据 url 中包含的关键字将您的页面排名更高

于 2008-09-06T13:02:37.713 回答
35

我最近更改了我的网站网址格式:

www.mywebsite.com/index.asp?view=display&postid=100

www.mywebsite.com/this-is-the-title-of-the-post

并注意到更改后文章的点击率增加了约 300%。就 SEO 目的而言,它当然可以帮助用户确定他们想要点击的内容是否相关,尽管我不得不说我在更改后看到的影响很小

于 2009-01-30T12:17:21.637 回答
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,看起来你有几乎无限数量的重复页面。谷歌讨厌重复的内容。

也就是说,您实际上应该只关心内容 ID 并允许任何输入 slug 只要您重定向。为什么?

https://stackoverflow.com/questions/47427/why-do-some-网站-将-slugs-添加到-end-of-urls

... 哎呀,邮件软件切断了网址的结尾!没问题,因为你仍然可以滚动https://stackoverflow.com/questions/47427

这种方法的一个问题是,如果您从内容的标题中获取 slug,您将如何处理非 ASCII、UTF-8 标题?

于 2009-04-15T17:03:22.580 回答
15

大多数网站使用它的原因可能是 SEO(搜索引擎优化)。雅虎过去常常对 URL 本身中搜索关键字的存在给予合理的权重,它也有助于谷歌的搜索结果。

最近,搜索引擎降低了 URL 中关键字的权重,可能是因为该技术现在在垃圾邮件网站上比合法网站更常见。URL 中的关键字现在对搜索结果的影响很小,如果有的话。

至于 stackoverflow 本身,SEO 可能是一种动力(旧习惯很难改掉)或仅仅是为了可用性。

于 2008-09-06T13:37:04.667 回答
15

它基本上是资源更有意义的位置。使用 ID 是完全有效的,但它对机器的意义大于对人的意义。

严格来说,如果 slug 是唯一的,则不需要 ID,您可以通过在日期内限定它们来更轻松地确保唯一的 slug。

IE:

/2008/sept/06/why-some-websites-add-slugs-end-of-urls/

基本上,这利用了在同一天使用两个相同的蛞蝓的可能性很小。如果有冲突,一般惯例是在 slug 的末尾添加一个计数器,但你很少看到这些:

/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 URL 是不好的,因为它们引入了一个额外的段以显示 slug,这违反了每个段应该代表资源层次结构的下降的想法。

于 2008-09-25T22:00:31.680 回答
11

slug 一词来自报纸/出版业。这是一个简短的标题,用于标识正在进行的故事。对 URL 语义感兴趣的人开始在其 URL 中使用简短的缩写标题。它还在 SEO 领域获得了回报,因为 URL 中的关键字增加了页面的重要性。

具有讽刺意味的是,出于严格的 SEO 目的,许多网站已经开始在其 URL 中放置完整的连字符版本的标题,这意味着术语 slug 不再适用。这也激怒了语义纯粹主义者,因为许多实现只是在其 URL 的末尾添加了这个标题的序列化版本。

于 2008-09-07T02:27:10.663 回答
10

我注意到您可以自由更改文本。此 URL 似乎也可以正常工作。

https://stackoverflow.com/questions/47427/why-is-billpg-so-very-awesome

于 2008-09-06T15:48:13.353 回答
7

如前所述,“蛞蝓”帮助人们和搜索引擎......

值得注意的是,在页面的源代码中有一个规范的 url

这会阻止页面被多次索引。

例子:

<link rel="canonical" href="http://stackoverflow.com/questions/47427/why-do-some-websites-add-slugs-to-the-end-of-urls">
于 2010-05-14T23:28:48.640 回答
5

从您的问题中删除格式,您将看到部分答案:

https://stackoverflow.com/questions/47427/

对比

https://stackoverflow.com/questions/47427/why-do-some-websites-add-slugs-to-the-end-of-urls

没有标记,第二个是自我描述的。

于 2008-09-06T13:19:50.353 回答
3

发送链接时不要忘记可读性,而不仅仅是在搜索引擎中。如果您通过电子邮件向某人发送第一个链接,他们可以查看该 URL 并大致了解其内容。第二个在点击之前没有显示该页面的内容。

于 2008-09-06T14:46:01.363 回答
2

如果您通过电子邮件向某人发送链接,那么通过实际写出描述而不是让其他人解析到存在描述的 URL 并尝试阅读一堆内容来包含描述不是更有意义-连字符的单词粘在一起。

于 2008-09-06T14:52:47.243 回答
2

首先,它是 SEO 和用户友好的,但在示例(本网站)的情况下,它做得不好或不正确(因为它容易受到黑帽技巧和其他人的排名中毒,这会在本网站上产生严重影响) .

如果

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 重定向跟随/移动(因此智能浏览器可以更新书签)。

于 2009-01-30T12:02:12.370 回答
0

理想情况下,“slug”应该是唯一需要的标识符。实际上,在诸如此类的动态站点上,您要么必须拥有唯一的数字标识符,要么像 Digg 那样开始将数字附加/递增到“slug”。

于 2008-09-06T15:00:59.580 回答