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