背景
hexo 默认的 url 是permalink: :year/:month/:day/:title/
特别长,层级也太多,不利于SEO
之前修改了一次,修改成了permalink: :title.html
还是很长,而且有汉字的时候会转码,之前专门建了个项目放demo,过长的URL引用起来很费劲。
于是想要改成时间戳的形式,一般文章的发表不会隔那么近,倒也不太影响
遇到的问题
用的第三方文章阅读次数计数是对应文章url的,文章URL变了之后阅读次数都变0了
解决
查找资料……
已经发表的文章url还是用标题,新增的文章url采用时间戳
修改hexo设置文件_config.yml,增加一个urlname属性1
2
3permalink: :urlname.html
permalink_defaults:
urlname: index
修改 scaffold/post.md文件,在Front-matter区域增加一个urlname属性1
2
3
4
5---
title: {{ title }}
urlname: {{ timestamp }}
date: {{ date }}
---
手动修改hexo文件 /node_modules/hexo/lib/hexo/post.js
1 | const preservedKeys = ['title', 'slug', 'path', 'layout', 'date', 'content', 'timestamp']; // 添加timestamp |
测试可用,终于可以告别冗长的URL啦~~