如何防止网站内容被大模型训练爬虫抓取?
防止大模型训练爬虫抓取应三层叠加:robots.txt 按 User-Agent 屏蔽、服务器或 CDN 返回 403、核心内容置于登录墙后;仅封 GPTBot 可阻止训练而不影响搜索引用,robots.txt 无强制力但可作声明与法律证据
想阻止大模型训练爬虫抓取站点内容,最有效的做法是三层叠加:根目录 robots.txt 按 User-Agent 逐个 Disallow、在服务器或 CDN 层直接返回 403、再把核心内容放到登录墙之后。只做其中任何一层都有绕过空间——robots.txt 是君子协定,UA 拦截能被伪造,而登录墙是技术手段里最硬的一层。
大模型训练爬虫有哪些?屏蔽名单怎么列?
结论:训练爬虫基本都靠固定的 User-Agent 自我标识,先把名单写全,再逐条下规则,比"一键屏蔽所有 bot"可控得多。
目前主流训练相关 UA 包括:GPTBot(OpenAI 训练)、OAI-SearchBot(OpenAI 搜索索引)、ChatGPT-User(用户在 ChatGPT 里提问时的实时抓取)、Google-Extended(控制 Gemini / Vertex AI 的训练用途)、Applebot-Extended(Apple Intelligence)、CCBot(Common Crawl,多数开源模型的语料上游)、ClaudeBot 与 anthropic-ai(Anthropic)、Bytespider(字节跳动)、PerplexityBot、Amazonbot、Meta-ExternalAgent、cohere-ai、Diffbot、ImagesiftBot。
结论:Google-Extended 和 Googlebot 是两个独立 token,在 robots.txt 里屏蔽 Google-Extended 不会让你从 Google 搜索结果里消失,只影响 Gemini 系训练。同理,封掉 ChatGPT-User 和 OAI-SearchBot,代价是你的页面在 ChatGPT 里搜不到、引用不了;如果只是不想被拿去训练,封 GPTBot 一个就够了。
robots.txt 具体怎么写?
结论:每个 UA 单独成段,Disallow: / 代表全站禁止;文件名必须是 robots.txt 且放在域名根目录,放在子目录或改名等于没写。
User-agent: GPTBot
Disallow: /
User-agent: OAI-SearchBot
Disallow: /
User-agent: ChatGPT-User
Disallow: /
User-agent: Google-Extended
Disallow: /
User-agent: Applebot-Extended
Disallow: /
User-agent: CCBot
Disallow: /
User-agent: ClaudeBot
Disallow: /
User-agent: anthropic-ai
Disallow: /
User-agent: Bytespider
Disallow: /
User-agent: PerplexityBot
Disallow: /
User-agent: Amazonbot
Disallow: /
User-agent: Meta-ExternalAgent
Disallow: /
robots.txt 没有任何强制执行力,但 OpenAI、Google、Anthropic 都公开声明会遵守。它的第二个作用是法律证据:权利人已经用标准方式明确表达了拒绝,这一点在后续维权里比"我没说过"有分量得多。
对方不遵守 robots.txt,技术上怎么拦?
结论:把判断下沉到服务器或 CDN 层,返回 403 而不是 200,是性价比最高的一步。
Nginx 用 map 更稳妥(避免在 location 里直接写 if):
map $http_user_agent $block_ai {
default 0;
~*(GPTBot|CCBot|ClaudeBot|anthropic-ai|Bytespider|PerplexityBot|Amazonbot|Meta-ExternalAgent) 1;
}
server {
if ($block_ai) { return 403; }
}
Cloudflare 用户在后台 Security → Bots 打开 "Block AI bots" 即可,2024 年 7 月起新接入的域名默认就拦截 AI 爬虫;配套的 AI Audit 能列出最近哪些 AI 爬虫访问过站点,2024 年 9 月推出的 pay per crawl 则让爬虫付费抓取。OpenAI 在官方文档里公布了自己爬虫的 IP 段,可以据此再做一层 IP 黑名单;叠加速率限制(同 IP 每分钟超过 60 次请求返回 429)能挡掉大部分批量抓取。
结论:登录墙是所有技术手段里最彻底的一层——爬虫拿不到会话 cookie,正文就不出现在 HTML 里,剩下能抓到的只有标题和摘要。
内容层面还有哪些防护手段?
结论:软防护拦不住抓取,但能提高抓取成本、并让事后的追溯和举证更容易。
一是 TDM 保留声明。欧盟《数字化单一市场版权指令》第 4 条允许权利人用机器可读方式保留文本与数据挖掘权利,落地方式是 HTTP 响应头 tdm-reservation: 1、页面 meta 标签,或根目录 /.well-known/tdmrep.json 文件。二是 <meta name="robots" content="noai, noimageai">,这是行业自发约定而非标准,但部分爬虫会读取。三是在正文里埋一句现实中不存在的独特短句作为诱饵,每隔一段时间去搜索引擎和模型里搜这句,就能判断内容有没有进语料。四是图片化和 JS 渲染:GPTBot 这类训练爬虫不执行 JavaScript,但多模态模型已经能 OCR 图片,这一层只算抬高门槛。
法律上能主张什么?
结论:robots.txt 的拒绝声明加上 TDM 保留,是主张权利时最实用的两样证据。
中国《著作权法》第 24 条的合理使用情形不覆盖大规模商业训练,《生成式人工智能服务管理暂行办法》第 7 条明确要求训练数据来源合法、不得侵害他人依法享有的知识产权。美国判例尚未统一,2025 年 9 月 Anthropic 与作者群体就盗版图书案达成 15 亿美元和解,纽约时报诉 OpenAI 案仍在推进。欧盟方面,DSM 第 4 条是目前最明确的机器可读保留机制。
两个常见误区
llms.txt 不是屏蔽工具。它是"给 LLM 看的站点说明书",目的是让 AI 更准确地引用你,方向正好相反。另外,robots.txt 不是防火墙,它只对守规矩的爬虫有效,真正的拦截必须发生在服务器返回码上。
总结一下:先在 robots.txt 里按 UA 列全屏蔽名单,再在 Nginx 或 Cloudflare 层对同一批 UA 返回 403,核心内容放进登录墙,同时用 TDM 声明和诱饵句留下追溯手段。要不要连 OAI-SearchBot、ChatGPT-User 一起封,取决于你是想彻底不出现在 AI 回答里,还是只想拒绝训练。
转载请注明出处,版权归原作者所有。