iT邦幫忙

2026 iThome 鐵人賽

DAY 2
0
Modern Web

你的第一本 AEO x GEO 教戰手冊系列 第 2

AI 爬蟲圖鑑:GPTBot、ClaudeBot、PerplexityBot 等等,認清那些半夜敲門的陌生人

  • 分享至 

  • xImage
  •  

昨天我們下了三道指令,把 access log 裡那些假裝是正常人類的訪客,和毫不掩飾自己是爬蟲的傢伙分成了兩堆。第二堆名單通常會浮現十幾個名字,看起來就像這樣:

 209 GPTBot
 148 ClaudeBot
 118 meta-externalagent
 102 OAI-SearchBot
  49 PerplexityBot
  48 CCBot
  37 ChatGPT-User

今天我們要把這些名字的底細徹底掀開。他們背後是誰、半夜潛入你家想拿走什麼、官方身分證放在哪、出門穿什麼外套(User-Agent),還有你該怎麼在門口(robots.txt)貼上拒絕往來戶的字條。

這裡有個底線。本文所有的引述和證據,都是在 2026-09-06 這天親手從他們官方頁面上扒下來的。這件事比你想的還嚴重,外面那些中文農場文早就塞滿了人家改名或死不承認的舊資料,我們後面會親自抓幾個出來看。

不要去死背名單,去懂他們的潛規則

如果你今天只打算記住一件事,請記得這句。同一家公司通常會放出三種不同性格的分身,而且會把意圖直接寫在臉上。

角色 命名慣例 它的真實意圖
訓練型 -Bot-Agent、公司名 像個貪得無厭的掠奪者,大量吞噬你的內容拿去餵養自己的模型。
索引型 -SearchBot-Index-WebIndexer 像個造冊的戶政人員,把你的特徵建檔,等 AI 哪天需要回答時把你翻出來。
即時型 -User-Fetcher 代表此刻正有一個活生生的人在螢幕前問了問題,它只是代為跑腿來敲你的門。

把這五家大廠對照一下,那層關係的輪廓就出來了:

公司 訓練型 索引型 即時型
OpenAI GPTBot OAI-SearchBot ChatGPT-User
Anthropic ClaudeBot Claude-SearchBot Claude-User
Perplexity (無) PerplexityBot Perplexity-User
Mistral MistralAI-Training MistralAI-Index MistralAI-User
Meta meta-externalagent meta-webindexer meta-externalfetcher

Mistral 的命名最不遮掩,三個字直接攤牌。至於 Perplexity 為什麼中間空了一格,那不是漏填。他們在自己的聲明裡說得很白,PerplexityBot 不會用來爬取內容訓練基礎模型。他們從一開始就不打算發展這種關係。

抓到這層潛規則,明天就算冒出一個新面孔,你也能一眼看穿他的來意。看到 Kimi-User 你就知道有人在背後使喚它;看到 xAI-SearchBot 你就知道他在建檔。這三種性格對你網站的掠奪程度完全不同,這也是我們明天要深究的痛點。今天我們先學會叫出他們的名字。

OpenAI:四個分身,而且門禁是完全切開的

官方文件在這裡:https://developers.openai.com/api/docs/bots

名字 robots.txt token 官方承認的用途 守不守門口規矩?
GPTBot GPTBot 抓內容去訓練生成式基礎模型
OAI-SearchBot OAI-SearchBot 讓網站出現在 ChatGPT 的搜尋結果裡
ChatGPT-User ChatGPT-User 處理活人觸發的動作 部分(見下文)
OAI-AdsBot OAI-AdsBot 檢查被投放為廣告的頁面是否安全 只看廣告頁

GPTBot 的自我介紹(UA)長這樣,這是官方原話:

Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko); compatible; GPTBot/1.4; +https://openai.com/gptbot

OpenAI 文件裡有一段自白非常赤裸,我必須一字不漏地搬過來。這是全業界把「關係界線」畫得最清楚的地方:

"Each setting is independent of the others – for example, a webmaster can allow OAI-SearchBot in order to appear in search results while disallowing GPTBot to indicate that crawled content should not be used for training OpenAI's generative AI foundation models."

說穿了就是,「別碰我的肉體(不給訓練)」和「在外面可以提我的名字(出現在搜尋結果)」,是兩件完全不衝突的事。很多站長一氣之下把門死死鎖上,卻不知道自己連在 ChatGPT 裡的曝光機會也一併扼殺了。這兩者本來就可以各走各的。

