文章更新后外网仍是旧版:排查浏览器、WordPress 与 CDN 缓存

正文已更新但外部仍显示旧版时,逐层区分浏览器缓存、页面缓存和CDN缓存,并核对文章页、分类页及Sitemap的关联更新。

编辑器里已经是新内容,匿名访客却仍看到旧说明,常见原因是请求经过了不同缓存层。管理员登录后的预览可能绕过页面缓存,因此“我这里已更新”不能代表外部读者和爬虫收到同一版本。

先选一个能识别版本的内容变化

记录这次实际修订的段落、更新时间和公开 URL。用一段真实新增的说明作为版本标识,不必为了测试在正式正文里留下随机字符。随后分别检查登录预览、匿名访问和不同网络下的公开页面。

现象 优先检查
只有某个浏览器是旧版 浏览器缓存、返回历史快照或Service Worker
登录看新版本,匿名看旧版本 WordPress页面缓存与登录态绕过规则
部分网络或节点仍旧 CDN缓存与刷新范围
正文更新但列表摘要未变 分类页、首页和摘要是否另有缓存或字段
浏览器、站点页面缓存与CDN三个层级核对内容版本的概念图
AI 生成的概念示意图。

看响应证据,别只反复按刷新

在浏览器网络面板记录 Cache-Control、Age、ETag、Last-Modified 以及服务商提供的缓存命中字段。各产品的字段名称和语义不同,不能用某一家 CDN 的标头判断所有服务。Age 缺失也不能单独证明没有缓存。

MDN 说明,no-cache 允许保存响应,但再次使用前需要验证;no-store 才表达不存储。两者不应仅凭字面意思互换。改变响应头也不一定会立即清掉所有已经保存的旧副本。

刷新范围要与内容依赖对应

如果只改一篇文章,可先刷新相关文章页及受影响的列表页;图片内容在同一 URL 下被替换时,还需考虑浏览器与 CDN 的旧图片。对于可版本化的静态资源,新文件名往往更容易表达内容变化;稳定的文章 URL 则不宜为每次更新随意添加新版本路径。

避免每次发布都全站清空缓存。这样做会让所有请求同时回源,且无法解释真正失效的是哪一层。先查看本站插件与 CDN 的发布刷新能力,再按实际依赖范围测试。

给发布流程加一个外部验收

  1. 保存文章后,从匿名公开页面确认新增内容可见。
  2. 检查首页、分类页和相关文章入口是否仍显示过期摘要。
  3. 若更新影响索引信息,核对公开页面的 canonical、索引指令及Sitemap。
  4. 在不同访问路径复查,记录时间、节点或网络环境与返回版本。

不要为了解决旧内容问题,把登录态页面也放进公共缓存;这会产生另一类风险,可参考双账号缓存隔离检查。缓存验收的目标是让用户及时看到正确内容,同时保留合理的性能收益。

参考资料

MDN:HTTP 缓存

作者:lgd。资料核对:2026-10-08。本文采用 AI 辅助整理;示例用于说明方法,不代表本站实测数据。

最新文章

网站改版如何保留旧链接:逐条映射、重定向与上线验收

2026-10-8 2:18:06

最新文章

网站维护怎样使用503与Retry-After:区分临时停机和页面删除

2026-10-8 2:23:20

❯
搜索