恢复后最该核对的不是首页能不能打开,而是维护期间留下的响应状态、缓存头、robots规则、站点地图和日志是否仍把爬虫引向旧状态。下面用一个假设情境说明如何把这些分歧变成可逐项核对的动作。
假设某站点在升级期间,用整站维护页返回503,并设置Retry-After。恢复上线后,运维说“已经回200”,编辑说“搜索里还是维护页”,SEO说“日志里还有大量503”。三种说法都可能成立,因为各自看到的是不同层面:运维看源站响应,编辑看搜索摘要,SEO看日志历史。要避免互相说服,先把“恢复”拆成可核对的项目。
此时不要急着提交新页面或改导航。先确认维护页是否仍可访问、是否仍返回503、是否仍带Retry-After。如果维护页本身仍可访问,即使首页已回200,爬虫仍可能顺着旧链接或缓存继续请求它。这个动作的结果会决定下一步:若维护页仍返回503,先处理它;若已返回410或404,再检查内链和站点地图是否还指向它。
恢复后要逐类URL核对状态码:首页、栏目页、详情页、维护页、静态资源。重点不是“有没有200”,而是同一类URL是否一致。假设详情页已回200,但维护页仍返回503并带Retry-After,爬虫可能继续把维护页当作临时状态,延迟重新抓取。此时应把维护页改为410或404,或让它跳转到首页,再观察日志中该URL的请求是否减少。
另一个残留是缓存。若CDN或反向代理仍缓存维护页的503响应,源站已恢复也可能对外返回旧状态。核对方法是分别请求源站和边缘节点,比较状态码与响应头。若边缘仍返回503,先刷新该路径缓存,再继续核对其他项目;否则后续日志核对会被旧缓存污染。
维护期间常见的做法是临时在robots.txt中禁止抓取,或把维护页加入站点地图。恢复后要核对三件事:robots.txt是否仍禁止重要目录;站点地图是否仍包含维护页;内链是否仍指向维护页。注意,robots.txt的抓取限制不等于可靠的索引移除,它只影响抓取,不保证已收录页面从索引消失。因此恢复后不能只靠改robots.txt来清理维护页。
站点地图也不保证收录。把维护页从站点地图移除,只是减少一个发现入口,不等于搜索引擎会立刻更新。更实际的动作是:先确认站点地图只包含可返回200的正式URL,再检查内链和导航是否仍指向维护页。若内链仍指向维护页,爬虫可能继续请求它,日志中该URL的请求量就不会明显下降。
日志里恢复后仍出现维护页请求,不一定说明恢复失败。合理解释包括:爬虫在重试维护期间记录的URL;缓存或CDN仍在回放旧响应;内链或站点地图仍指向维护页;外部链接仍指向维护页。核对时按时间切分:恢复时间点之前的503属于历史,恢复之后的503才需要处理。若恢复后仍持续出现503,先查该URL当前响应,再查缓存和内链。
另一个容易误判的是请求量归零。某维护页请求量下降,不能单独证明处理正确,也可能是爬虫暂时降低抓取频率、日志采样、或该URL本来访问就少。应结合状态码分布和同一目录其他URL的请求变化判断,而不是只看一个URL的曲线。
当运维、编辑和SEO对“是否恢复”各执一词时,用同一张清单对齐:
Retry-After;robots.txt是否仍限制重要目录;假设核对后发现:维护页返回410,但内链仍指向它,日志中恢复后仍有请求。下一步不是再改robots.txt,而是先移除内链,再观察该URL请求是否下降。若请求下降但搜索摘要仍显示维护页,再检查缓存和页面本身的可见内容。每一步动作的结果都决定下一步:状态码一致后再看缓存,缓存一致后再看内链,内链清理后再看日志趋势。这样分歧就不再是观点之争,而是可逐项验证的残留信号。