跳到主要内容

CDN 缓存配错,改版后蜘蛛三天没看到新内容

一次改版上线三天,搜索引擎抓到的还是旧页面,原因是 CDN 缓存把 HTML 缓存了 7 天。缓存和抓取的关系、三个配置原则、怎么验证都在这篇,附我们踩过的两次坑。这层不出问题则已,出问题就是全站级别的,别等出事再查。

技术SEO 元析智能

一次改版上线三天,搜索引擎抓到的还是旧页面,原因是 CDN 缓存把 HTML 缓存了 7 天。缓存和抓取的关系,很多技术团队没意识到。

那次事故

2026 年 3 月,一个客户的官网改版,产品页 URL 和结构都变了,301 也配好了。上线三天,Google 和百度抓到的还是旧页面,新页面的收录为零。

查日志发现,蜘蛛请求的返回内容来自 CDN 缓存,缓存 key 没带版本号,HTML 的缓存时间被设成了 7 天。

我们把 HTML 的缓存策略改成"短缓存 + 主动刷新",重新推送 CDN,第二天蜘蛛就抓到了新页面。但已经浪费了三天,加上恢复,排名掉了两周。

缓存和抓取的关系

搜索引擎抓的是 CDN 返回的内容,不是你源站的内容。CDN 缓存错,它看到的就是旧版本。

更麻烦的是缓存不一致:不同节点缓存的内容不同,蜘蛛今天抓到一个版本、明天抓到另一个版本,会被判定为页面不稳定。

三个配置原则

第一,HTML 不做长缓存。HTML 用短缓存(比如 5 分钟)或者协商缓存,图片、JS、CSS 这些带哈希的静态资源可以长缓存。

第二,缓存 key 带上版本。改版时版本号变,缓存自然失效,不用手动刷。

第三,按 UA 区分缓存要谨慎。有些站按设备做不同页面,缓存 key 里必须带 UA 维度,否则手机用户拿到桌面版。

怎么验证

改版或发布后,做三件事:

用 curl 请求目标 URL,看返回头里的缓存状态(HIT/MISS)、缓存时间、以及内容是不是新的。

用搜索引擎的抓取工具(GSC 的 URL 检查、百度的抓取诊断)抓一次,看拿到的 HTML 是不是新版本。

在不同地区、不同网络下各请求一次,确认缓存一致。我们一般抽 3 个城市。

另外两个坑

第一个,CDN 默认缓存 HTML。很多云厂商的默认规则是"静态资源缓存、HTML 不缓存",但也有些套餐默认缓存所有内容。上线前一定确认。

第二个,回源 HOST 配错。CDN 回源到错误的域名,拿到的是默认站点或者 404,蜘蛛看到的就是空页面。这个错误很隐蔽,查日志能看到大量 404 但源站正常。

一个流程建议

我们把"CDN 缓存检查"加进了上线清单:改版、迁移、大版本发布,发布后 10 分钟内必查。

检查项就三条:HTML 缓存时间、缓存 key 是否带版本、蜘蛛抓到的内容是否是新版本。

判断

CDN 是技术 SEO 里最容易被忽略的一层,因为它不在代码里,在基础设施里。开发不管、运维不懂 SEO,出了问题两边都查不到。

改版前把缓存策略定好,比改版后救火便宜得多。

标签:CDN缓存抓取
元

元析智能

为软件公司做 SEO 和 GEO 优化

Start with a diagnosis

聊聊你的软件产品

不管你现在是 SaaS、开发者工具还是工程设计软件,只要你想让目标客户搜得到你,我们可以聊。第一次沟通不收费,会给你一份当前的 SEO 诊断,你能看出问题在哪。