在 Rank Math 里改了 schema 模板,前台页面输出的还是旧结构,清浏览器缓存也没有变化。
真正麻烦的地方在于,几个原因的现象几乎一样。对象缓存里存着旧的 schema 结果。另一种情况是页面缓存插件未刷新。
另外,CDN 缓存了整页 HTML。
第一件事是看页面源码里是哪一版结构
curl -s https://www.example.com/a/ | grep -A3 'schema'
然后清掉对象缓存和页面缓存
wp cache flush
刷新 CDN 上的页面缓存
curl -X PURGE https://www.example.com/a/
排查用的命令都是临时敲的,没有写成脚本,事后才整理。
手上没有现成的复现脚本,就照着线上请求手工拼了一个。
报错是间歇性的,我蹲守了半小时才抓到一次完整现场。
恢复的判定其实很直接。页面输出新模板的结构,字段与后台设置一致。
对象缓存最容易被忽略,后台设置保存在数据库,但输出结果被缓存时改了也不会生效,先清缓存再判断对错,否则会白折腾半天。用了页面构建器的话,它自己的缓存也要一起清。这类问题最好一次改到位,反复小改反而容易把原因搅混。