源站夜里重启了三分钟,第二天 GSC 里几十个页面标题变成旧版,打开却是正常的新内容,抓取统计里显示 200 但内容是 2019 年的快照。
真正麻烦的地方在于,几个原因的现象几乎一样。Always Online 在源站不可达时返回边缘保存的历史副本;副本的响应头里没有 noindex,蜘蛛当作正常页面收下;重启窗口正好撞上夜间抓取,多个页面同时命中;副本的 HTML 里引用的资源路径已经不存在。
动手时先抽查抓取时段的响应头有没有缓存标记
curl -sI https://www.example.com/a/ | grep -i 'cf-cache\|age'
再往下确认边缘缓存的时间戳
curl -sI https://www.example.com/a/ | grep -i 'last-modified'
接着关掉该功能并清一次缓存
curl -X PURGE https://www.example.com/a/
剩下的就是重新请求确认拿到新内容
curl -s https://www.example.com/a/ | grep -o '<title>[^<]*'
别只看报错消失,验证要多做一步。响应头里的缓存命中标记消失,页面返回的 title 与新发布一致,GSC 里旧标题条目在重新抓取后更新。
容易忽略的是,这个功能本来是给访客兜底的,但对蜘蛛也会生效,站点有频繁发布时宁可关掉,也别让它把旧内容喂给爬虫。线上能稳定复现的问题都不算难,难的是只在大流量下才出现的那种。
