把 robots.txt 写法做成可复用检查清单,核心是固定四步:先确认目标目录和文件位置,再逐条核对语法与路径匹配,然后验证爬虫实际读取结果,最后记录改动前后差异。清单不是一次写完就固定不变,而是每次改完 robots.txt 后回填验证结果,让下一次修改有据可查。
这套清单适用于已经有 robots.txt、需要调整规则的项目,不适用于从零建站时决定要不要放 robots.txt。使用前先确认三件事:你能直接编辑网站根目录下的文件;你知道要限制或放开的目录、文件类型或具体路径;你能用测试工具或日志观察爬虫行为。
如果 robots.txt 目前不存在,检查清单的第一步应改为确认是否需要它。没有敏感目录、没有抓取压力问题时,不写 robots.txt 也是一种合理选择,此时清单的重点转为确认“不添加”不会带来问题。
robots.txt。放在子目录里不会被读取。检查项:直接请求 /robots.txt 是否返回 200 和纯文本内容。User-agent 开头,后接 Allow 或 Disallow。检查项:冒号后是否有值、路径是否以斜杠开头、是否误用中文标点、是否把注释写在行内导致解析异常。Disallow: /admin 会同时命中 /admin、/admin/ 和 /administrator 这类前缀路径。检查项:列出所有会被该规则覆盖的真实 URL,确认没有误伤。User-agent 下,更长的路径匹配通常优先。检查项:构造一组测试路径,逐条对照规则,确认最终判定结果符合预期。假设要禁止抓取 /private/ 目录,但保留其中的 /private/help.html。可以写成:
User-agent: *<br>Disallow: /private/<br>Allow: /private/help.html
适用条件是目标搜索引擎支持 Allow 指令,且更具体路径优先。判断结果时不要只看规则文本,要在测试工具里输入 /private/help.html,确认返回“允许抓取”。如果测试结果显示仍被禁止,说明该引擎的匹配逻辑与预期不同,需要调整规则顺序或改写路径。
清单执行完,验收信号包括:/robots.txt 返回 200;测试工具对关键 URL 的判定与预期一致;服务器日志中目标爬虫不再请求被禁止路径;没有出现整站被误封的情况。
需要区分两类误判。第一,robots.txt 的抓取限制不等于可靠的索引移除。被禁止抓取的 URL 仍可能因外链等原因出现在搜索结果中,只是没有摘要。第二,站点地图不保证收录,robots.txt 里声明 sitemap 只是提供发现线索。把这两点写进清单的备注栏,可以避免把抓取控制和索引控制混为一谈。
下一步:拿现有 robots.txt 按上面五项逐条过一遍,把每项的检查结果和验证方式补在文件外的记录里,形成属于这个项目的固定清单。