前言
Hexo默认的静态URL格式是 :year/:month/:day/:title
,也就是按照年、月、日、标题来生成固定链接的。如http://xxx.yy.com/2020/07/06/hello-world
这种默认配置的缺点就是一般文件名是中文,导致url链接里有中文出现,这会造成很多问题,也不利于seo,另外就是年月日都会有分隔符。
知识点
info,百度蜘蛛抓取网页的规则: 对于蜘蛛说网页权重越高、信用度越高抓取越频繁,例如网站的首页和内页。蜘蛛先抓取网站的首页,因为首页权重更高,并且大部分的链接都是指向首页。然后通过首页抓取网站的内页,并不是所有内页蜘蛛都会去抓取。
success,搜索引擎认为对于一般的中小型站点,3层足够承受所有的内容了,所以蜘蛛经常抓取的内容是前三层,而超过三层的内容蜘蛛认为那些内容并不重要,所以不经常爬取。出于这个原因所以permalink后面跟着的最好不要超过2个斜杠。
使用 hexo-abbrlink 插件可以完美解决,具体使用方法如下:
安装插件
1
| npm install hexo-abbrlink --save
|
- 修改
_config.yml
文件中的配置项(记得把原来的permalink:
删除掉):
1 2 3 4 5
| #设置永久链接 permalink: posts/:abbrlink.html # 此处可以自己设置,也可以直接使用 :/abbrlink abbrlink: alg: crc16 #算法: crc16(default) and crc32 rep: dec #进制: dec(default) and hex
|
关于插件设置
Abbrlink插件拥有两项设置选项:
alg
: 算法(目前支持crc16
和crc32
算法,默认值是crc16
)
rep
: 形式(生成的链接可以是十六进制格式也可以是十进制格式,默认值是十进制格式)
示例
1 2 3 4 5 6 7 8 9
| crc16 & hex https://www.heson10.com/posts/55c6.html crc16 & dec https://www.heson10.com/posts/43212.html
crc32 & hex https://www.heson10.com/posts/6ec16a2c.html crc32 & dec https://www.heson10.com/posts/1521457752.html
|
danger,注意在生成之前就要改好算法和形式。不然后面再改的话会导致链接不统一。我就踩过坑,但后来是一个文章一个文章删除abbrlink:
的值才改过来的,还好我文章不是很多。
话说最近看到了Hexo-abbrlink2这个插件,可以从1.html开始编。
我试用了一下,会导致文章重复,正在研究如何解决。如果能从1开始编写的话,这样更容易看得出写了多少篇文章,当前上传和修改的是哪一篇。后面再研究。
PS:刚使用这个插件后,阅读人数和评论都会变为0,介意慎用!综上所述,这插件适合新站!