网址:Dash与下划线
应该是/ about_us还是/ about-us?
从可用性的角度来看,我个人认为/ about-us对于最终用户而言要好得多,而Google和大多数其他网站(和javascript框架)则使用下划线命名模式。这只是风格问题吗?破折号是否存在兼容性问题?
解决方案
我认为从用户角度来看,破折号更好,并且不会干扰SEO。
不知道下划线约定在何处或者为什么开始。
知识渊博的辩论
这只是一种猜测,但似乎他们选择了人们最有可能不会使用的名称。这样,我们可以使用包含连字符的名称,并且仍将下划线用作单词定界符,例如UseTwo-wayLinks可以转换为use_two-way_links。
在示例中,/ about-us将是一个名为连字符的单词" about-us"的目录(如果存在这样的单词,/ about_us将是一个名为两个单词的短语" about us"的目录,它将转换为单个字符串非白色字符。
就个人而言,我会避免使用about-us或者about_us,而只使用about。
我对下划线比较满意。首先,它们与我的" variable_names_are_not-subtraction"的常规编程经验相匹配,其次,我相信已经提到过,单词可以带有连字符,但是它们永远不会带有下划线。举一个非常愚蠢的例子,"民族国家"与"民族国家"是不同的。前者翻译成"民族国家的土地"之类的东西(认为"这里是枪战国!最好的前进方向,是吗?"),而后者则看起来像是一个有时的同义词列表。 " http://example.com/nation-state-country/"的含义似乎与" http://example.com/nation-state_country/"的含义不同,但是,如果连字符是定界符/"空格"除了文字中的字符外,还可以。对于实际目的,后者似乎更清楚,而对于前者,前者看起来更像该列表。
某些较早的Web托管和DNS服务器实际上在解析URL的下划线时遇到了问题,因此可能在此类约定中起作用。
杰夫对此有一些想法:https://blog.codinghorror.com/of-spaces-underscores-and-dashes/
两者都有缺点。我建议我们选择一个并保持一致。
下划线替换不允许空格的空格。破折号(连字符)可以是单词的一部分,因此将单词与已经包含连字符的连字符连接起来很丑陋/令人困惑。
坏的:
/low-budget-movies
好的:
/low-budget_movies
对于最终用户,我更喜欢"关于我们"或者"关于我们"而不是" about_us"
我个人会避免使用所有破折号和下划线,并选择在代码中使用camelCase或者PascalCase。
维基百科上关于camelCase的文章解释了其起源背后的一些原因。他们等于
- 懒惰的程序员,他们不喜欢_键
- 关于可读性的潜在困惑
- xerox PARC上的" Alto"键盘没有下划线键。
如果用户要查看字符串,那么我将不执行上述任何操作,而是使用"关于我们"。或者" AboutUs"(如果我不得不这样做的话),例如camelCase已经在某些领域(例如产品名称)广泛使用。即ThinkPad,TiVo
我以前一直都使用下划线,但现在我只在网站的某些部分使用下划线,我不希望任何人直接链接下划线,js文件,css等。
从SEO的角度来看,从马口http://www.mattcutts.com/blog/dashdes-vs-underscores/进行详细解释,短划线似乎是处理它的首选方式。
似乎出现的另一个问题,是普通大众而不是程序员,更多的问题是,当对带下划线的超链接加下划线时,我们将看不到下划线。高级用户可以解决问题,但Joe Public可能不会。
尽管程序员理解破折号,但仍然在代码中使用下划线而不是破折号,而其他大多数人则不知道。
URL中允许使用空格,因此我们可以在链接中使用" / about us"(尽管该编码将被编码为" / about%20us"。但是老实说,这始终是个人喜好,因此没有真正的答案)在这里给出。
我会同意破折号可以在单词中出现的约定,因此空格应转换为下划线。
Google过去从未将下划线视为单词分隔符,我认为这很疯狂,但现在显然已经了。由于这个历史,破折号是首选。即使从SEO的观点来看,下划线现在是允许的,但我仍然认为破折号是最好的。
好处之一是,普通的半计算机文盲网上冲浪者更有可能在键盘上输入破折号,他们甚至可能都不知道下划线是什么。
SEO专家Jim Westergren于2005年从严格的SEO角度对其进行了测试,得出的结论是+(加号)实际上是最好的单词定界符。但是,这似乎并不合理,可能是由于搜索引擎算法中的错误所致。对于可读性和SEO,他建议(破折号)。
我更喜欢使用破折号,因为下划线可能会在一定程度上被链接下划线遮盖。文字网址主要是为了一目了然,而不是语法正确,因此保留用于连字符的破折号的观点受到限制。
文本URL的准确性很重要的地方是将其读出给某人时,在这种情况下,我们不想将下划线混淆为空格(反之亦然)。
如果这算得上什么,A的破折号也会在美学上令人愉悦。
不只是破折号和下划线:
- 带空格的文字
- 没有空格的文字
- 编码的%20spaces%20in%20URL
- underscore_means_space
- 破折号空间
- 加号+表示+空格
- 骆驼香烟盒
- PascalCase
- "带引号的带空格的文本"(以及单引号和双引号)
- 斜杠/均值/空格
- dot.means.space
从Google网站站长中心
Consider using punctuation in your URLs. The URL http://www.example.com/green-dress.html is much more useful to us than http://www.example.com/greendress.html. We recommend that you use hyphens (-) instead of underscores (_) in your URLs.