结论是有条件的:如果维护页是通过主机层面的规则或插件统一返回 503,恢复后要优先核对响应头与缓存层;如果维护页只是替换了首页模板,恢复后要优先核对被替换期间产生的抓取记录与内链。两种情况的核对顺序不同,因为残留信号藏在不同层级。一个反例是:恢复后首页立刻显示正常,但若维护期间返回的是 200 加维护文案,那么搜索引擎可能已经把维护文案当成正常内容处理,此时只看首页是否恢复会漏掉真正的问题。
维护页的实现方式决定了残留信号的位置。常见有三类:主机或 CDN 规则直接返回 503 并附带维护页;WordPress 插件在应用层拦截请求;主题或模板把首页替换成维护内容。前两类会在响应头留下痕迹,第三类只改页面内容,响应头可能仍是 200。
判断方法很直接:在维护结束后,用带 curl -I 的方式请求一个维护期间被拦截的 URL,看状态码和 Retry-After、Cache-Control 等头部是否已经回到正常值。如果返回 200 但正文仍是维护文案,说明拦截规则没清干净,或者缓存层还在提供旧副本。这一步的结果会决定下一步是查主机规则还是查缓存,而不是直接去提交站点地图。
第一类是响应头残留。重点看维护期间设置的 Retry-After 是否还在,以及 Cache-Control 是否仍被设成很短的过期时间或 no-cache。这类头部如果继续存在,会让后续抓取行为与正常时期不一致。
第二类是缓存副本残留。主机层缓存、CDN 缓存和 WordPress 对象缓存可能各自保留维护页。核对方法是分别请求首页、一个分类页和一个具体文章页,对比它们的响应头和正文是否一致。如果只有首页恢复而内页仍返回维护内容,说明缓存清理不完整。
第三类是抓取记录残留。查看主机访问日志中维护期间的状态码分布,确认 503 是否集中在维护时段,以及恢复后是否还有零星的 503 请求。这里要提醒一点:抓取量或某个状态码归零,不能单独证明处理正确,因为也可能是抓取频率本身下降、日志轮转或请求被上游拦截。
如果维护窗口很短,且维护页返回的是标准 503 加 Retry-After,同时主机和 CDN 缓存都已在恢复时主动清理,那么可以只核对响应头和首页正文,不必逐条翻日志。适用条件是:维护期间没有改动 URL 结构、没有更换主题、没有调整固定链接。
反过来,如果维护期间顺带做了插件更新、主题切换或主机迁移,那么核对范围必须扩大。因为此时残留信号可能和迁移残留混在一起,单看维护页是否消失已经不够。一个假设的例子:维护期间把主机从 A 换到 B,恢复后首页正常,但旧主机上的缓存规则仍被某些 DNS 解析指向,导致部分地区仍看到维护页。这种情况下要核对的是 DNS 解析和两台主机各自的响应,而不是继续在 WordPress 后台找维护插件。
完成以上步骤后,如果响应头、缓存和日志三处都一致,才进入常规的内容与内链检查。这个顺序的意义在于:先确认主机和缓存层不再返回维护信号,再去看内容层,否则容易把缓存问题误判成内容问题,做出错误的下一步动作。