什么是 slug ?
网址通常分为多个不同的部分:
<协议>://<主机名>/<路径>/<文件slug>?<查询字符串>#<片段>
路径、slug 和 查询字符串 决定了要访问服务器上的哪些内容。
需要注意的是: 这三部分是 分区分大小写的 ,因此,使用 FILE
与使用 file
将得到不同的网址。
对于静态网站来说,slug
就是 有效 url
的末尾部分的字段。
hugo 中 slug 与 title 的区别
hugo 等静态博客生成器中我们在每篇文章的 Front Matter 中设置 slug
和 title
:
|
|
-
hugo 使用
title
属性 生成你当前文章的标题 。 -
hugo 使用
slug
属性 来作为当前文章的有效url
的末尾部分 ;如果没有提供slug
则使用title
代替。
slug 的转换规则
当你设置一个 slug 之后,一般情况处理程序还会对其进行进一步的优化,使其更符合规范
- 将所有 字母转换为小写字母,
- 使用
-
替换 所有空格 - 删除所有特殊字符
在 hugo 中 如果 front matter 中没有slug:
或者是为空 slug: ""
时,将使用 title
代替 slug
;但是如果你将 其设置为只包含空格的字符串时 slug: " "
的话,则最终 url
末尾将显示一个 -
。
slug 优化原则
slug 在 url 中占有重要的部分,我们很有必要对其进行优化。优化原则有:
- 避免使用中文
- 避免使用
for
、and
、if
、or
等 停用词(会被搜索引擎过滤) - 保证最终的
url
尽量简短,slug
的长度保持在 3-5 个单词之间 - 在
slug
包含内容关键字,并选择正确的关键字
slug 优化后的好处
- 提高您在搜索引擎结果页(SERP)上的排名
- 使用户可以轻松地预测页面内容。
- 看起来对受众会更具吸引力。
简洁的 url 易于传达内容信息,并有助于 SEO。
搜索引擎更喜欢简短、关键字丰富的 slug。
搜索引擎会从搜索结果中剔除某些诸如 " for"," and"," if"," or" 等之类的词 ;它们被称为停用词。
由于搜索引擎在查找搜索结果时并不认为它们很重要,因此将它们包含在你的 URL 中将毫无意义,这会占用宝贵的资源。
url 的其他优化建议
尽量创建简单的url目录结构 :
简单合理的url目录结构,可以指明在该网址中的内容类型,并让访问者轻松知晓其在网站上的位置。让网址的结构合乎逻辑并易于人们理解(尽可能采用易读的字词而非冗长的 ID 编号)
避免: 深层嵌套的子目录;和使用与其内容无关的目录名称。
这里说的url目录对应文章开头介绍的网址中的 路径
考虑在网址中使用连字符 :
对于用户和搜索引擎而言,http://www.example.com/green-dress.html
这一网址比http://www.example.com/greendress.html
有用得多。建议在网址中使用连字符(-
)而非下划线(_
)。
url 示例
这里仅仅是展示
第三方博客平台:
直接在 url
末尾使用 文章 id
,比如知乎豆瓣等。个人觉得一个原因是,当我们在这些网站上发布文章时,是不能自定义文章的 slug
,那么每篇文章的 slug
就只能使用 id
代替。
一个例外是博客园,它允许你为文章指定
EntryName(友好地址名,只能使用字母、数字、-连字符、_下划线,不超过150个字符)
。
|
|
个人博客:
https://www.jeffjade.com/2016/01/13/windows-software-cmder/
http://blog.didispace.com/rest-api-security-base/
https://juemuren4449.com/archives/feedly-and-rsshub-radar
http://www.zsythink.net/archives/768
又比如:阮一峰的博客文章 《RDF 和 SPARQL 初探:以维基数据为例》 该文章的 url 为
http://www.ruanyifeng.com/blog/2020/02/sparql.html
slug 中仅包含了关键词 sparql