记一次网站重大升级

升级内容

4月中旬忙里偷闲对网站做了几年以来最大的升级。将NeXT主题从7.x版本升级到8.x版本,页面链接的前缀从http变成了https,还修改了向搜索引擎提交网站地图的配置。虽从网站外观上看不出任何变化,但背后的改变是巨大的。

主题升级

升级原因

NeXT主题从7.x到8.x基本没有外观上的美化,所以本来没有多大动力去升级主题,直到在Bing Webmaster Tools中看到了很多高级别警告的SEO建议:页面上有多个<h1>标签。我看了网页的源代码,确实,网站名称和文章标题都是<h1>标签,8.x版本则解决了这个问题。

升级步骤

我是直接将8.x的源文件放到对应目录中,对着_config.yml配置文件逐项检查修改。修改的重要内容有:

  1. 选择主题风格scheme,修改since的年份
  2. 修改favicon的图片路径和avatar的url
  3. 设置在每篇文章下方显示所采用的Creative Commons许可协议
  4. 配置侧边栏的menu、social和links,将旧版对应内容复制过来即可
  5. 支持数学公式,将mathjax设置为true,在CodeBlocks中修改代码风格
  6. 将CDN配置从默认的cndjs修改为unpkg
  7. 填写搜索引擎的认证字符,填写GA的Tracking ID

版本间的差异

8.x版本默认不支持我当前用的Valine评论系统,所以要自行安装相关插件,然后在_config.yml中添加相应的配置内容,这部分请参考Hexo NexT Valine

8.x版本中暂时不支持相关文章功能,因为插件Related Popular Posts在新版的NeXT主题中已无法运行。而新版主题中自带的另一个Related popular posts又不支持Hexo的最新版。没有了相关文章这个功能会大大减少内部链接的数量,比较遗憾。

链接前缀

Hexo网站源码中有两个_config.yml文件,根目录下的是网站配置文件,NeXT主题文件夹根目录下的是主题配置文件。网站配置文件里有个配置项url,之前的值是http: panqiincs.me,那么框架生成的本站页面的链接都是以它为前缀。比如更新之前,文章页面下方版权声明中的「本文链接」都是以http开头。

如今安全链接已经非常普及,这次修改链接前缀本是好事,没想到却引入了其他问题。

网站地图

修改链接前缀后,网站地图sitemap中的链接也全部变成https的,这导致了Google Search Console中的巨变。Google是分别处理HTTP和HTTPS的,之前索引的都是http开头的链接,提交新的sitemap文件后,这些链接全部变成「已索引,未在网站地图中提交」的状态。

为了解决这个问题,我在Search Console添加了个新网站(添加新的Property),是https开头的网站链接,和之前http开头的区别开来。索引和爬取数据会从零开始,这种做法短期内应该会对网站排名有影响。Google推荐的做法是,分别生成http和https两个版本的sitemap,但受限于本网站的框架,做起来会很麻烦。

总结

这次更新对网站的HTML文件结构有重大优化,而且所有链接都变成了https,长期来看对SEO是有好处的。但由于sitemap的变化,短期内会很影响页面索引和爬取。不过谈SEO也没什么意义,毕竟本网站的访问量一直都很小。

参考

  1. Should I submit sitemaps of both http and https version of website?
  2. Moving from HTTP to HTTPS in Google Search Console