URL的结构优化

本文最后更新于:4 个月前

在网上几乎没有搜到相关资料,把自己摸索的结果整理在这里,Hexo 的生成静态文件的方式的确很有意思。🤖

2020-06-01更新

准确来讲,URL 越短越利于 SEO 优化,我以前认为影响不大,现在看来,影响还蛮大的,尤其是 URL 层次超过四层,要被收录将很不容易。

我已将 URL 全部更新,例如本文的 URL 为:https://www.aimtao.net/setting-url/,算上被省略的 index.html 一共三层,还算可以。

故以下内容观点仅个人爱好,不推荐使用,但是关于 Hexo 的 URL 结构可以参考。

默认的 URL 结构

默认的 URL 由 域名 + 日期 + 文章名 组成,例如 https://www.xxx.com/2020/03/22/文章iD(或文章名)

期望的 URL 结构

期望的 url 由 域名 + 分类 + 文章名 组成,例如 https://www.aimtao.net/categories/分类名/文章名

此 URL 结构的好处

  1. 当文章名删掉后,即可查看该分类下的所有文章,以当前文章为例:https://www.aimtao.net/categories/practice。同理可得,当删掉分类名,可以查看所有分类,即:https://www.aimtao.net/categories
  2. 有效缩短 URL,因为距离首页越近的页面,被 spider 爬行的概率也大,也就是权重越高,有利于SEO 优化。
  3. 以年月日做后缀,我不是日更,意义不大。

如何优化

首先要知道的是,URL 其实就是文件的目录结构。在 hexo 中,永久链接 permalink 决定了 自动生成静态文件时的目录结构。

我修改的 permalink 如下,

  • categories/ 是一个常量,表示在 categories 文件夹下,生成静态文件。
  • :categories/ 自动获取 markdown文件中 Front-mattercategories: 的值。
# 在_config.yml中
root: /
permalink: categories/:category/:title/

生成静态文件的目录结构如下,

categories
├── 分类名01
│   ├── index.html  #该分类下的文章归档
│   └── 文章名01
│       └── index.html  #文章01
├── 分类名02
│   ├── index.html
│   ├── 文章名02
│   │   └── index.html
│   └── 文章名03
│       └── index.html
└── index.html     #对于各个分类的归档

对于实现对:categories/ 的定义 ,则是在markdown文件的 Front-matter 提前设置好,也就是在模版只能够设置好分类,而不是通通选择 post

注意区别

上面说的都是对 pulic 文件夹下的处理。注意区别对于 markdown 文件的储存路径。 markdown 文件没有办法按照分类来储存,也没必要,反而按照时间来储存可以和url的结构互补,

markdown 文件的储存路径,由new_post_name 来决定,官方文档要求只能用时间来归档,但是精确到天的归档文件夹有些鸡肋,我决定安年份来分文件管理,并在标题前面加上 :month-:day- 参数,以便按时间排序

new_post_name: :year/:month-:day-:title.md

本博客所有文章均个人原创,除特别声明外均采用 CC BY-SA 4.0协议,转载请注明出处!

 目录

致敬李文亮及各路英雄好汉!