如何禁止常见 AI 引擎抓取网页内容

如何禁止常见 AI 引擎抓取网页内容

今年各大厂商纷纷推出或升级了 AI 大模型,较出名的是OpenAI GPT 与谷歌的 Bard、Vertex AI等,它们会在互联网上抓取大量的数据来训练自己,如果不希望内容被抓取可按本文指引禁止。

为什么需要禁止 AI 引擎抓取网页内容?

在人工智能的训练中,数据扮演着至关重要的角色。就像一个渴望知识的学子,人工智能需要大量数据来滋润它的“头脑”,使其不断进化、成长。

数据的数量和质量直接影响了AI模型的性能。通过不断地挖掘和分析这些数据,AI模型能够逐渐适应各种任务,变得越来越聪明。而这种挖掘过程,也需要大量的时间和计算资源。

总的来说,人工智能的训练离不开大量数据的支持,就如同树木需要阳光和水份才能茁壮成长。

虽然 AI 大模型需要咱们的网页内容,但作为站长而言,网站内容被抓取是没有益处的。这些 AI 引擎抓取内容也不会对 SEO 产生正面影响,反之还会产生额外的流量,消耗更多的服务器资源。

通过 robots.txt 禁止 AI 引擎抓取

User-agent: GPTBot
Disallow: /

User-agent: Google-Extended
Disallow: /

User-agent: CCBot
Disallow: /

目前笔者暂未发现其它 AI 引擎使用的 User-agent 名称,例如百度的文心一言并未公布它采取何种抓取方式与 User-agent 名称。

以上内容添加至 robots.txt 文件顶部即可生效,但正如我们在介绍 robots.txt 的文章中提到的,有些网络爬虫是不一定会遵守这个限制的。

使用 Nginx 规则完全禁止部分爬虫访问网页

既然有些爬虫不守规则,无视 robots.txt 中的指令,那么下面的方法是绝对可阻止它们访问的。

在 Nginx 主机配置文件中加入:

if ( $http_user_agent ~* "GPTBot|Google-Extended|CCBot" ) {
	return 403; 
}

释义:

  • 以上代码将客户端请求中包含 GPTBot、Google-Extended 或 CCBot 的访问直接返回 403 状态码(禁止访问)。
  • 如果要添加其它的 User-agent 名称,只需要用英文半角”|”符号分隔。例如:”GPTBot|Google-Extended|CCBot|SemrushBot|DataForSeoBot”

对于 WordPress 网站而言,可将以上代码添加至伪静态规则中,参考以下示例:

location / {
	if ( $http_user_agent ~* "GPTBot|Google-Extended|CCBot" ) {
		return 403; 
	}

	# BEGIN 安全标头
	add_header X-Content-Type-Options nosniff;
	add_header X-Frame-Options SAMEORIGIN;
	add_header X-XSS-Protection "1; mode=block";
	add_header Referrer-Policy "no-referrer-when-downgrade";
	# END 安全标头
	
	try_files $uri $uri/ /index.php?$args;
}
© 版权声明
THE END
喜欢就支持一下吧
点赞13 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容