页面恢复后,真正需要核对的不是“维护页还在不在”,而是维护期间留下的抓取与索引信号是否已经失效。最容易出错的一点是:恢复后首页能正常打开,但robots.txt里仍保留着维护期写下的整站禁止抓取规则,或者维护页返回的503已改成200,却还带着较长的缓存指令。前者会让搜索引擎继续停抓,后者可能让维护页内容被当作正常页面收录。判断时要先区分两类解释:一类是抓取层仍被限制,另一类是抓取已恢复但索引层还保留旧信号。能区分它们的证据不同,动作也不同。
维护期间常见的临时写法是User-agent: *加Disallow: /,恢复后如果只改了页面模板,没有改这个文件,抓取限制会继续生效。核对时不要只看文件能否访问,还要看具体规则行是否与恢复后的目录结构一致。比如维护时为了挡住全站,写了禁止抓取所有路径;恢复后新站可能把内容放在/new/下,而旧规则仍禁止/old/,这不一定影响新内容,却可能让仍然保留的旧栏目无法被抓取。
实际动作是先取回当前robots.txt,再与维护前的正常版本逐行对照,重点看三处:是否仍有全站禁止、是否误封了恢复后要保留的目录、是否把维护页路径写进了禁止规则。若发现整站禁止仍存在,下一步不是立刻提交页面,而是先修正规则并确认文件可正常读取;否则后续的抓取诊断会被这层限制掩盖。
维护页通常返回503,表示暂时不可用;恢复后如果页面本身能打开,但服务器仍对旧URL返回503,搜索引擎会继续把它当作临时不可用。更隐蔽的情况是状态码已改成200,但响应头里还留着维护期设置的较长缓存时间。此时抓取工具可能拿到的是缓存中的维护页,而不是恢复后的内容。
可以按这个顺序核对:先用抓取工具查看目标URL返回的状态码,再看响应头中的缓存相关字段,最后看页面正文是否仍是维护提示。若状态码是200但正文仍是维护页,说明模板或重写规则没有完全切换;若状态码是503但正文已是正常内容,说明状态层还没恢复。两种情况的下一步不同:前者要改模板或重写,后者要改服务端状态返回。
恢复后常被忽略的是站点地图和站内链接。维护期间可能临时把站点地图替换成只含维护页的版本,或者把首页链接指向维护公告。恢复后如果站点地图仍只列维护页,搜索引擎虽然能抓取,但发现的正常URL会变少。内链也是同样道理:导航、面包屑、分页里如果还保留维护页链接,抓取分配会继续流向一个已经无用的页面。
核对方法是打开站点地图,确认其中列出的URL是否属于恢复后要保留的内容;再抽查首页和栏目页的链接,看是否还有指向维护页的入口。若站点地图仍以维护页为主,下一步应更新站点地图并重新提交;若内链仍指向维护页,应先改模板中的链接,再观察抓取是否回到正常栏目。
抓取恢复不等于索引立刻更新。维护页如果在维护期间被收录,恢复后它可能仍出现在搜索结果中。这时要区分两种残留:一种是维护页本身被收录,另一种是正常页面仍显示维护期的标题或摘要。前者需要让维护页返回404或410,或者用规范标签指向正常页面;后者需要检查正常页面的标题和描述是否已从维护模板中恢复。robots.txt的抓取限制不等于可靠的索引移除,若只是用禁止抓取来挡住维护页,已经收录的版本可能仍会保留一段时间。
可以做一个假设例子:维护页地址是/maintenance,恢复后它返回200并保留在站点地图中。此时它可能被当作正常页面参与索引。更稳妥的动作是让它返回410,并从站点地图和内链中移除。这个动作的结果是:后续抓取会确认该页已不存在,索引层才有机会清理;如果只是禁止抓取,抓取工具无法读到移除信号,清理会更慢。
当恢复后流量没有立刻回来,不要只凭一个现象下结论。可以按下面这组证据区分:
这些现象只能帮助定位方向,不能单独证明处理已经正确。比如抓取量下降,可能是robots限制、状态码异常、内链减少或正常波动,需要结合具体URL的状态和规则逐项排除。先修正最上层的抓取限制,再处理状态与缓存,最后清理站点地图、内链和已收录的维护页,这个顺序能避免把索引问题误判成抓取问题。