Hexo 默认的永久链接配置为:year/:month/:day/:title/,这样生成的链接会成为一个四级目录,对于搜索引擎来说并不是很友好。这里介绍一个 Hexo 插件 hexo-abbrlink,它能将 Hexo 生成的永久链接转化为一个固定的随机值,极大的缩短了永久链接的长度。一旦生成一个随机值,之后对文章的标题或者时间进行任何修改,这个随机的 abbrlink 是不会发生任何变化的,也为 Hexo 的维护提供了便利。
安装使用 abbrlink
将插件添加到 Hexo
博客目录下执行 npm 安装指令
代码语言:javascript复制$ npm install hexo-abbrlink --save #提示错误可以加上sudo像下面一样
#npm install hexo-abbrlink --save
启用 abbrlink
以下设置均修改博客根目录下的配置文件.config.xml
修改默认的永久链接参数
代码语言:javascript复制# 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/
。
启用 abbrlink
代码语言:javascript复制# abbrlink config
abbrlink:
alg: crc32 #support crc16(default) and crc32
rep: hex #support dec(default) and hex
abbrlink 参数说明
参数:alg
对应随机值算法参数,可选为 crc16 和 crc32
参数:rep
对应生成链接的表示方法,hex:十六进制,dec:十进制
两种参数的生成区别:
crc16 hex
/posts/66c8/
crc16 dec
代码语言:javascript复制/posts/65535/
crc32 hex
代码语言:javascript复制/posts/8ddf18fb/
crc32 dec
代码语言:javascript复制/posts/1690090958/
对于 crc16 算法生成的随机值,具有一个最大限度,为 65536。
使用 abbrlink
使用前执行
代码语言:javascript复制$ hexo clean & hexo g