文章摘要
通过分析nginx日志发现,AI流量(如ChatGPT、Claude等)与常规推荐流量在用户代理、访问模式等方面存在显著差异,这有助于区分真实用户与AI爬虫行为。
文章总结
标题:从Nginx日志看AI流量与推荐流量的区别
主要内容概述
文章通过分析Nginx服务器日志,探讨了AI助手(如ChatGPT、Claude等)在回答用户问题时是否实时抓取网页内容,以及如何区分AI流量和真实用户点击流量。作者设置了一个专门的Nginx探测工具,通过向主流AI助手提问并记录服务器日志,揭示了不同AI助手的行为模式。
关键发现
两种流量信号
- AI提供方抓取:AI助手直接访问源网站,通常带有专用用户代理(User-Agent)且无推荐来源(referrer)。
- 真实用户点击:用户阅读AI回答后,点击引用链接访问网站,表现为普通浏览器流量,推荐来源为AI助手。
AI助手的行为差异
明确标识的AI助手:
- ChatGPT:使用
ChatGPT-User/1.0用户代理,从多个IP地址同时抓取多个候选页面。 - Claude:每次抓取前先请求
robots.txt,用户代理为Claude-User/1.0。 - Perplexity:直接抓取页面,用户代理为
Perplexity-User/1.0,但有时会从索引中回答而不抓取。 - Meta AI:使用
meta-webindexer/1.1用户代理,但行为与文档中描述的Meta-ExternalFetcher不一致。 - Manus:用户代理中带有
Manus-User/1.0后缀,完整渲染页面内容。
- ChatGPT:使用
未明确标识的AI助手:
- Gemini(Google):未观察到实时抓取,完全依赖自身索引。
- Copilot(Microsoft):以普通浏览器(Chrome)形式抓取,无法与真实用户区分。
- Grok(xAI):同样以普通浏览器(Safari/Chrome)形式抓取,无标识。
可测量的内容
- AI抓取流量:通过用户代理(如
ChatGPT-User、Claude-User等)识别。 - 真实用户流量:通过推荐来源(如
chatgpt.com、claude.ai等)识别。 - 需注意的混淆信号:搜索引擎爬虫(如
Googlebot、Bingbot)和训练爬虫(如GPTBot)不属于实时抓取流量。
- AI抓取流量:通过用户代理(如
实用建议
- 如果希望阻止特定AI助手抓取,可通过
robots.txt文件针对其用户代理设置限制。 - 对于未明确标识的AI助手(如Copilot、Grok),无法仅通过日志区分其流量。
- 可通过工具(如robots.txt检查器)快速查看当前网站的AI爬虫权限设置。
附录:主流AI爬虫分类
| 爬虫名称 | 公司 | 类型 | 文档链接 |
|------------------------|------------|----------------|----------|
| ChatGPT-User | OpenAI | 实时抓取 | 链接 |
| Claude-User | Anthropic | 实时抓取 | 链接 |
| Perplexity-User | Perplexity | 实时抓取 | 链接 |
| Googlebot | Google | 搜索引擎索引 | 链接 |
| Bingbot | Microsoft | 搜索引擎索引 | 链接 |
总结
通过Nginx日志可以清晰识别部分AI助手的实时抓取行为,但部分助手(如Gemini、Copilot、Grok)的流量无法与普通用户区分。网站管理员应根据需求调整robots.txt设置,并注意不同AI助手的行为差异。
评论总结
总结评论内容:
- 对文章内容的兴趣与肯定
- 认为是有趣的实践方法:"Looks like a very fun exercise, I will try it out as well" (评论1)
- 对AI访问模式的研究兴趣:"I'm curious about the header of their requests" (评论3)
- 对AI写作风格的批评
- 认为文章有明显AI写作痕迹:"This article is absolutely jammed with AI tells" (评论5)
- 批评表达不清晰:"the writing on this is so painful to read...written by an LLM" (评论7)
- 关于AI访问网站的技术讨论
- 指出不同AI访问模式的差异:"Claude tends to fetch top-of-message URLs first, while GPT often fetches the last one mentioned" (评论10)
- 强调需要区分不同访问目的:"multiple ways these tools access your site...only one is 'using it for training'" (评论8)
- 对数据真实性的质疑
- 发现IP地址可能被故意模糊:"IPs listed...are from reserved ranges...intentionally obfuscated" (评论9)
- 质疑数据收集方法:"it doesn't mention whether it actually hit the endpoint during the test" (评论7)
- 幽默/讽刺性评论
- 调侃AI服务特点:"ChatGPT DDoS-lite, Claude the polite one" (评论6)
- 暗示安全漏洞:"for the user-agent 'ChatGPT-User' I can return my prompt injection text" (评论2)