2026 年 10 月我们给一个文档站做了静态化和边缘缓存,首字节从 900 毫秒降到 120 毫秒,首屏进入一秒内。改动不涉及业务逻辑,只是把渲染的结果提前算好,放到离用户近的地方。
静态化解决什么
动态渲染每次请求都要查数据、拼模板,再快也有几百毫秒。
静态化就是提前生成 HTML,请求来了直接返回文件。服务器压力也降下来了,一个静态文件能扛住大量并发。
对搜索引擎也有好处:返回稳定、内容完整、不依赖 JS。
哪些页面能静态化
营销页、产品页、文档页、博客文章、案例页,这些内容变化不频繁,全部可以。
不能静态化的是个性化内容:登录后的后台、购物车、实时数据看板。
中间状态是列表页和搜索页。可以静态化基础部分,动态部分用客户端填充,但要小心 CLS。
边缘缓存怎么配
把静态文件推到 CDN,缓存时间设长,用文件名哈希做版本。
HTML 的缓存时间设短,五分钟到一小时,配合主动刷新。
缓存键只保留路径,别把查询参数和 Cookie 算进去,否则命中率会很低。
内容更新怎么触发
三种方式。
第一,增量构建。内容变了只重新生成受影响的页面,几分钟完成。
第二,webhook 触发。CMS 发布时调用构建接口,全量或增量重建。
第三,短 TTL 兜底。就算触发失败,缓存到期也会自动回源,最多晚一小时。
三种一起用最稳,我们给客户的配置就是这样。
预热很重要
静态化之后第一批访问的用户,如果缓存还是冷的,体验和以前一样。
我们的做法是发布后主动请求一遍核心页面,把缓存预热。二十个页面,两分钟跑完。
预热脚本放在发布流程里,自动执行,别靠人记得。
一个常见的误解
静态化不等于不用服务器。构建、预热、缓存刷新都需要服务,只是请求量大时不再实时渲染。
还有一层容易忽略:静态文件如果没开压缩,传输体积会大两三倍。构建产物要先压好再上传,别指望 CDN 自己处理所有格式。
一个态度
静态化是 TTFB 优化里最彻底的一招,能到百毫秒级。但它的前提是内容能提前算好。
对于需要实时数据的站,静态化只能覆盖一部分页面,别硬上。
还有一个隐形成本:构建时间。几千页的站,全量构建可能要十几分钟,所以增量构建是必须的。
我们给客户的验收标准是:核心页面首字节低于 300 毫秒,首屏 LCP 低于 1.5 秒。做到这两个数,性能这条线基本不用再操心。
元析智能
为软件公司做 SEO 和 GEO 优化