后台显示已发布,前台却要三四天才冒出来,这事我遇到过不少次。先说结论:多半不是文章没发出去,而是你看到的“后台”和用户看到的“前台”中间隔了好几层。数据库写进去了,不代表缓存刷新了;缓存刷新了,不代表CDN节点更新了;站内能打开了,也不代表搜索引擎已经收录并展示。三四天这个时间点,往往正好卡在缓存过期、静态页重新生成和搜索引擎抓取周期的交界处。
最常见的坑是缓存。很多网站为了扛访问量,会在服务端加Redis或页面缓存,再套一层CDN。后台点发布,数据库里已经是新文章,但首页、列表页、栏目页还是旧缓存。浏览器本地也有缓存,普通刷新不一定绕过。常见CDN缓存时间从几小时到一天不等,有的站为了省回源流量设到72小时甚至7天,算上服务端缓存和浏览器缓存,用户三四天后才看到新内容并不奇怪。判断方法很简单:用无痕窗口打开文章链接,后面加个随机参数,比如?test=123,再看响应头里的Age、X-Cache这类字段。如果带参数能看到、不带参数看不到,基本就是缓存没清。
还有一种情况是静态化或生成队列。企业站、资讯站常用静态页,后台发布后要触发页面重新生成,首页、列表页、详情页可能分别排队。队列不堵的时候几分钟就好,赶上任务积压、定时任务设置成每天凌晨跑,或者生成失败没告警,就会拖到几天后。后台只显示“已发布”,但生成日志里可能还在排队。直接访问文章详情页能不能打开,是区分问题的关键:详情页能开、首页列表没有,多半是列表页缓存或静态页没更新;详情页也打不开,就要看发布状态、权限、数据库主从延迟和生成任务。
如果站内已经能看到,只是百度或谷歌搜不到,那又是另一回事。搜索引擎收录和网站显示不是同步的。新页面提交sitemap后,抓取排期受站点权重、更新频率、服务器响应速度影响,普通站点几天到几周才收录很常见,新站更慢。搜索引擎结果里显示旧标题或旧摘要,也是因为它还没重新抓取。这个时候反复改文章反而可能让抓取更乱,保持URL稳定、提交sitemap、做好内链,比盯着后台刷新有用。
审核和定时发布也容易被忽略。有些后台“发布”只是提交审核,真正上线要等人工或系统审核;有的设置了定时发布,时区不对或者计划任务没跑,就会延迟。还有灰度发布、多机房同步,主库更新了,从库和边缘节点还没同步完,用户被调度到旧节点,看到的自然是旧内容。

真要排查,别只看后台那个“已发布”按钮。先无痕访问详情页,再加参数访问,看缓存头;然后清服务端缓存和CDN,看静态生成日志;接着确认发布状态、审核状态和定时任务;最后再去搜索资源平台提交URL。多数“三四天才显示”不是玄学,而是缓存、生成队列和收录周期叠在一起。把这几层拆开看,问题通常当天就能定位。