网址:Dash vs. Underscore [关闭]

问题描述 投票:163回答:18

应该是/ about_us还是/ about-us?

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

url seo naming-conventions
18个回答
31
投票

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

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


4
投票

下划线替换不允许空格的空格。破折号(连字符)可以是单词的一部分,因此连接已经包含连字符的连字符的单词是丑陋/混乱的。

坏:

/low-budget-movies

好:

/low-budget_movies

3
投票

从用户的角度来看,我认为破折号更好,它不会干扰SEO。

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

更有知识的debate


3
投票

我更喜欢破折号,因为下划线可能会被链接下划线所掩盖。文本URL主要用于一目了然而不是语法正确,因此用于保留用于连字词的短划线的参数是有限的。

文本URL的准确性很重要的地方在于将其读出给某人时,在这种情况下,您不希望混淆空格的下划线(反之亦然)。

我发现破折号在美学上更令人愉悦,如果这对任何东西都有意义的话。


2
投票

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


1
投票

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


1
投票

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


0
投票

我个人会避免所有破折号和下划线,并选择camelCasePascalCase,如果它的代码。

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

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

如果用户要查看字符串,那么我不会执行上述任何操作并使用“关于我们”。或“AboutUs”,如果我不得不像camelCase已经扩展到某些领域的常见用途,如产品名称。即ThinkPad,TiVo


0
投票

URL中允许使用空格,因此您只需在链接中使用“/ about us”(虽然它会被编码为“/ about%20us”。但说实话,这将始终是个人偏好,所以没有真正的答案在这里给出

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


0
投票

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

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


183
投票

From Google Webmaster Central

请考虑在您的网址中使用标点符号。 URL http://www.example.com/green-dress.html对我们来说比http://www.example.com/greendress.html更有用。我们建议您在网址中使用连字符( - )而不是下划线(_)。


53
投票

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

  • 谷歌推荐破折号为下划线(source)。
  • 最终用户更熟悉破折号。
  • 在标准键盘上更容易编写破折号(无需Shift)。
  • 破折号不会隐藏在下划线后面。
  • Dashes在URL的上下文中感觉更原生,因为它们在域名中是允许的。

51
投票

它不仅仅是短划线与下划线:

  • 带空格的文字
  • textwithoutspaces
  • 编码%20spaces%20英寸%20URL
  • underscore_means_space
  • 划线装置空间
  • 加+指+空间
  • 骆驼香烟盒
  • PascalCase
  • “引用带空格的文字”(单引号与双引号)
  • 斜线/装置/空间
  • dot.means.space

36
投票

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

一个好处是,你的普通半计算机 - 文盲网络冲浪者更有可能在键盘上输入短划线,他们甚至可能不知道下划线是什么。


14
投票

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

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

与公共程序员相比,似乎发生的另一个问题是,当带有下划线的超链接带有下划线时,您无法看到下划线。高级用户将会解决这个问题,但Joe Public可能不会。

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


11
投票

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

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


8
投票

搜索引擎优化大师Jim Westergren tested this早在2005年就从严格的SEO角度出发,得出结论+(加号)实际上是最好的单词分隔符。但是,这似乎并不合理,可能是由于搜索引擎算法中存在错误。他建议 - (破折号)兼容可读性和SEO。


7
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.