使用hexo-abbrlink插件生成永久短链接
为了解决Hexo默认生成的链接,在修改文件名后,链接会跟这变,如果旧链接在其他地方有被引用,访问旧链接的响应为404错误。且链接为日期 + 目录,层级太多,不利于SEO。
因此急需一种生成永久短链接的方案!
生成链接的默认配置
1 | permalink: ':year/:month/:day/:title/' |
:title
指的是文章在_posts目录下的相对路径,不包含文件名后缀。
该配置会生成像下面这样的链接:
- 文章在_posts目录下
1 | http://localhost:4000/2021/05/24/hello-world/ |
- 文章在_posts/git目录下
如果文件名为中文,复制的URL是URL编码后的URL,这样不仅显示得很长,不易阅读,而且还不不易于SEO(通常搜索引擎只会爬取URL前三层)。
1 | http://localhost:4000/2021/05/24/git/Git%20LFS%E4%BD%BF%E7%94%A8%E9%81%87%E5%88%B0%E7%9A%84%E9%97%AE%E9%A2%981/ |
缺陷
- 修改文件名后,链接会跟这变。如果旧链接在其他地方有被引用,访问旧链接的响应为404错误。
- 日期 + 目录,层级太多,不利于SEO。
hexo-abbrlink
安装
直接看hexo-abbrlink的 README。
配置
你可以使用README中的配置。
下面是我的配置:
1 | # permalink: ':year/:month/:day/:title/' |
配置完成后先执行 hexo clean
,然后执行 hexo g
重新生成。
它会在每篇MarkDown的front matter中添加 abbrlink
,例如:
1 |
|
我的配置生成的链接如下:
1 | http://localhost:4000/p/bb533952/ |
问题
此插件我也发现了一个问题:如果没有title,生成的abbrlink为’0’ #56。
使用hexo-abbrlink插件生成永久短链接