robots.txt规则:怎样形成可复用检查清单

📍 WDQWDWQD987AAAAA:216.73.217.74
📱 Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
🔗 /b36f4acd6412.html
📄

robots.txt规则:怎样形成可复用检查清单

把robots.txt规则做成可复用检查清单,核心是固定四个环节:观察抓取结果、判断规则意图、处理冲突与遗漏、复查生效情况。每次改版、上线新目录或迁移域名时,按同一份清单逐项核对,就能在时间和人手有限的情况下,先处理影响抓取范围最大的问题。

先观察:确认爬虫实际看到了什么

不要只看服务器上的文件内容,要看爬虫拿到的响应。用curl -I https://你的域名/robots.txt检查状态码,正常应为200;若返回404,说明文件不存在,爬虫会按无限制处理;若返回403或5xx,不同爬虫的应对方式可能不同,需要单独确认。再抓取正文,核对是否与本地文件一致,排除CDN缓存或旧版本残留。

观察阶段要记录三项:状态码、内容是否完整、是否有重定向。重定向到另一个域名或路径时,规则是否仍被采用取决于爬虫实现,不能想当然认为一定生效。

再判断:规则是否指向了正确的对象

逐条读User-agent、Disallow、Allow和Sitemap。判断依据是路径前缀匹配,不是通配符随意匹配。例如:

常见误判是把robots.txt当成索引移除工具。它限制的是抓取,不是收录;已经被抓取并建立索引的页面,即使之后禁止抓取,也可能继续出现在结果中。需要移除索引时,应使用对应的移除请求或页面级noindex,并确认该页面仍可被抓取,否则noindex无法被读到。

处理:按影响面排序修改

时间和人手有限时,优先处理会阻断整站或整类目录的规则。可以按下面顺序执行:

  1. 先看是否误封了CSS、JS或图片目录。这类资源被禁,会影响页面渲染判断,优先级最高。
  2. 再看是否误封了分页、筛选参数或移动端路径,这类问题影响大量URL的抓取覆盖。
  3. 然后检查Sitemap行是否指向可访问的站点地图。站点地图不保证收录,但能帮助发现URL,写错地址等于白写。
  4. 最后处理个别目录的精细规则,避免为了小范围需求改动全局规则。

修改时保留旧版本备份,一次只改一类规则,便于复查时定位是哪次改动带来的变化。假设某站点把Disallow: /误写成全局禁止,那么所有爬虫都无法抓取任何页面,这类错误应作为最高优先级立即修复。

复查:用同一份清单验证结果

复查不是再看一遍文件,而是验证行为。检查项包括:目标URL是否仍被禁止抓取、允许的目录是否恢复可抓取、站点地图是否可访问、页面是否仍出现在索引中。可以借助各搜索引擎官方提供的robots.txt测试工具或抓取统计报告核对,但不同引擎的抓取统计口径不同,要分开看。

把以上四步固化成表格:观察项、判断标准、处理动作、复查结果、负责人、日期。每次上线前填一遍,就能把一次性排查变成可复用流程。HTTPS、站点地图、robots.txt都不能保证安全、收录或排名,它们各自解决不同问题,不要混在一张清单里互相替代。

下一步:挑一个近期改版或新上线的目录,按观察、判断、处理、复查走一遍,把实际遇到的判断依据补进清单,形成适合自己站点的版本。

图1 图2

nginx