拦掉训练爬虫的站点几乎不再被引用,这条数据能直接照做吗
有研究发现拦训练爬虫的域名几乎拿不到引用,这个结论能直接照做吗?不能照结论做,但可以照方法做。这项研究给出的原始读数是:在被拦掉的域名上,平均引用数接近零,而未被拦掉的域名平均引用数高出两个数量级。差距本身可信,问题是这个数字回答的是「拦掉的域名和没拦的域名长得不一样」,不是「拦掉之后引用就会掉」。
原始数字说了什么
研究样本是一千零五十八个域名,其中约有一成四在 robots 配置里明确拦掉了训练类抓取。把这两组域名的被引用数放在一起比较,拦截组的数值接近于零,未拦截组的数值明显更高。
这是一组横断面数据:它记录的是同一时间点上两组域名的状态差别,没有跟踪任何域名在改动拦截设置前后的变化。要支撑「改了就会掉」这个结论,需要的是同一批域名改动前后的对照,而这类数据在这一项研究里并不存在。
为什么不能直接照做
拦掉训练类抓取的域名,本身就有明显的行业倾向。新闻、出版与媒体类站点拦得更多,这类站点的内容时效强、结构化程度低,被模型引用的方式与产品文档、教程类站点并不相同;反过来,不拦的域名里工具与文档类占比更高,这类内容本身就是模型爱摘录的形态。
也就是说,「拦截」与「被引用少」两件事可能同时由第三个因素决定,即站点类型与内容形态。把它当成因果关系照做,会带来两类误判:一类是为了引用把防御全部放开,另一类是因为防御被拿掉而出现采集与训练用途上的失控。
样本口径的三个坑
第一个坑是分母。按域名统计与按页面统计得到的比例不同,头部域名与长尾域名的构成也不同;同一时间两份研究的读数差出几倍,多数来自分母而不是结论。
第二个坑是类别混合。训练类、检索类与用户发起的抓取是三个不同的用途,若研究只统计其中一个用户代理,读到的其实只是这条链路的情况,不能推到整类。robots 配置里逐条写的就是具体标识,核对时按名称一条条判断,不要按类别笼统推断。
第三个坑是引用口径。被引用一次与被反复引用、被摘要引用与被链接引用,含义不同。用平均引用数比较两组域名,会把长尾分布压平,接近零的那组很可能大量样本本身就是零。
自己站点上的最小实验
照做之前,先在自家站点上做一轮小范围验证。方式是选一组内容形态相近的页面,保持其中一组拦截状态不变,另一组按需要放开,固定观测口径两周以上,比较三件事:日志里各类爬虫的实际到访、站点在答案里被提到的次数、以及由此带来的实际访问量变化。
改动要留对照与回退路径:拦截规则写在 robots 配置里可以逐项调整,llms.txt 只影响模型读取站点结构的方式,两者分开改,才能判断是哪一层带来了变化。观察期内不要同时改内容形态,否则结论会同时受两个变量影响。
常见问题
这项研究完全不可信吗? 它可信的部分是样本里两组域名的状态差别。不可信的是把差别直接解释成拦截造成的结果,这属于推断而不是测量。
那我应该默认放开吗? 按用途决定。希望被 AI 搜索引用的站点,检索类与用户发起的抓取通常不需要拦;不希望内容被用于模型训练的,可以只针对训练类标识设置限制。
观测多久才够? 至少两周,且要覆盖一次配置生效与一轮抓取周期。低于一周的波动容易被单次调度或临时缓存影响,读不出稳定差异。