TapCub 正式上线:统计、分析、客服一个平台免费用

免费工具 robots.txt 测试:这个网址哪些爬虫能抓

贴上 robots.txt,列出你关心的网址,选好爬虫。每个网址、每个爬虫都给出「允许 / 禁止」、起作用的那一行和它实际读的是哪一组规则;另外列出爬虫会读错或直接跳过的行。

  • 按 RFC 9309 判定
  • 146 个爬虫 token
  • 本地运行
测试工具

哪个爬虫能抓哪个网址

示例是一个小商城。换成你自己网站 https://你的域名/robots.txt 的内容和你自己的路径,表格和问题清单会跟着更新。不会访问你的网站。

整份粘贴进来,注释和空行都没关系。

一行一个,最多 50 个。也可以贴完整网址,只比较路径和问号后面的参数。

用逗号分开,如 360Spider, Sogou。填 robots.txt 里写的 token,不是完整的 UA 字符串。

User-agent 组

3

文件里有几组规则。

检查次数

64

网址数 × 爬虫数。

允许

28

禁止

36

逐个网址、逐个爬虫的结果

爬虫只读写了自己名字的那一组;没有专门的组时才用 User-agent: *。

路径爬虫结果起作用的规则用的哪一组
/Googlebot允许没有规则匹配:允许User-agent: *(第 2 行)
/Bingbot允许没有规则匹配:允许User-agent: *(第 2 行)
/Baiduspider允许没有规则匹配:允许自己的组(第 14 行)
/GPTBot禁止Disallow: /(第 12 行)自己的组(第 9 行)
/OAI-SearchBot允许没有规则匹配:允许User-agent: *(第 2 行)
/ChatGPT-User允许没有规则匹配:允许User-agent: *(第 2 行)
/ClaudeBot允许没有规则匹配:允许User-agent: *(第 2 行)
/Claude-SearchBot允许没有规则匹配:允许User-agent: *(第 2 行)
/Claude-User允许没有规则匹配:允许User-agent: *(第 2 行)
/PerplexityBot允许没有规则匹配:允许User-agent: *(第 2 行)
/Perplexity-User允许没有规则匹配:允许User-agent: *(第 2 行)
/Google-Extended允许没有规则匹配:允许User-agent: *(第 2 行)
/Applebot-Extended允许没有规则匹配:允许User-agent: *(第 2 行)
/CCBot禁止Disallow: /(第 12 行)自己的组(第 9 行)
/Bytespider禁止Disallow: /(第 12 行)自己的组(第 9 行)
/Meta-ExternalAgent允许没有规则匹配:允许User-agent: *(第 2 行)
/products/red-sneakers?sort=priceGooglebot禁止Disallow: /*?sort=(第 6 行)User-agent: *(第 2 行)
/products/red-sneakers?sort=priceBingbot禁止Disallow: /*?sort=(第 6 行)User-agent: *(第 2 行)
/products/red-sneakers?sort=priceBaiduspider允许没有规则匹配:允许自己的组(第 14 行)
/products/red-sneakers?sort=priceGPTBot禁止Disallow: /(第 12 行)自己的组(第 9 行)
/products/red-sneakers?sort=priceOAI-SearchBot禁止Disallow: /*?sort=(第 6 行)User-agent: *(第 2 行)
/products/red-sneakers?sort=priceChatGPT-User禁止Disallow: /*?sort=(第 6 行)User-agent: *(第 2 行)
/products/red-sneakers?sort=priceClaudeBot禁止Disallow: /*?sort=(第 6 行)User-agent: *(第 2 行)
/products/red-sneakers?sort=priceClaude-SearchBot禁止Disallow: /*?sort=(第 6 行)User-agent: *(第 2 行)
/products/red-sneakers?sort=priceClaude-User禁止Disallow: /*?sort=(第 6 行)User-agent: *(第 2 行)
/products/red-sneakers?sort=pricePerplexityBot禁止Disallow: /*?sort=(第 6 行)User-agent: *(第 2 行)
/products/red-sneakers?sort=pricePerplexity-User禁止Disallow: /*?sort=(第 6 行)User-agent: *(第 2 行)
/products/red-sneakers?sort=priceGoogle-Extended禁止Disallow: /*?sort=(第 6 行)User-agent: *(第 2 行)
/products/red-sneakers?sort=priceApplebot-Extended禁止Disallow: /*?sort=(第 6 行)User-agent: *(第 2 行)
/products/red-sneakers?sort=priceCCBot禁止Disallow: /(第 12 行)自己的组(第 9 行)
/products/red-sneakers?sort=priceBytespider禁止Disallow: /(第 12 行)自己的组(第 9 行)
/products/red-sneakers?sort=priceMeta-ExternalAgent禁止Disallow: /*?sort=(第 6 行)User-agent: *(第 2 行)
/checkout/helpGooglebot允许Allow: /checkout/help(第 5 行)User-agent: *(第 2 行)
/checkout/helpBingbot允许Allow: /checkout/help(第 5 行)User-agent: *(第 2 行)
/checkout/helpBaiduspider允许没有规则匹配:允许自己的组(第 14 行)
/checkout/helpGPTBot禁止Disallow: /(第 12 行)自己的组(第 9 行)
/checkout/helpOAI-SearchBot允许Allow: /checkout/help(第 5 行)User-agent: *(第 2 行)
/checkout/helpChatGPT-User允许Allow: /checkout/help(第 5 行)User-agent: *(第 2 行)
/checkout/helpClaudeBot允许Allow: /checkout/help(第 5 行)User-agent: *(第 2 行)
/checkout/helpClaude-SearchBot允许Allow: /checkout/help(第 5 行)User-agent: *(第 2 行)
/checkout/helpClaude-User允许Allow: /checkout/help(第 5 行)User-agent: *(第 2 行)
/checkout/helpPerplexityBot允许Allow: /checkout/help(第 5 行)User-agent: *(第 2 行)
/checkout/helpPerplexity-User允许Allow: /checkout/help(第 5 行)User-agent: *(第 2 行)
/checkout/helpGoogle-Extended允许Allow: /checkout/help(第 5 行)User-agent: *(第 2 行)
/checkout/helpApplebot-Extended允许Allow: /checkout/help(第 5 行)User-agent: *(第 2 行)
/checkout/helpCCBot禁止Disallow: /(第 12 行)自己的组(第 9 行)
/checkout/helpBytespider禁止Disallow: /(第 12 行)自己的组(第 9 行)
/checkout/helpMeta-ExternalAgent允许Allow: /checkout/help(第 5 行)User-agent: *(第 2 行)
/cartGooglebot禁止Disallow: /cart(第 3 行)User-agent: *(第 2 行)
/cartBingbot禁止Disallow: /cart(第 3 行)User-agent: *(第 2 行)
/cartBaiduspider允许没有规则匹配:允许自己的组(第 14 行)
/cartGPTBot禁止Disallow: /(第 12 行)自己的组(第 9 行)
/cartOAI-SearchBot禁止Disallow: /cart(第 3 行)User-agent: *(第 2 行)
/cartChatGPT-User禁止Disallow: /cart(第 3 行)User-agent: *(第 2 行)
/cartClaudeBot禁止Disallow: /cart(第 3 行)User-agent: *(第 2 行)
/cartClaude-SearchBot禁止Disallow: /cart(第 3 行)User-agent: *(第 2 行)
/cartClaude-User禁止Disallow: /cart(第 3 行)User-agent: *(第 2 行)
/cartPerplexityBot禁止Disallow: /cart(第 3 行)User-agent: *(第 2 行)
/cartPerplexity-User禁止Disallow: /cart(第 3 行)User-agent: *(第 2 行)
/cartGoogle-Extended禁止Disallow: /cart(第 3 行)User-agent: *(第 2 行)
/cartApplebot-Extended禁止Disallow: /cart(第 3 行)User-agent: *(第 2 行)
/cartCCBot禁止Disallow: /(第 12 行)自己的组(第 9 行)
/cartBytespider禁止Disallow: /(第 12 行)自己的组(第 9 行)
/cartMeta-ExternalAgent禁止Disallow: /cart(第 3 行)User-agent: *(第 2 行)

文件里的问题

对照 RFC 9309 和百度、Google 等搜索引擎的官方文档检查。

  • 说明第 5 行Allow「/checkout/help」写在一条更宽的 Disallow 后面。RFC 9309 和 Google 按最长规则判定,顺序无所谓;但百度的文档写的是「按顺序第一条匹配的 Allow / Disallow 生效」,百度可能会判成禁止。把 Allow 行挪到 Disallow 前面,两种读法结果就一致了。
  • 正常没发现问题,每一行都是爬虫能看懂的写法。
全部在你的浏览器里计算。这里输入的任何内容都不会上传,TapCub 也不会保存。

版本 v1.0更新于 更新记录

结果怎么读

每一列在告诉你什么

每一行是「一个爬虫看一个网址」。先看结果,再看解释它的两列。

允许还是禁止

禁止表示请这个爬虫不要抓这个网址。这是请求不是门锁:守规矩的爬虫会照办,不守的照样来;被禁止的网址如果有外链,Google 仍可能收录一个没有摘要的结果。

起作用的规则

最终胜出的那一行 Allow 或 Disallow,带行号。多条都匹配时取最长的,一样长时 Allow 优先。「没有规则匹配」表示爬虫有自己适用的组,但里面没有一条覆盖这个网址,所以允许。

用的哪一组

大部分意外出在这里。爬虫一旦有自己名字的组,就完全不看 User-agent: *。示例里给百度蜘蛛单独写了一组只禁 /search,结果 * 里禁掉的购物车、带排序参数的网址,百度蜘蛛反而都能抓。

问题清单

错误会让规则或 Sitemap 失效;警告是有的爬虫会读错或跳过的行;说明解释 Crawl-delay 这类非标准写法。文件没问题时只显示一条「正常」。

工具测的是你贴进来的文字。线上那份可能不一样:确认 https://你的域名/robots.txt 返回 200 和纯文本,每个主机名(www、m、shop)都要有,http 和 https 都试一下。宝塔面板里 robots.txt 放在网站根目录,开了伪静态的要确认它没被转发给首页。

怎么用

三步用完

不用安装,也不会访问你的网站。

  1. 1

    贴上文件

    浏览器打开你的 robots.txt,全选复制粘贴。想在上线前试改动,就贴改好的版本。

  2. 2

    列出网址

    把必须能被抓的页面(首页、栏目页、商品页、文章页)和本来想屏蔽的页面(购物车、站内搜索、后台)都放进去,贴完整网址也行。

  3. 3

    选爬虫、看结果

    默认是主要 AI 爬虫加 Google、必应、百度。也可以切到全部 AI 爬虫、全部搜索引擎,或者自己加 token(如 360Spider)。按问题清单改完再测一遍。

判定规则

爬虫怎么判断能不能抓(RFC 9309)

RFC 9309(2022 年 9 月)把 robots 协议正式写成了标准,Google、必应和大多数知名爬虫都按它执行。本工具完全照它判定:

  • 选组:用爬虫的产品 token 去比 User-agent,不区分大小写、整词匹配;同一个 token 的多个组合并;没有组写它的名字才用 *;两者都没有就全部允许
  • 选规则:匹配到的 Allow / Disallow 里路径最长的胜出;一样长时 Allow 胜出;一条都不匹配就允许
  • 路径:区分大小写、从开头比;* 匹配任意字符,末尾的 $ 表示结尾;先把百分号编码归一化(中文路径按 UTF-8 编码后再比)
  • /robots.txt 本身永远允许。Sitemap、Crawl-delay 等行不会拆开或改变分组
规则匹配示例(取自 RFC 9309 和 Google robots.txt 文档)
组里的规则网址路径结果
Disallow: /fish/fish.html禁止:前缀匹配
Disallow: /fish//fish允许:不匹配
Disallow: /Fish/fish允许:路径区分大小写
Disallow: /*.php$/index.php?lang=en允许:$ 要求网址在这里结束
Disallow: / + Allow: /$/允许:/$ 更长
Disallow: / + Allow: /p/page允许:/p 更长
Disallow: /folder + Allow: /folder/folder/page允许:一样长时 Allow 优先
Disallow: /新闻/%E6%96%B0%E9%97%BB/1.html禁止:中文按 UTF-8 编码后相同
算一遍

四个爬虫读同一份示例文件

示例有三组规则。下面是默认爬虫里的四个对同样几个网址的判定,以及原因。

示例 robots.txt 的判定结果
爬虫读的哪一组/products/red-sneakers?sort=price/checkout/help/cart
Googlebot*(没有自己的组)禁止:/*?sort=允许:Allow 比 /checkout/ 长禁止
Baiduspider自己的组:只禁 /search允许允许允许
Bytespider和 GPTBot、CCBot 同一组禁止:Disallow: /禁止禁止
ClaudeBot*(没有自己的组)禁止允许禁止

百度蜘蛛是那个坑:为了单独禁 /search 给它开了一组,* 里的规则对它就全部失效了。要保留,就把 * 的规则在百度那一组里再写一遍。另外 /checkout/help 对 Googlebot 是允许,但按百度文档的「第一条匹配生效」读法会被前面的 Disallow 挡住,所以问题清单提示把 Allow 挪到前面。

常见错误

robots.txt 为什么没按你想的生效

多数出问题的文件语法都没错,错的是逻辑。

以为规则会叠加

单独写了名字的组会替换 *,不是在它基础上追加。共用的规则要在每个具名组里各写一遍。

用 Disallow 删收录

Disallow 只是不抓,不等于不收录,有外链的网址照样可能出现在结果里。要删收录,放开抓取再加 noindex。

把 CSS、JS 也屏蔽了

像 Disallow: /static/ 这样的规则会让搜索引擎渲染不出页面,可能被当成空白页或移动端不友好。

放错主机或目录

每个主机名在根目录各放一份:m.example.cn 不会读 www.example.cn 的文件,/blog/robots.txt 永远不会被读取。

常见问题

robots.txt 测试常见问题

还有其他问题?

直接和 TapCub 团队聊聊——工作日通常几小时内回复。

怎么检查某个网址有没有被 robots.txt 屏蔽?

把文件和网址贴到上面,每个爬虫一行,写明允许还是禁止,并给出起作用的那一行。要看搜索引擎眼里的线上版本:百度搜索资源平台有 Robots 工具可以检测和更新;Google Search Console 有 robots.txt 报告(2023 年底取代了旧的 robots.txt 测试工具),网址检查可以看单个网址是否被屏蔽。

为什么百度蜘蛛不按 User-agent: * 的规则来?

因为文件里另外有一组写了 Baiduspider。爬虫找到自己名字的组,就只读那一组。要么删掉这一组,要么把 * 里的规则复制进去。Googlebot 等其他爬虫同理。

Allow 和 Disallow 的先后顺序有影响吗?

按 RFC 9309、Google 和必应的做法没有影响:最长的路径胜出,一样长时 Allow 优先。但百度的 robots 文档写的是按顺序取第一条匹配的规则。把 Allow 写在 Disallow 前面,两种读法结果一致,最省心。

robots.txt 里的路径区分大小写吗?

区分。Disallow: /Admin 挡不住 /admin。字段名(Disallow、User-agent)和爬虫 token 不区分大小写,路径区分。中文路径按 UTF-8 编码比较,直接写中文和写 %E6… 编码是一样的。

在 robots.txt 里禁止了,页面就会从百度、Google 消失吗?

不会。它只是不抓。如果别的页面链接了这个网址,搜索引擎仍可能收录一个没有摘要的结果。要删除收录,让页面可以被抓,再加 noindex 的 robots meta 标签或 X-Robots-Tag 响应头。

AI 爬虫会遵守 robots.txt 吗?

大厂都声明自动抓取的爬虫会遵守:OpenAI(GPTBot、OAI-SearchBot)、Anthropic(ClaudeBot、Claude-SearchBot、Claude-User)、Google(Google-Extended)、Perplexity(PerplexityBot)。由用户触发的抓取不一样:OpenAI 说 ChatGPT-User 可能不适用 robots.txt,Perplexity 说 Perplexity-User 一般不遵守,Meta 说 Meta-ExternalFetcher 可能绕过。

robots.txt 打不开或报错会怎样?

按 RFC 9309:返回 4xx(比如 404)时爬虫可以抓全站;返回 5xx 或连不上时,应当把整站当成禁止抓取,直到文件恢复。网站开了 CDN 或防火墙的,注意别把 /robots.txt 也拦掉。

我贴的内容会上传吗?

不会。文件和网址都在你的浏览器里解析,不发给 TapCub,也不访问你的网站。这个工具没有分享链接,粘贴的内容不会出现在网址里。

更新记录

更新记录

这个工具的新功能、修复和数据更新,最新的在前。

  1. · v1.0

    首次上线首次上线。

这个工具用到的数据

  • 机器人与 AI 爬虫规则(与 TapCub 产品同源) — 核对于 2026-11-10,每 3 个月复核(2027-02-10 前复核)

缺功能或发现错误?告诉我们,常被提到的会排进下次更新。 全部工具更新

下一步

看看哪些爬虫来过你的网站

装上 TapCub 的统计代码,机器人报表会列出每一个来抓页面的搜索引擎和 AI 爬虫,和真人访客分开统计。

看清数据,找到增长。

每一次点击,都有数据依据。装好一行代码,1 分钟看到第一批数据。

无需信用卡 · 统计与客服都有免费版 · 统计无 Cookie