仔細看 ChatGPT-User 那一欄的「部分遵守」。OpenAI 自己承認它不是用來自動爬網頁的,而且 robots.txt 的規矩對它可能不適用。別急著罵他們渣,後面你會發現,這早就變成整個圈子裡心照不宣的默契。

Anthropic:三個名字,但從不給你看完整的真面目

官方文件:https://support.claude.com/en/articles/8896518-does-anthropic-crawl-data-from-the-web-and-how-can-site-owners-block-the-crawler

  • ClaudeBot 負責搜刮網頁來餵養模型。
  • Claude-SearchBot 負責導航來提升搜尋結果品質。
  • Claude-User 則是當有人發問時,它代替使用者來按門鈴。

這裡藏著一個極度私密卻沒人點破的細節。Anthropic 根本沒有公開這三個人的完整 User-Agent 字串。為了確認這件事,我換了幾種姿勢把那個頁面翻了兩次,裡面連半個 Mozilla/5.0 開頭的範例都沒有。別家都老老實實交出字串,只有他們給了個含糊的代號。

這意味著你在網路上查到的那些 ClaudeBot 完整 UA,全是別人從自己家監視器畫面拼湊出來的,根本不是官方承認的身分證。如果你拿這種偷拍的照片去設下嚴格的門禁比對,絕對會出漏子。正確的防禦姿勢是只認 ClaudeBot 這個局部特徵,而不是強求完全吻合。

Anthropic 接受 Crawl-delay: 1 這種要求放慢腳步的指令。同時在文件裡冷言勸退你用 IP 封鎖,他們說用封 IP 這種激烈手段,可能無法正確或持久地保證把你拒於門外。

Perplexity:兩支,連官方給的自我介紹都是殘缺的

官方文件:https://docs.perplexity.ai/guides/bots

  • PerplexityBot 用來索引,明講了不會拿去訓練。
  • Perplexity-User 是使用者發問時派來的。文件裡毫不掩飾地說,這個跑腿的通常會無視 robots.txt 的規矩。

這裡有個很荒謬的坑。Perplexity 官方給出的 UA 長這樣:

Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; PerplexityBot/1.0; +https://perplexity.ai/perplexitybot)

