SEO优化:Hexo-abbrlink插件生成永久固定链接 {#SEO优化:Hexo-abbrlink插件生成永久固定链接}
初衷 {#初衷}
之前一直困扰了很长一段时间,写完博客,访问博客文章链接很长,中文直接转 UTF-8编码
了,导致对分享链接来说很不友好。经过询问博友们,这让我接触到了 Hexo-abbrlink
。
关于Hexo-abbrlink {#关于Hexo-abbrlink}
Hexo-abbrlink
是一个 Hexo 插件 ,用于基于文章标题和前置数据生成静态文章链接,是博客链接永久化的解决方案。
该插件支持 .textbundle
格式 -- 一种包含 markdown 和相关资源的文件格式。实际上, .textbundle
文件是一个文件夹,在 macOS 的 Finder 中显示为文件。
安装方法 {#安装方法}
将插件添加到 Hexo:
|-----------|------------------------------------------|
| 1
| npm install hexo-abbrlink --save
|
修改 config.yml
文件中的永久链接:
|---------------|-------------------------------------------------------------------------|
| 1 2 3
| permalink: posts/:abbrlink/ # 或 permalink: posts/:abbrlink.html
|
有两个设置:
|-------------|-----------------------------------------------------------------------------------|
| 1 2
| alg -- 算法(目前支持 crc16 和 crc32,其中 crc16 是默认值) rep -- 表示(生成的链接可以用十六进制或十进制表示)
|
|------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14
| # abbrlink config abbrlink: alg: crc32 # 支持 crc16(默认)和 crc32 rep: hex # 支持 dec(默认)和 hex drafts: false #(true)处理草稿,(false)不处理草稿。false(默认) # 从目录树生成类别 # depth:您要生成的目录树的最大深度,应> 0 auto_category: enable: true # true(默认) depth: # 3(默认) over_write: false auto_title: false # 启用自动标题,可以通过路径自动填充标题 auto_date: false # 启用自动日期,可以通过今天的时间自动填充日期 force: false # 启用强制模式,在此模式下,插件将忽略缓存,并为每篇文章计算 abbrlink,即使它已经有 abbrlink。这只更新 abbrlink 而不是其他前置变量。
|
示例 {#示例}
生成的链接将如下所示:
|-------------------|------------------------------------------------------------------------------------------------------------------------------|
| 1 2 3 4 5
| crc16 & hex https://blog.zhaoziyi.site/posts/a1e8a28a.html crc16 & dec https://blog.zhaoziyi.site/posts/dc5e24b.html
|
限制 {#限制}
[fixed] 最大文章数为 65535(对于crc16).(现在,如果已存在 abbrlink,则会更改另一个并一遍又一遍地尝试...)
报错解决方案 {#报错解决方案}
经过百般努力,这个配置完成之后,文章的链接都变成了undefined (如图所示),新的文章没问题,老的文章就不行了。这个问题其实仔细想一下就能明白,我们首先要执行 hexo clean
清楚掉以前生成的文章缓存,然后 hexo generate
重新渲染就ok了。
关于插件的更多信息 {#关于插件的更多信息}
参考: https://github.com/rozbo/hexo-abbrlink2
成果 {#成果}
总体来看,效果还是蛮不错的,耶比耶比~