从 WordPress 说起

早些年搭博客,默认答案是 WordPress。它确实强大,主题、插件要啥有啥。但真用一段时间就会发现问题:绝大部分功能我都不会点开,可服务器该开着还得开着,数据库该备份还得备份。

部署是第一道坎。PHP、MySQL、服务器一样不能少,每次搬家都导库、对编码、修链接,我只是想写点东西,却被迫运维。

性能说不上差,但也没好到哪去。每位访客来一次,服务器都得现查一遍数据库、跑一遍 PHP。后来我想明白一件挺讽刺的事:读者拿到的就是一张渲染好的 HTML,和提前算好的静态页摆在一起看不出区别,服务器和数据库一天没歇过。

搬家最劝退。文章捆在数据库里,导出导入处处小心,图片路径一件件收拾。

想明白之后

博客这东西拆开看非常朴素:一群 Markdown 文件,加一套模板,顶多再来个 RSS。没理由继续为用不到的功能付账。

于是我换成了 Hugo,纯静态,内容用 Markdown 写。

写作就是开一个 .md 文件,文章直接躺在 git 仓库里,提交历史就是修改历史。发布也不折腾,hugo 一条命令出整个站点,扔给 Cloudflare Pages 就上线。没有服务器要养,没有数据库要备份,你现在读的这篇,就是浏览器直接从 CDN 拿回的 HTML。整个博客就是一个文件夹,哪天想换框架、换托管,拷走重来就是。速度方面,单个二进制不挑环境,文章毫秒构建完,分类、标签、RSS 都是原生支持,不用装插件。

对硅基朋友也很友好

博客的读者从来不止人。搜索引擎爬虫、RSS 订阅器是老常客,这两年又多了各家 AI 的抓取程序。

静态 HTML 正好是它们的主食:URL 是干净的,全文不需要执行任何 JS 就能读到,RSS 也是现成的。Markdown 源文件更是结构化的纯文本,大模型读起来几乎不损耗什么。人在浏览器里看到的排版,和硅基朋友拿到的文本,是同一份东西。

小结

换 Hugo 之后,最明显的变化在写文章这件事上:以前是登录后台、等编辑器加载、调半天格式,现在是开个文件写 Markdown,push 完一两分钟就上线。省下来的心思,正好用来想下一篇文章写什么。