没写 robots 文件的站点,爬虫算放行还是算设防
站点根本没有 robots 文件时,爬虫会把这算作放行还是算作没设防?算放行。缺文件、空文件与写成全部允许这三种状态在解析层是同一个语义:没有指引,于是抓取范围不受限制。把「没写」当成「没被配置过所以安全」,是这类站点最常见的误判。
三种状态语义不同
robots 文件是按文本解析的指引,解析器读到禁止段才收窄范围,读不到任何规则就按默认放开。缺文件时服务器往往返回一个错误页,而错误页不是合法的指引文本,爬虫据此仍然按放开处理。
三种状态的处置差别也在这里:写了但写法错的,可能只覆盖了部分标识;完全没写的,是整站范围敞开。前者可以靠核对补漏,后者连补的对象都不存在。
当天口径的缺失比例
2026-10-30 打开原文核对到的样本是 1,103 个站点,其中 19.0% 完全不提供这个文件;另有 18.9% 明确禁止了至少一家 AI 爬虫。也就是说,近两成站点没有任何抓取指引,而写了指引的站点里,明确做过处置的比例也只有大约同等量级。
这个比例在自建程序的部署里更容易出现:新站点上线、模板初始化、静态化开关切换,都可能把这个文件留空或不生成。上线检查清单里没有它,就会出现「站点跑起来了、抓取边界完全没设」的状态。
| 状态 | 解析结果 | 抓取范围 | 典型成因 |
|---|---|---|---|
| 文件不存在 | 无指引 | 整站放开 | 部署未生成、静态化后丢失 |
| 文件为空 | 无指引 | 整站放开 | 模板占位未填 |
| 全部允许 | 明确允许 | 整站放开 | 显式写过放行 |
| 分组禁止 | 按用户组收窄 | 部分收紧 | 按用途做过配置 |
最小可用清单
先定全站范围:默认允许抓取正文路径,把与展示无关的路径单独处理。再定后台与接口路径:登录、管理后台、内部接口这类地址不应该出现在抓取范围里,这一段要单独写。最后写站点地图入口:sitemap 的地址要在这份文件里声明,让索引层与正文层的处置一致。
写的时候注意匹配优先级与用户组名。同一份文件里,按用途分组的段落要各自完整,别让一条宽规则盖住后面的窄规则;标识名要覆盖到同族的多个写法,只写一个就会出现某一家比例明显偏离其他家的现象。
安企内容管理系统(AnQiCMS)这类程序里,Robots.txt 配置与站点地图生成是两个独立入口,两边同名分组能省掉一半排查。
写完怎么验证
不要只看文件在不在,要看抓取结果。分三步:确认地址可访问且返回的是文本而不是错误页;按厂商分别看请求量与返回状态,确认指引被读到;回看收录与进站来源,确认索引层没有因为写得太紧而下降。
改动一次只动一段。同时改全站范围、后台路径与站点入口,出问题就不知道是哪段造成的,下一轮还是猜。
常见问题
问:没有这个文件是不是等于禁止抓取? 答:不是。读不到指引就按放开处理,缺文件与空文件的语义一致。
问:大小写会影响匹配吗? 答:会。用户组名与指令写法要按解析规则来,混用容易让某一段不生效,改完按厂商逐条验证。
问:补完之后要盯哪些指标? 答:抓取请求量、返回状态分布与收录量三项,只看文件是否可读会漏掉分组写漏的情况。