为什么我用静态站点搭个人博客
约 2 分钟阅读
这个博客换过几次方案,最早是带后台的动态博客,后来是文档框架,现在是纯静态生成。把决策过程记下来,避免下次再纠结一遍。
为什么放弃动态博客
动态博客的优点很直接:装完就有后台、有编辑器、有评论。但对一个只写技术笔记的个人站点来说,这些能力大部分用不上,而每一个用不上的能力都是持续成本。
用不到的能力都会变成负担
- 后台登录入口:需要持续跟进安全更新,被扫到就是挂马风险
- 数据库:要备份、要迁移,升级时最容易出问题
- 评论系统:要处理垃圾内容与审核,还涉及用户内容的管理责任
- 插件生态:插件质量参差不齐,一次升级就可能白屏
我实际高频使用的功能只有一项:写 Markdown 然后发布。那就把方案压缩到只剩这一项。
静态方案的实际收益
加载速度
构建产物就是 HTML、CSS 和少量图片,没有服务端渲染和数据库查询。首页的 HTML 体积能控制在 10KB 以内,框架运行时 JS 可以做到 0。
安全面
没有后台、没有数据库、没有写接口,攻击面基本只剩 Web 服务器本身。对一个个人站点来说,这是最省心的状态。
维护成本
文章即文件,内容随代码一起进版本库。想改哪篇就改哪个文件,改错了可以直接回滚。
代价是什么
静态化不是没有成本,主要代价集中在三处:
- 没有即时发布:每次发布要本地构建再上传,多了一步
- 没有服务端能力:搜索、评论这类需要实时数据的功能要么去掉,要么换成构建期方案
- 内容格式受限:必须用 Markdown 写,富文本粘贴体验不好
对我来说这三条都可以接受,因为它们的替代方案(本地构建脚本、构建期生成索引、Markdown 写作习惯)成本都不高。
结论
选择方案的标准不应该是「功能多不多」,而是「实际用到的部分能不能做得更可靠」。个人站点的可靠,优先级远高于功能丰富。