背景
hexo 默认情况下,生成的HTML文件名是new post时输入的文件名,而在创建文章时,这个文件名输入相信很多人都是输入的中文,那么最终生成博客时,生成的文件也是中文文件命,这个对搜索引擎是比较不友好的,还一个点就是有些插件对url长度有限制,那么中文的文件名url经过url编码后会很长很长,无法使用。下面就来讲讲怎么修改这个url。
方案
这个生成文件名的修改网上也有一些方案,比如自己写脚本来批量改相关内容,参考这片文章:
修改Hexo自动生成的HTML文件名
也有一些现成的插件呀,参考下面这个文章,里面的GitHub连接点进去还有另一个插件:
永久链接
不过吧,其实没那么麻烦,因为这个功能hexo本身已经提供了的。
hexo 根目录下的_config.yml里面有以下参数:
1 | permalink: :year/:month/:day/:title/ |
这个其实就是指定了生成文章后的url的,接下来就讲下怎么改,首先看下面这个我的配置:
1 | permalink: :year:month:day/:urlname.html |
首先将url的层级减少,但是最好不要减完,减少是因为这样对于搜索引擎比较友好,不减完是为了让文章不至于全部在一个层级里面,这样会很难维护,我这里改成了只有两级。
这里可以应用的参数有以下这些默认的:
但是有没有发现,上面我的配置里面有个urlname,这里里面并没有,这个参数就是自定义的一个参数,这里是允许我们自定义参数的,就在我们写博客的头部,如我的一个博客的头部内容是:
1 |
|
那么对应的博客的uri就是/20210228/blog_init_2.html
这个文件头部模板是在博客的scaffold/post.md配置的,我们可以直接将这个自定义参数加在里面,这样每次新建文章的时候就会自动生成了
1 |
|