博客优化V7:六个问题、思考、解决
作者:
| 更新日期:有必要每半年或者每一年优化一次。
本文首发于公众号:天空的代码世界,微信号:tiankonguse
零、背景
我买了一个域名, 具体是 2013 年买的。
后来使用 github page 搭建了一个静态博客, 具体是 2014 年创建的。
之前我的公众号所有文章,都是先发到博客上,然后复制进公众号的。
这样的好处是公众号文章不需要自己重复调整格式,直接使用博客的文章格式即可。
2022 年到了,我发现这个博客已经年久失修,所以这个元旦就维修了一下。
下面分享下我的博客都面临什么问题,我是如何思考与设计的,以及最后是如何解决这些问题的。
一、图片储存
2014 年,博客的图片与博客放在一个 git 项目下。
时间久了,发现一个问题:git 项目非常大,clone 比较慢。
2015 年,我进行了图片与文字的拆分。
方案是通过百度云 + VPS 服务器 + PHP 代理,构造出一个免费的无限容量的图床。
具体实现分四步。
1、图片上传到百度云上,分享出来得到一个分享链接。
2、VPS 服务器上的 php 工具把分析链接转化为内部链接。
3、VPS 服务器上的 php 语言开发一个 HTTP 代理,把分享链接转换为百度云的图片地址。
4、通过 HTTP 跳转协议,内部链接跳转到百度云的真实图片链接。
2017 年,VPS 没再续费了,于是代理不存在了,图片全部挂了。
我就想,百度云加代理不靠谱,还是使用 github 当图床比较好。
之后就建了一个单独的项目来储存图片。
2019 年,再次遇到图片项目太大,github clone 不下来问题。
我就想,这么多年的图片,项目肯定大了,应该按年来拆分。
于是每过一年,我就把之前一年的图片迁移到那一年为名字的项目下。
2022 年,又到迁移图片的时候了。
我找出往年写的迁移 Bash 脚本,准备迁移的时候想到一件事。
每次迁移之后,博客内访问图片没问题。
第三方网站抓取了博客,储存的是图片地址的话,就会全部 404.
我便想方案需要改成图片地址永久不变化。
于是就改成了现在这个方案,每年建一个当年的图床。
写文章的时候直接把图片上传到对应年份的项目里,这样就不需要迁移了。
所以,我也决定, 2021 年的图片就放在 res 图片项目里面不变了,防止 404。
二、开启 https 带来的问题
在文章《Chrome 已屏蔽 mixed-content 错误解决方案》中有提到。
我最近发现 github page 支持开启 https,就顺手打开了。
结果发现文章的图片打不开了,抓包看报 已屏蔽 mixed-content 错误。
原因是 chrome 新版本的安全策略问题。
解决方案这里就不提了,感兴趣的可以去看上面那篇文章。
三、404 无效链接问题
如果你之前见过我博客的 404 页面的话,会发现长这个样子,有一个无效链接声明。
之所以这样,是因为我博客的文章链接规则修改过。
于是我想,既然规则修改了,那就需要把当前网站互相引用的链接修复了。
之前图片迁移替换我都是写的 bash + sed。
这次换了一个方法,直接在 vscode 的替换里写正则表达式,全量替换即可。
效果如下:
四、RSS 修复
刚毕业那几年,我经常订阅 rss 博客的。
所以我的博客也支持了 rss 订阅。
去年由于博客出了点问题,我为了降低 github page 的计算量,把无关的功能全删了,包括 rss 订阅。
当时还收到一封邮件,有人问我 rss 是不是挂了。
所以,现在我又把 rss 补回来了。
五、导航优化
前几年,我工作上负责前端的时候,我给博客增加了一个导航搜索功能。
今天想,这个导航有每个分类的博客数字就好了。
于是就加了这样一个取悦自己的功能。
六、标签标准化
上一下小节里,导航的截图里可以看到“程序人生”这个分类的文章最多。
那是因为,几年前,我的所有文章的分类都复制的上一篇文章的,都标记的“程序人生”。
于是,我便启动了一个文章分类标签标准化的事情。
对于 Leetcode 比赛的文章,我已经使用 Bash 脚本全部处理掉了。
剩余的关键词没有那么集中,我便手动来处理了。
现在还没处理完,计划这周一点点处理,处理完了,“程序人生”分类的博客应该可以降到 300 以内吧。
七、最后
这次对博客进行了优化,还是解决了不少问题的。
1、图片项目以后没必要每年迁移一次了。
2、博客也开启了 Https。
3、博客的 404 无效链接批处理全部替换了。
4、修复了 rss。
5、优化了导航。
6、优化了文章标签。
博客应该还有不少小问题,你有遇到什么问题吗?有什么建议吗?
对了,我的域名在 godaddy 买的,我计划转到腾讯云,然后给域名备案一下。
对于这个想法,你怎么看待的呢?
对了,今年开始,我重新开始订阅 rss 阅读博客文章了。
目前你还有阅读 rss 博客吗?使用什么 rss 订阅网站?手机又使用的什么网站呢?
《完》
-EOF-
本文公众号:天空的代码世界
个人微信号:tiankonguse
公众号ID:tiankonguse-code
本文首发于公众号:天空的代码世界,微信号:tiankonguse
如果你想留言,可以在微信里面关注公众号进行留言。