Hexo 默认的永久链接配置为:year/:month/:day/:title/,这样生成的链接会成为一个四级目录,对于搜索引擎来说并不是很友好。这里介绍一个 Hexo 插件 hexo-abbrlink,它能将 Hexo 生成的永久链接转化为一个固定的随机值,极大的缩短了永久链接的长度。一旦生成一个随机值,之后对文章的标题或者时间进行任何修改,这个随机的 abbrlink 是不会发生任何变化的,也为 Hexo 的维护提供了便利。

将插件添加到 Hexo

博客目录下执行 npm 安装指令

1
2
$ npm install hexo-abbrlink --save      #提示错误可以加上sudo像下面一样
#npm install hexo-abbrlink --save

以下设置均修改博客根目录下的配置文件.config.xml

修改默认的永久链接参数

1
2
3
4
5
6
# URL
## If your site is put in a subdirectory, set url as 'http://yoursite.com/child' and root as '/child/'
url: https://ifibe.com/ #替换为你自己的链接
root: /
permalink: posts/:abbrlink/ #这里就是永久链接的参数设置
permalink_defaults:

当永久链接参数为permalink: posts/:abbrlink/时,生成的文章链接类似于/post/cd6eb56d/,例如https://ifibe.com/post/cd6eb56d/

1
2
3
4
# abbrlink config
abbrlink:
alg: crc32 #support crc16(default) and crc32
rep: hex #support dec(default) and hex

参数:alg 对应随机值算法参数,可选为 crc16 和 crc32
参数:rep 对应生成链接的表示方法,hex:十六进制,dec:十进制
两种参数的生成区别:
crc16+hex

1
/posts/66c8/

crc16+dec

1
/posts/65535/

crc32+hex

1
/posts/8ddf18fb/

crc32+dec

1
/posts/1690090958/

对于 crc16 算法生成的随机值,具有一个最大限度,为 65536。

使用前执行

1
$ hexo clean & hexo g