网站收录

robots.txt 挡住了抓取,索引里的旧地址怎么清

robots.txt 的 Disallow 只是请求爬虫别抓取,并不是删除指令。已经被收录的地址不会因为它消失,反而会因为抓取受阻,读不到 noindex 和 canonical。这篇文章按页面价值分情况,给出先放开抓取、再处理收录的核对顺序。

网站收录

robots.txt 挡住了抓取,索引里的旧地址怎么清

屏蔽和删除是两件事

robots.txt 里的 Disallow 只是请求爬虫不要抓取某个路径,它并不是一条删除指令。已经进入索引的 URL,不会因为你加了一行规则就自动消失。更麻烦的是,一旦抓取被挡住,爬虫就读不到页面里的 noindex 和 canonical,而这两个恰恰是处理收录问题最主要的信号。信号读不到,索引里的旧地址往往留得更久。

所以遇到「明明屏蔽了却还被收录」的情况,先别急着改规则,先判断这些地址属于哪一类,再决定是保留、收口还是彻底清掉。

先确认索引里留着的到底是什么

  • 看标题和摘要:屏蔽状态下,搜索结果里显示的标题常常来自外链锚文本或站内其他页面的引用,并不代表页面真实内容,不要据此判断页面质量。
  • 点进去能不能打开:能正常打开,说明只是没被抓取;打不开或跳走,要先处理状态码和跳转链路。
  • 有没有快照:如果长期没有快照,多半是抓取一直被规则挡住,而不是页面本身有问题。
  • 是不是参数或测试地址:这类地址通常有大量变体,逐个处理成本很高,要按路径规则整体看。

按页面价值分情况处理

需要保留的页面

如果这些地址本身有内容、也可能带来访问,正确做法是放开抓取,让它回到正常的收录流程。屏蔽只会让它以一个残缺的状态挂在索引里,既拿不到准确的标题摘要,也没法通过页面内的规则参与规范化。放开之后,观察它是否能被抓取、状态码是否正常、内容是否和用户看到的一致。

确定不要的页面

如果这类地址确实不打算保留,最稳妥的顺序是:先放开 robots.txt,让页面可以被抓取;再让页面正常返回 200,并在页面里写上 noindex;等爬虫重新抓取并读取到这条指令后,观察它从索引中逐步消失;确认消失之后,再考虑用 410 或 301 做最终处理。

这个顺序看起来绕,但它把控制权留在了页面本身。反过来做——先屏蔽、再想办法加 noindex——等于把唯一能传达指令的通道关掉了,爬虫永远读不到你的意图。

屏蔽是「别来看」,noindex 是「别收录」。想让地址从索引里消失,需要的是后者,而后者必须先能被抓到才能生效。

容易踩的几个坑

  • 只屏蔽目录、不处理已有地址:目录下如果已经有大量页面被收录,规则加上去之后它们依然在,只是不再更新。
  • 同时写 Disallow 和 noindex:两者并存时,抓取被挡住,noindex 读不到,结果往往是白写。
  • 屏蔽整站测试环境后忘了移除:如果这个环境和正式站同域,会影响正式站的抓取通道,要在改版或上线检查清单里单独列一条。
  • 用 status 查询频繁催:抓取受阻的地址,反复催也读不到内容,先把规则理顺更实际。

处理完之后的观察节奏

规则调整后,不要指望当天就有变化。抓取、重新评估、更新索引是分步发生的,中间可能隔几周。这期间重点看三件事:日志里这些路径是否重新出现抓取记录、页面返回的状态码是否稳定、索引里的地址数量是否在缓慢下降。如果抓取恢复了但索引长时间没有动静,再回头检查页面本身是否返回 200、内容是否真实存在、有没有被其他规则再次挡住。

把这些确认清楚,再决定要不要换别的处理方式,比反复改 robots.txt 更有效。