临时维护页撤下后,真正需要核对的不是“页面能不能打开”,而是维护期间产生的几类残留信号是否还在干扰抓取与索引判断。对少量样本来说,恢复后立即返回 200 往往就正常了;但规模化站点常出现例外:部分 URL 仍被缓存为维护响应,部分内链仍指向维护入口,部分日志仍显示异常抓取。结论是,恢复后应把状态码、缓存与 CDN 层、内链与站点地图、日志四组信号分开核对,而不是只看首页。
维护期间常见的做法是让全站返回 503 并带 Retry-After,或返回 200 但内容替换为维护提示。恢复后要逐类抽样:首页、栏目页、深层内容页、分页、参数页。重点不是“有没有 200”,而是 200 返回的正文是否已经是原内容,而不是维护模板。若 200 仍返回维护文案,抓取工具会把它当作正常页面收录,后续再改回内容,索引里可能长期保留旧文案。
抽样时要记录每个 URL 的响应头与正文首段。若响应头显示缓存命中,而正文仍是维护模板,说明缓存层没有随源站恢复一起失效,这时下一步是清缓存而不是改页面。
少量样本成立、规模化后失效的典型场景就在这里。单台源站恢复后,边缘节点可能仍按维护期的缓存策略返回旧响应;不同节点刷新时间不一致,导致同一 URL 在不同地区结果不同。判断依据是:源站直连正常,但经过 CDN 的请求仍返回维护响应或旧状态码。
这时不能直接照搬“源站恢复即全站恢复”的结论。需要分别核对边缘缓存、页面规则、以及维护期是否临时改过响应头。若维护期把 Cache-Control 设成较长缓存,恢复后这些头可能仍被沿用,必须显式刷新或调整规则,再观察后续请求是否回到源站内容。
维护期常临时把导航指向维护页,或在 robots.txt 中限制抓取。恢复后要核对三件事:内链是否仍指向维护入口;站点地图是否还包含维护页或已失效 URL;robots.txt 是否仍保留维护期的限制行。这里有两个容易混淆的点:robots.txt 的抓取限制不等于可靠的索引移除,它只影响抓取,不保证已收录 URL 被移除;站点地图也不保证收录,它只是发现线索。
可以这样区分原因:如果日志显示抓取正常但索引仍显示维护文案,问题更可能在缓存或索引更新;如果日志显示抓取被限制,问题在 robots 或抓取规则。两者的下一步动作不同,前者清缓存并请求刷新,后者先恢复抓取许可再观察。
恢复后一段时间内,日志中出现维护期状态码并不一定代表问题仍在,可能是历史记录或缓存回源。要区分的是:恢复时间点之后的新请求是否仍返回维护响应;是否仍有大量请求命中维护 URL;内链爬取是否仍集中到维护入口。
假设某站点在恢复后第一天日志里仍有维护响应,但都集中在恢复前的时间段,这通常只是记录延迟;若恢复后新产生的请求仍返回维护响应,则说明缓存或规则未清干净。这个判断依赖时间切分,而不是看总量。
这套顺序的关键是:先确认内容与缓存,再谈索引与抓取。若跳过缓存直接改页面,很可能在源站正常的情况下继续看到维护响应,从而误判为索引问题。恢复后若发现同一 URL 在不同节点结果不一致,应把它当作缓存残留处理,而不是当作内容未恢复,这一判断会直接决定下一步是刷新缓存还是回滚内容。