213

应该是/about_us还是/about-us

从可用性的角度来看,我个人认为/about-us对最终用户来说要好得多,但谷歌和大多数其他网站(和 javascript 框架)使用下划线命名模式。只是风格问题吗?破折号是否存在兼容性问题?

4

18 回答 18

218

来自 Google 网站管理员中心

考虑在 URL 中使用标点符号。URL http://www.example.com/green-dress.htmlhttp://www.example.com/greendress.html对我们有用得多。我们建议您在 URL 中使用连字符 (-) 而不是下划线 (_)。

于 2010-02-23T13:20:50.760 回答
75

以下是支持破折号的几点:

  • Google 推荐使用破折号而不是下划线(来源)。
  • 最终用户更熟悉破折号。
  • 破折号更容易在标准键盘上书写(无需 Shift)。
  • 破折号不会隐藏在下划线后面。
  • 破折号在 URL 的上下文中感觉更原生,因为它们在域名中是允许的。
于 2011-05-27T13:48:10.800 回答
56

这不仅仅是破折号与下划线:

  • 带空格的文字
  • 没有空格的文本
  • 编码%20spaces%20in%20URL
  • underscore_means_space
  • 破折号意味着空间
  • 加+手段+空格
  • 骆驼香烟盒
  • 帕斯卡案例
  • “带空格的引用文本” (以及单引号与双引号)
  • 斜线/表示/空格
  • 点表示空间
于 2008-09-26T02:37:37.677 回答
38

谷歌过去没有将下划线视为单词分隔符,我认为这很疯狂,但现在显然是这样。由于这段历史,破折号是首选。尽管从 SEO 的角度来看现在允许使用下划线,但我仍然认为破折号是最好的。

一个好处是,您的普通半电脑文盲网络冲浪者更有可能在键盘上键入破折号,他们甚至可能不知道下划线是什么。

于 2008-09-23T07:27:12.000 回答
31

这只是一个猜测,但似乎他们选择了人们最可能不会在名称中使用的那个。这样,您可以拥有一个包含连字符的名称,并且仍然使用下划线作为单词分隔符,例如 UseTwo-wayLinks 可以转换为 use_two-way_links。

在您的示例中, /about-us 将是一个名为“about-us”连字符的目录(如果存在这样的词,并且 /about_us 将是一个名为“about us”的两个词短语转换为单个字符串的目录非白色字符。

于 2008-09-23T05:54:36.620 回答
16

我以前一直使用下划线,现在我只将它们用于我不希望任何人直接链接的网站部分、js 文件、css 等。

从 SEO 的角度来看,破折号似乎是处理它的首选方式,详细解释,来自马嘴http://www.mattcutts.com/blog/dashes-vs-underscores/

另一个问题似乎发生在普通公众而不是程序员身上,即当带有下划线的超链接带有下划线时,您看不到下划线。高级用户会解决这个问题,但 Joe Public 可能不会。

尽管如此,仍然在代码中使用下划线而不是破折号 - 程序员理解它们,大多数其他人不理解。

于 2008-09-23T06:37:35.583 回答
13

杰夫对此有一些想法:https ://blog.codinghorror.com/of-spaces-underscores-and-dashes/

两者都有缺点。我建议你选择一个并保持一致。

于 2008-09-23T06:11:22.417 回答
8

我更喜欢下划线。首先,它们与我的常规编程经验相匹配variable_names_are_not-subtraction,其次,我相信已经提到过,单词可以有连字符,但它们从来没有下划线。举一个非常愚蠢的例子,“民族国家”与“民族国家”不同。前者翻译成“民族国家的土地”(想想“这里是枪支国家!最好继续前进,你听到了吗?”),而后者看起来像一个有时同义词的列表。http://example.com/nation-state-country/似乎与 的意思不同http://example.com/nation-state_country/,但是,如果连字符是分隔符/“空格”,除了单词中的字符,它可以。后者似乎更清楚实际目的,而前者看起来更像那个列表,如果有的话。

于 2008-09-23T06:09:09.300 回答
8

SEO 大师Jim Westergren在 2005 年从严格的 SEO 角度对此进行了测试,得出的结论是 +(加号)实际上是最好的单词分隔符。但是,这似乎不合理,可能是由于搜索引擎算法中的错误。他建议 - (破折号)可读性和 SEO。

于 2008-09-23T14:38:57.640 回答
5

下划线替换不允许空格的空格。破折号(连字符)可以是单词的一部分,因此将单词与已经包含连字符的连字符连接起来很难看/令人困惑。

坏的:

/low-budget-movies

好的:

/low-budget_movies
于 2008-09-23T06:13:38.963 回答
3

从用户的角度来看,我认为 dash 更好,并且不会干扰 SEO。

不确定下划线约定的开始位置或原因。

知识渊博的辩论

于 2008-09-23T05:53:59.243 回答
3

我更喜欢破折号,因为下划线可能会被链接下划线掩盖到一定程度。文本 URL 主要是为了一目了然而不是语法正确,因此保留破折号以用于连字符的论点是有限的。

文本 URL 的准确性很重要的地方是在向某人朗读时,在这种情况下,您不想将下划线与空格混淆(反之亦然)。

我还发现破折号在美学上更令人愉悦,如果这很重要的话。

于 2008-09-25T22:07:34.877 回答
2

对于最终用户视图,我更喜欢“about-us”或“about us”而不是“about_us”

于 2008-09-23T06:22:05.807 回答
0

就个人而言,我会避免使用 about-us 或 about_us,而只使用 about。

于 2008-09-23T05:55:50.597 回答
0

一些较旧的 Web 托管和 DNS 服务器实际上在解析 URL 的下划线时存在问题,因此这可能会在此类约定中发挥作用。

于 2008-09-23T06:11:08.547 回答
0

我个人会避免使用所有破折号和下划线,如果它在代码中,则选择camelCasePascalCase 。

关于 camelCase 的维基百科文章解释了它的起源背后的一些原因。它们相当于

  1. 不喜欢伸手去拿 _ 键的懒惰程序员
  2. 关于可读性的潜在混淆
  3. 施乐 PARC 的“Alto”​​键盘没有下划线键。

如果用户要查看字符串,那么我不会执行上述任何操作并使用“关于我们”。或者“AboutUs”,如果我不得不这样做的话,因为 camelCase 已经传播到某些领域的常见用法,例如产品名称。即 ThinkPad、TiVo

于 2008-09-23T06:35:35.790 回答
0

URL 中允许使用空格,因此您可以在链接中使用“/about us”(尽管这将被编码为“/about%20us”。但老实说,这始终是个人喜好,因此没有真正的答案在这里给出。

我会遵循破折号可以出现在单词中的约定,因此应该将空格转换为下划线。

于 2008-09-23T07:16:30.823 回答
0

更好用。- / 作为分隔符,因为 _ 似乎不是分隔符。

http://www.sistrix.com/blog/832-how-long-may-a-linktext-be.html

于 2011-08-17T06:11:10.903 回答