URL slug的理想长度是多少

时间:2010-05-27 12:25:10

标签: web-applications url-rewriting seo

要从文章标题制作漂亮的网址,我使用的是一个简单的功能。不过最近我关注这些“slu”的理想长度。据说太多破折号都不好。

然而,一些文章标题可能很长,谷歌可能不会喜欢太长的网址。当然,这会破坏URL slugs的全部想法。

所以有人知道URL slug应该有多长。使用的“破折号”字符是否应该有限制?

4 个答案:

答案 0 :(得分:25)

如果你真的想要经济地使用URL空间,我会比介词和动词更积极地删除文章(a,a,an等),因为删除的文章不会更改句子的语义。 / p>

e.g。

What is the ideal length of an URL slug

删除文章

What is ideal length of URL slug

删除“什么是”

ideal length of URL slug

归一化

ideal-length-of-url-slug

答案 1 :(得分:3)

我建议将slu to缩短到整个网址最多72个字符的程度。这是一个古老的电子邮件约定,允许在达到标准的80个字符限制之前进行几级引用。我知道现代技术意味着我们不必关心线路长度限制,但由于各种原因它仍然是一个合理的惯例。请参阅此相关讨论:Is there a valid reason for enforcing a maximum width of 80 characters in a code file, this day and age?。 还有一个实际问题是,如果您的网址包含在内,您的网址可能无法完整保存并可在某些电子邮件客户端中点击。

至于如何将网址保持在合理的长度,我认为应尽可能手动选择网址。 你写了一篇完整的文章,也可以为它编写一个简洁的URL。 以下是我的博客的.htaccess文件,以防您觉得它有用。 每篇文章都有一个很长的网址,如

myblog.com/2010/05/30/ideal-length-of-url-slug

(Wordpress建议使用默认值,但我通常会手动压缩它。) 然后我使用下面的重写规则来制作一个尽可能短的版本,我通常可以记住并轻松提及(或者当然是推特)。像

这样的东西
myblog.com/slugs

这是我的.htaccess文件的内容,在/ var / www / html / myblog中:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /

RewriteRule ^admin/?$       wp-admin  [L]

# Aliases for blog posts: (NB: NEVER CHANGE/DELETE THESE; ONLY ADD NEW ONES!)
RewriteRule ^flu/?$         2009/03/21/the-future-is-yesterday [R,L]
RewriteRule ^oracle/?$      2009/03/25/the-oracle-of-brackets [R,L]
RewriteRule ^perfbrack/?$   2009/03/29/the-perfect-bracket [R,L]
RewriteRule ^nytimes/?$     2009/04/01/anon-sources-at-the-new-york-times [R,L]
RewriteRule ^mktbottom/?$   2009/04/07/finding-the-market-bottom [R,L]
RewriteRule ^landlords/?$   2009/05/24/landlords [R,L]
RewriteRule ^buyrent/?$     2009/06/01/buyrent [R,L]
RewriteRule ^sunk/?$        2009/06/23/sunk [R,L]
RewriteRule ^horse/?$       2009/07/01/horse [R,L]
RewriteRule ^wellmanblog/?$ 2009/07/31/wellmanblog [R,L]
RewriteRule ^centmail/?$    2009/08/15/centmail [R,L]
RewriteRule ^longtail/?$    2009/08/31/anatomy-of-the-long-tail [R,L]
RewriteRule ^scarequotes/?$ 2009/09/30/scarequotes [R,L]
RewriteRule ^scare/?$       2009/09/30/scarequotes [R,L]
RewriteRule ^dst/?$         2009/10/31/dst [R,L]
RewriteRule ^searchpred/?$  2009/11/30/what-can-search-predict [R,L]
RewriteRule ^scrooge/?$     2009/12/31/scrooge [R,L]
RewriteRule ^pmhype/?$      2010/01/14/prediction-without-markets [R,L]
RewriteRule ^predmarkets/?$ 2010/01/14/prediction-without-markets [R,L]
RewriteRule ^calibration/?$ 2010/02/28/calibration [R,L]
RewriteRule ^calib/?$       2010/02/28/calibration [R,L]
RewriteRule ^calresults/?$  2010/03/31/calibration-results [R,L]
RewriteRule ^misleadingmeans/?$ 2010/04/30/misleading-means [R,L]

</IfModule>

但事后看来,我会抛弃URL中的日期并执行类似StackOverflow所做的事情,以尝试使用简洁与描述性URL来实现两全其美。 StackOverflow允许您在问题ID部分之后截断甚至更改问题的URL。所以以下所有都是这个问题的链接:

最后一个对我的口味来说仍然太长了,所以我会将规范网址

myblog.com/foo

然后允许斜杠后跟其他任何内容,例如

myblog.com/foo/fooing-and-barring-in-the-modern-world

这是一个重写规则:

RewriteRule ^foo(/.*)?$   foo [R,L]

如果你想让myblog.com/bar成为myblog.com/foo的别名,可以添加其他规则:

RewriteRule ^bar(/.*)?$   foo [R,L]

这里的缺点是,如果你想让你的文章slug在你的网站的全局命名空间 - 我认为这比myblog.com/articles/foo更好 - 那么你必须添加一个重写规则对于每篇文章。

答案 2 :(得分:2)

我的猜测是,如果你从你的网址中删除所有不重要的单词,就不会有这么多......对于这个问题,它是理想的,长度,网址和slug。

据我了解,谷歌非常以关键词为中心,而像“what”,“is”,“the”,“of”,“an”这样的词语并不是很好的关键词。

无论如何,如果你只保留最具特色和重要性的词语,那么slug就不会变得太长,因为较短的URL会包含不太重要的信息。

当然这只是一种推测。

格尔茨
back2dos

答案 3 :(得分:2)

我认为使用的短划线字符数量有限制会产生影响。您应该将整个字符串限制为最多约80-100个字符

喜欢back2dos说你可以删除一些常用的单词但理想情况下,slug应该作为页面标题有意义。以此页面为例,删除所有常用字词会为您提供ideal-length-url-slug哪种方式有用。但我会说ideal-length-of-url-slug更好。