仔細看 (KHTML, like Gecko; 那個左括號,它敞開了身子,然後就再也沒有關上。正常的瀏覽器寫法應該是先閉合括號才繼續往下走。這不是我手殘打錯,這是他們官方頁面上的原樣,甚至連 Mistral 的三支爬蟲也把這種殘缺的寫法照抄了過去。

如果你用那種規規矩矩解析 UA 結構的工具去查,這幾個傢伙絕對會讓系統崩潰或解出一堆亂碼。對付他們請永遠只用局部特徵去比對,別指望他們會按牌理出牌。

Google:AI 的痕跡,以及一個你永遠等不到的幽靈

官方文件:
https://developers.google.com/crawling/docs/crawlers-fetchers/overview-google-crawlers

他們把自己的爬蟲分成三階,這種分類本身就透著權力的味道:

  • Common crawlers 永遠遵守規矩。(GooglebotGoogleOtherGoogle-CloudVertexBot 等)
  • Special-case crawlers 帶著特權。比如負責審查惡意內容的 Google-Safety 就明文寫著完全無視 robots.txt。
  • User-triggered fetchers 只要是活人使喚的,他們基本上都不守規矩。

最該看破的是 Google-Extended,它根本不是實體

Google 原文是這麼說的,Google-Extended 沒有獨立的 HTTP 請求字串。抓取動作是靠現有的爬蟲去做的,這個 token 只是用來當作控制開關。它也不會影響你的網站能不能在搜尋裡曝光。

也就是說,Google-Extended 只是你在門口掛的一塊「請勿拿我的心血去餵 Gemini」的牌子。來敲門的永遠是 Googlebot

所以,你的 access log 裡永遠不可能出現 Google-Extended 的身影。如果哪個報表軟體跟你說它昨天來過,那絕對是徹頭徹尾的謊言。Apple 的 Applebot-Extended 也是一樣的把戲,官方直接挑明,它根本不會去爬網頁。這兩個只是虛擬的承諾,認清這點才不會對著空氣疑神疑鬼。

關於 Gemini 的殘酷現實

Google-NotebookLM 已經改名了。2026-07-16 的變更紀錄裡寫著,它換成了 Google-GeminiNotebook。舊的名字在今年八月就已經失效。

另外那些在坊間流傳的 Gemini-Deep-ResearchGoogle-Gemini-CLIGoogleAgent-Mariner,我翻遍了官方所有的角落,Google 從來沒有承認過他們。這些名字只是別人在暗處窺探到的,你可以防,但別把他們當成官方認證的過客。

Google 倒是大方地交出了四份 IP 名單,而且是唯一一家分得這麼細的:

https://developers.google.com/static/crawling/ipranges/common-crawlers.json
https://developers.google.com/static/crawling/ipranges/special-crawlers.json
https://developers.google.com/static/crawling/ipranges/user-triggered-fetchers.json
https://developers.google.com/static/crawling/ipranges/user-triggered-agents.json

(請注意現在已經沒有 googlebot.json 這個檔了,是 common-crawlers.json。)

Meta:五支隊伍,兩支明說會強闖你的門禁

官方文件:https://developers.facebook.com/docs/sharing/webmasters/crawler

名字 用途 守不守門口規矩?
facebookexternalhit 有人在 FB/IG 分享連結時來抓縮圖 坦言在做安全檢查時可能會繞過
meta-externalagent 負責訓練基礎模型與直接索引 未聲明例外
meta-webindexer 用來優化 Meta AI 未聲明例外
meta-externalfetcher 支援代理功能、處理活人觸發的動作 明說了可能會無視 robots.txt
meta-externalads 處理廣告業務 未聲明例外

Meta 是五大廠裡唯一一家,連一份 IP 名單都不肯給的。

更要命的是,五支裡面有三支什麼例外都沒寫。你要記住這種人際互動的黑暗面。對方沒有事先聲明會打破規矩,絕對不等於他承諾會遵守。

你的 log 裡還會出現的舊識

  • CCBot (Common Crawl) 是個非營利組織。他們抓走的資料是無數 AI 貪婪吸吮的母乳。他們的 FAQ 是所有人裡寫得最乾淨俐落的,守規矩、只用 GET、不跑 JS、不用 cookie,還把 IP 直接攤在陽光下。
  • Applebot 是蘋果的搜尋爬蟲。他們的說明頁在 2026-09-04 剛更新,是我看過最新的一份,而且是唯一一家把 IP 列表和反查驗證方法都給齊的。
  • BytespiderGrokBot / xAI-*DeepSeekBot 這幾家,我們得在下一節另外談。

沒有承諾的那一層,才是最讓人窒息的

我花了很多時間去查 xAI、字節跳動和 DeepSeek 的底細。結果是他們三家什麼都沒留下。沒有給站長看的說明、沒有公開的代號、沒有遵守規則的承諾,也沒有 IP 名單。你上網搜到的全是路人整理的黑名單,沒有半句是他們自己認帳的。

這不僅僅是少認識三個人而已。robots.txt 這種防禦機制,只對那些願意對你負責、願意留下名字的人才有效。一家連名字都不肯公開的公司,你連要在拒絕往來戶名單上寫什麼都不知道。這種基於信任建立的防線,在這種不留痕跡的關係裡瞬間崩塌。

實測:扒開那些官方 IP 清單,看看他們有多久沒理你了

前面說了幾家有給 IP 清單。這是他們唯一給出的、可以用程式檢驗的實質承諾。我們來看看這些承諾有多新鮮。

只要一行指令(這是 2026-09-06 當天戳下去的真實反應):

curl -sSL https://openai.com/gptbot.json \
  | python3 -c "import json,sys; d=json.load(sys.stdin); print(len(d['prefixes']), d['creationTime'])"

我把幾家全部盤問了一遍:

清單 IP 數量 上次更新時間
[openai.com/gptbot.json](https://openai.com/gptbot.json) (訓練) 21 2025-10-30
[openai.com/searchbot.json](https://openai.com/searchbot.json) (索引) 35 2026-01-02
[openai.com/chatgpt-user.json](https://openai.com/chatgpt-user.json) (即時) 207 2026-09-04
[claude.com/crawling/bots.json](https://claude.com/crawling/bots.json) (三支共用) 26 2026-08-18
perplexity.ai/perplexitybot.json 8 2025-02-07
perplexity.ai/perplexity-user.json 4 2025-10-17
mistral.ai/mistralai-user-ips.json 4 2025-02-19
[search.developer.apple.com/applebot.json](https://search.developer.apple.com/applebot.json) 33 2026-07-31
Google common-crawlers.json 317 2026-09-04
Google user-triggered-fetchers.json 1,058 2026-09-03

看清這三個現實。

第一,他們對待你的態度差了十萬八千里。Perplexity 那份只有 8 個 IP 的名單,已經放著生灰塵 19 個月了。OpenAI 那份即時型的,兩天前才剛梳理過。同樣叫官方承諾,重量完全不同。

第二,即時派來的人馬比訓練用的多太多了。OpenAI 即時型有 207 個,訓練型才 21 個。Google 也是同樣懸殊的 1058 對 317。最合理的猜測是,即時抓取是混在龐大的通用雲端裡運作,而訓練用的則是關在特定的房間裡固定運作。

第三,這些 AI 廠給的專用名單,清一色全只有 IPv4。我把 OpenAI、Anthropic、Perplexity、Mistral 和 Apple 全翻過底朝天,連半個 IPv6 都沒有。Google 的通用爬蟲清單才有 IPv6(317 個裡有 147 個)。如果你的網站開了 IPv6,卻妄想只靠這些名單來驗證身分,那你家的後門根本是敞開的。

這裡有個討厭的陷阱。Perplexity 註冊表上寫的 [www.perplexity.com/perplexitybot.json](https://www.perplexity.com/perplexitybot.json) 會 302 轉址到 www.perplexity.ai/...。如果你用 curl 不加 -L 跟過去,只會拿到一張轉址的廢紙,然後你的程式解析就會當場死給你看。

到底有多少人在暗處盯著你?這取決於你問誰

社群裡那份最多人拜的 ai.robots.txt 名單(GitHub 上 4.1k star),裡面密密麻麻塞了 227 個條目。而 Cloudflare 的 AI Crawl Control 官方只追蹤了 20 個。我們自己手裡捏著名單有 246 筆,涵蓋了 97 家具名公司。

227 對上 20,這不是誰在說謊,而是他們抱持著完全不同的防禦心態。前者是「只要有嫌疑就通通掐死」,後者是「我只管那些我能驗證身分的人」。

最諷刺的是,社群名單裡經常塞滿了對方早就澄清過的謠言。拿 Cohere 來說,社群名單把他們列進去了,但 Cohere 官方文件白紙黑字寫著,他們目前絕對不會派出爬蟲來搜刮網頁訓練模型,而且表格上全是 N/A。

實務上的生存守則。把社群名單當作值得警惕的緋聞對象,但定罪的鐵證永遠只能看官方文件。兩者不能混為一談。

判讀時的四個致命傷

  1. UA 只是自稱。 任何人都可以披上 GPTBot 的外衣來敲門,而且他們真的常這麼幹。怎麼用 IP 去扒下他們的面具,那是第四天的課題。
  2. 比對要看局部,而且要當心黏在一起。 Googlebot 這個字眼不會吃到 GoogleOther,但 Google 會。我們自己的規則會刻意加上斜線,或者限制邊界,就是怕錯殺無辜。記得範圍窄的要先檢查。
  3. 大小寫永遠是混亂的。 Meta 喜歡全小寫,OpenAI 喜歡大寫開頭。放寬心,比對時一律當作不分大小寫。
  4. 承諾會變,名字會改。 OpenAI 搬家了,Google 換了名字而且舊的已經失效。任何超過半年沒人整理的名單,裡面絕對藏著定時炸彈。

小結

認清他們命名的暗示,比死記硬背有效。Google-ExtendedApplebot-Extended 只是你門口掛的牌子,他們不是會來按鈴的實體,永遠不會出現在你的 log 裡。

OpenAI 的界線是切開的,不給肉體訓練,還是可以讓他們在外面幫你宣傳。官方名單的新鮮度落差極大,而且 AI 廠全是在 IPv4 的世界裡打轉。那些連規則都不肯寫清楚的廠商,你門口的 robots.txt 對他們來說就是廢紙。

明天我們要面對的是今天刻意避開的痛點。同樣是 AI 來過,GPTBot 來強取豪奪、OAI-SearchBot 來建檔登記、ChatGPT-User 因為某人的使喚而來,這三種接觸對你的意義完全不同。更別提還有第四種,那是活生生的人類,從 AI 的引導下親自走進了你的房間。


本文是「你的第一本 AEO x GEO 教戰手冊」系列第 2 天。系列實測與數據由 arrivl 整理 —— Growth Analytics for the Agentic Web。


上一篇
你的網站有多少訪客根本不是人? Server Log 與 GA4 之間的鴻溝
下一篇
三種 AI 流量:訓練爬取、即時檢索、AI 導流,他們的行為完全不同
系列文
你的第一本 AEO x GEO 教戰手冊7
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言