检查 robots.txt 之前,最需要准备的不是文件本身,而是一份能说明“谁在抓、抓什么、期望什么”的基础信息。常见误解是打开文件读一遍规则就能判断对错,但 robots.txt 只对遵守协议的爬虫生效,且不同搜索引擎、不同用户代理的行为并不一致。没有站点结构、抓取目标和验证数据,单看几行 Disallow 很容易把正常限制误判为故障,也容易把“禁止抓取”当成“已从索引移除”。
robots.txt 的规则按路径前缀匹配,判断某条规则是否命中,必须知道目标 URL 的完整路径。检查前应整理一份清单,至少包含以下内容:
/search/、/admin/、/api/、/tmp/。? 的筛选、排序、会话参数。这一步的作用是建立对照。假设你看到 Disallow: /search/,如果站内搜索页只是给用户使用、不需要被收录,这条规则可能合理;如果搜索页是站内主要流量入口,这条规则就会阻断抓取。判断结果取决于路径的实际用途,而不是规则本身看起来是否“严格”。
robots.txt 可以写多组 User-agent,每组对应不同的抓取方。检查前要明确本次关注的是哪一类:
User-agent: * 表示默认组。如果文件里同时存在 User-agent: * 和某个具体爬虫组,通常具体组优先于通配组。检查时要确认目标爬虫名称是否写对,拼写错误会导致该组不生效,实际落入通配组。这里不能断言某引擎一定支持某种写法,正确做法是分别查阅对应搜索引擎的官方文档,再用真实抓取日志验证。
判断 robots.txt 是否造成问题,需要两类证据:爬虫是否来过,以及页面是否还在索引中。
需要特别区分:robots.txt 的 Disallow 是限制抓取,不是可靠的索引移除手段。页面可能因为外部链接、历史收录等原因仍出现在搜索结果中。如果目标是让页面从索引中消失,应使用对应的移除工具或 noindex,并确认 noindex 页面没有被 robots.txt 阻止抓取,否则爬虫看不到该指令。
检查 robots.txt 时,最好同时准备一个可执行的验证步骤和一个回滚方案。以假设场景为例:某站点把 /product/ 整段写进了 Disallow,随后发现商品页流量下降。检查前应准备:
如果确认是误拦截,正确顺序是先移除或收窄 Disallow 规则,再提交站点地图并观察日志。站点地图只是发现 URL 的辅助方式,不保证收录。HTTPS 也不代表 robots.txt 内容正确或站点安全无漏洞,它只解决传输加密问题,与抓取规则是两件事。
文件位置和返回状态同样属于准备信息。robots.txt 一般放在站点根目录,例如 https://example.com/robots.txt,但实际可访问地址取决于你的主机名和协议。检查时确认:
/ 开头、通配符和结尾符使用不当。语法错误的后果取决于具体解析方式,不同爬虫对错误行的容忍度可能不同,因此不能假设“写错了也照样生效”。稳妥做法是用官方文档中的语法说明逐条核对,再用日志验证实际抓取行为。
下一步建议:先整理出目标 URL 清单和对应爬虫名称,再打开 robots.txt 逐组对照,把每条规则标注为“有意限制”“疑似误拦”“无法判断”三类,只对后两类收集日志和索引证据。