Hexo-永久連結設定

按照官方文件的預設在 _config.ymlpermalink: :year/:month/:day/:title/ 做為 url

這種配置由於 url 太多層不利於 SEO 而且若 title 使用中文則導致 url 內出現中文會造成很多問題

另外 title 修改導致 url 變動,若使用 Disqus 第三方留言服務,也會造成留言流失的問題

解決辦法

一般有兩個方法,在此介紹第二種方法

  1. 使用 urlname
  2. 使用 hexo-abbrlink

使用 hexo-abbrlink 套件會自動生成唯一的連結,新增時不需要再增加 urlname 屬性,後期修改文章連結也不會變動。連結層級短,更利於 SEO ( 一般 SEO 只爬三層 )

npm install hexo-abbrlink --save

設定 yaml

blog/_config.yml
1
2
3
4
permalink: posts/:abbrlink/
abbrlink:
alg: crc32 # support crc16(default) and crc32
rep: hex # support dec(default) and hex

重新渲染頁面

$ hexo clean
$ hexo g
$ hexo s

可以發現每一篇 post 的 Front-matter 區域會自動生成一行 abbrlink,即使文章本身沒設定 date 也無妨

abbrlink: d3aa7087

https://域名/posts/d3aa7087 即是此篇文章的 url

參考資料
rozbo/hexo-abbrlink
hexo链接持久化终极解决之道

0%