在同一个 robots.txt 文件中,若需禁止 Googlebot 抓取整个网站但允许 AdsBot 抓取特定广告数据目录,关键在于区分用户代理(User-agent)并组合使用 Disallow 与 Allow 指令。

根据 Google 官方文档,规则组按从上到下的顺序处理,且一个用户代理仅匹配首个最具体的规则集。星号(*)会匹配除各种 AdsBot 抓取工具之外的所有工具,因此必须明确列出 AdsBot 名称。

具体编写逻辑如下:首先针对 Googlebot 设置禁止访问根目录的规则;接着针对 AdsBot 及其变体(如 AdsBot-Google)设置允许特定路径的规则。由于 Allow 指令用于替换 Disallow 规则,需在禁止整个网站后,再为 AdsBot 添加对广告数据目录的允许指令。

示例结构:
User-agent: Googlebot
Disallow: /

User-agent: AdsBot-Google
Allow: /ad-data/

User-agent: *
Disallow: /

需注意规则区分大小写,且文件必须位于网站根目录。若未另行指定,所有文件默认允许抓取,因此显式禁止 Googlebot 是必要的。测试时可通过浏览器访问 robots.txt 确认内容公开可见,或使用 Search Console 报告验证解析情况。

信息来源