Hexo 博客地址重定向

动机

博客使用 Hexo 搭建,体验一直还是不错的,不过最近碰到个问题,Hexo 生成的文章 url 的格式是 /year/month/day/title ,网上一些说法是说对太长的 url 对 SEO 不利。

Hexo

关于这个说法,其实我并没有找到足够的证据。相反反而还找到了一些反对的证据:Google: URL Length Is Not A Ranking Factor

SEO

不过回过头来,站点目前没有备案,截止到 21 年 10 月也没有被百度收录。姑且先试试,另外英文的 url 在复制粘贴分享的时候也确实更加简洁美观。唯一需要考虑的是目前一些文章的链接已经被 Google 和 Bing 收录了,希望可以将这些站点 redirect 走,让它们不至于成为死链。

使用 hexo-generator-alias 进行重定向

在这个基础上发现了 Hexo 的这个插件:hexo-generator-alias,安装之后使用很简单,将 _config.yml 文件中的文章链接格式修改一下,我这里在文章中自定义一个变量叫 path_en,然后在每篇文章中定义一下这个变量。

修改文章 url 格式
文章头部增加变量

对于新的没有被搜索引擎收录的文章,直接这样做就可以了,但是对于已经被搜索引擎收录的文章,就需要增加一个重定向避免死链,类似下面这种:

已经被收录的 url 增加别名

增加了别名之后实际上会在 public 文件夹下多生成了一个用于重定向的 index.html ,将老的 url 重定向至新的 url 了。类似:

多生成的 index.html

references