Z-Blog 后台的「更新缓存」到底更新了什么
经常听到「收录不更新就去清缓存」,但很多人不知道清的是什么。三处缓存模板缓存:编译后的 PHP 模板文件,改模板必须清数据缓存:分类、标签、配置的序列化结果模块缓存:侧栏、导航这些模板块的 HTML和收录的关系几乎没有直接关系。搜索引擎抓的
经常听到「收录不更新就去清缓存」,但很多人不知道清的是什么。
三处缓存
- 模板缓存:编译后的 PHP 模板文件,改模板必须清
- 数据缓存:分类、标签、配置的序列化结果
- 模块缓存:侧栏、导航这些模板块的 HTML
这三处的生命周期不同。模板缓存最顽固,改了模板不清就一直用旧的编译结果;数据缓存一般有自动过期;模块缓存的更新频率取决于你的设置。
Z-Blog 后台的「清空缓存并重新编译模板」会同时处理这三处。所以那个按钮比看起来重——点一下全站重建,文章多的站要等几十秒。
和收录的关系
几乎没有直接关系。搜索引擎抓的是你输出到浏览器的 HTML,缓存只影响你自己的站显示什么。
更准确地说:缓存影响的是「你向世界输出的内容」,而搜索引擎抓的就是这个输出。所以缓存本身不参与 SEO,但它决定了搜索引擎看到的东西是新是旧。
那为什么有人说清了就好
因为之前页面显示的就是旧的——比如新发的文章首页不显示,蜘蛛抓首页自然也看不到。这时候清缓存是有意义的。
这种情况在两种场景下最容易发生:
一是开了页面缓存插件。缓存没到期,新文章不出现。
二是主题自带静态化功能。生成了 HTML 文件,但发布新文后没有触发重新生成。
这两种的共同点是:源数据已经更新了,但没有反映到前端输出。清了缓存,前端输出才和源数据一致。
正确心态
缓存是用来提升访问速度的,不是 SEO 工具。前台显示正常,就不必天天清。
反过来,频繁清缓存会带来副作用:全站重新编译意味着短暂的性能下降,如果此时正好有蜘蛛来访,可能撞上响应变慢的窗口。
所以我一般只在三种情况清缓存:改完模板、装完插件、确认前台显示有误。其余时间不管。
一个排查顺序
遇到「新文章不显示 / 前台像是旧的」这类问题,按这个顺序排查,比直接清缓存更快找到原因:
- 后台文章列表里,文章状态是不是「公开」
- 文章发布时间是否已经到达(有没有排在未来)
- 分类是否设置正确,前台分类页能不能看到
- 以上都正常,再清缓存
大部分情况卡在前两步,跟缓存无关。