编辑器里已经是新内容,匿名访客却仍看到旧说明,常见原因是请求经过了不同缓存层。管理员登录后的预览可能绕过页面缓存,因此“我这里已更新”不能代表外部读者和爬虫收到同一版本。
先选一个能识别版本的内容变化
记录这次实际修订的段落、更新时间和公开 URL。用一段真实新增的说明作为版本标识,不必为了测试在正式正文里留下随机字符。随后分别检查登录预览、匿名访问和不同网络下的公开页面。
| 现象 | 优先检查 |
|---|---|
| 只有某个浏览器是旧版 | 浏览器缓存、返回历史快照或Service Worker |
| 登录看新版本,匿名看旧版本 | WordPress页面缓存与登录态绕过规则 |
| 部分网络或节点仍旧 | CDN缓存与刷新范围 |
| 正文更新但列表摘要未变 | 分类页、首页和摘要是否另有缓存或字段 |

看响应证据,别只反复按刷新
在浏览器网络面板记录 Cache-Control、Age、ETag、Last-Modified 以及服务商提供的缓存命中字段。各产品的字段名称和语义不同,不能用某一家 CDN 的标头判断所有服务。Age 缺失也不能单独证明没有缓存。
MDN 说明,no-cache 允许保存响应,但再次使用前需要验证;no-store 才表达不存储。两者不应仅凭字面意思互换。改变响应头也不一定会立即清掉所有已经保存的旧副本。
刷新范围要与内容依赖对应
如果只改一篇文章,可先刷新相关文章页及受影响的列表页;图片内容在同一 URL 下被替换时,还需考虑浏览器与 CDN 的旧图片。对于可版本化的静态资源,新文件名往往更容易表达内容变化;稳定的文章 URL 则不宜为每次更新随意添加新版本路径。
避免每次发布都全站清空缓存。这样做会让所有请求同时回源,且无法解释真正失效的是哪一层。先查看本站插件与 CDN 的发布刷新能力,再按实际依赖范围测试。
给发布流程加一个外部验收
- 保存文章后,从匿名公开页面确认新增内容可见。
- 检查首页、分类页和相关文章入口是否仍显示过期摘要。
- 若更新影响索引信息,核对公开页面的 canonical、索引指令及Sitemap。
- 在不同访问路径复查,记录时间、节点或网络环境与返回版本。
不要为了解决旧内容问题,把登录态页面也放进公共缓存;这会产生另一类风险,可参考双账号缓存隔离检查。缓存验收的目标是让用户及时看到正确内容,同时保留合理的性能收益。
参考资料
作者:lgd。资料核对:2026-10-08。本文采用 AI 辅助整理;示例用于说明方法,不代表本站实测数据。
