URL持久化
- 我们可以发现hexo默认生成的文章地址路径是 【网站名称/年/月/日/文章名称】。比如这篇博客:
- http://localhost:4000/2021/12/16/hexo+yilia添加URL持久化
- 这种链接对搜索爬虫是很不友好的,第一它的url结构超过了三层,太深了。第二使用了中文路径。
- 这样会导致一个问题,在某些聊天工具或分享链接的时候会造成url转码变成很长一串难以读写的链接。
- 而且如果你的页面之前被收录或被转载后,当你再次编辑过后可能会造成之前的url失效带来不必要的404, 比如下面这样:
- http://localhost:4000/article/3328954643。别担心,我们有好办法来解决它。
第一种方式
打开_config.yml配置文件,找到permalink
#permalink: :year/:month/:day/:title/ 注释掉
# 改为下面这样
permalink: /article/:title.html
上面这种方式是去掉了年月日,保持网站最多三层。
第二种方式:(推荐)
安装 hexo-abbrlink插件:
npm install hexo-abbrlink --save
配置_config.yml,查找permalink,修改成这样:
# permalink: :title/ 将之前的注释掉
permalink: article/:abbrlink.html
abbrlink:
alg: crc32 # 算法:crc16(default) and crc32
rep: dec # 进制:dec(default) and hex
安装后的网址:http://localhost:4000/article/3328954643.html
注意:配置成功需要重新生成文件hexo clean,hexo g,不然会出现undefined的问题。
弊端
- 其实使用这个也有弊端:
- 按照原格式,发布后,在github仓库中你能很清楚的看到你写博客的日期,因为是按照网址分文件夹的。使用该插件后就看不到了。
分类和标签路径名英文化
- 上面我们已经实现将文章的URL简短化和英文化了,但是如果我们的标签和分类有中文,这个插件是控制不了的,
- 如有个生活的标签,该标签下的所有文章汇总如下:
- http://localhost:4000/tags/生活/,还是会出现中文。
- 其实这个问题hexo官方自带解决方法。
- 详见:https://hexo.io/zh-cn/docs/configuration.html#%E5%88%86%E7%B1%BB-amp-%E6%A0%87%E7%AD%BE