Anthropic 的爬蟲:ClaudeBot、Claude-SearchBot 與 Claude-User
Anthropic 有三個代理程式:ClaudeBot 收集可能用於訓練其模型的內容,Claude-SearchBot 為改善 Claude 的搜尋結果而爬取,Claude-User 則在 Claude 使用者的問題需要時擷取頁面。三者各有自己的 robots.txt 標記,Anthropic 表示都會遵守 robots.txt。只封鎖 ClaudeBot 並不會阻止搜尋或使用者擷取。
Anthropic 將其爬蟲記載在同一個說明頁面中,結構與其他 AI 廠商相仿:一個負責訓練,一個負責搜尋,一個負責代表使用者即時擷取。如果你希望 Claude 能找到並引用你的頁面,後兩者最重要。
本頁內容
ClaudeBot 的用途是什麼?
ClaudeBot 收集可能有助於訓練 Anthropic 生成式 AI 模型的網路內容。依據 Anthropic 的說法,禁止它代表你網站日後的內容應排除在訓練資料集之外。
Anthropic 還表示,它會遵守依據 IETF 草案制定、機器可讀的禁止 AI 訓練訊號,而在 robots.txt 中點名 ClaudeBot 的規則,優先於這項通用設定。與其他訓練爬蟲一樣,封鎖它屬於政策選擇。
Claude-SearchBot 的用途是什麼?
Claude-SearchBot 爬取網路,以提升 Claude 搜尋結果的相關性與準確度。Anthropic 表示,封鎖它會使你的內容無法被索引用於搜尋,可能降低你在使用者搜尋結果中的能見度與準確度。
如果你希望 Claude 的搜尋功能在有人詢問之前就已知道你的頁面,就該允許這個代理程式。因為它是搜尋爬蟲,所以和任何搜尋爬蟲一樣,受惠於相同的幾件事:列在 robots.txt 中的 sitemap、乾淨的內部連結,以及第一次回應就帶出內容的頁面。
Claude-User 的用途是什麼?
當 Claude 使用者提出的問題需要存取網站時,Claude-User 就會前往,例如有人分享網址,或請 Claude 查詢某些資料。Anthropic 表示,封鎖它會阻止針對使用者查詢的擷取,可能降低你在使用者主導的網路搜尋中的能見度。
請留意它與某些其他廠商的差異。Anthropic 表示其機器人會遵守 robots.txt 指令,並說明可透過 robots.txt 封鎖 Claude-User。相對地,OpenAI 與 Perplexity 則表示,它們由使用者要求的擷取程式可能不會遵守 robots.txt。
如何為 Claude 撰寫 robots.txt 規則?
每個代理程式都有自己的標記,依 RFC 9309,點名某個爬蟲的群組會取代該爬蟲的 * 群組。常見的選擇是允許搜尋與使用者擷取,並退出訓練:
User-agent: Claude-SearchBot
User-agent: Claude-User
Allow: /
User-agent: ClaudeBot
Disallow: /
User-agent: *
Allow: /
Anthropic 也支援 Crawl-delay 作為非標準擴充,例如在 User-agent: ClaudeBot 下寫 Crawl-delay: 1,適合想放慢爬取而不是封鎖的情況。規則必須放在每個主機最上層目錄的 robots.txt 中,所以想涵蓋的每個子網域都要加上。
Anthropic 的做法與 OpenAI、Perplexity 有何不同?
三家廠商採取相同的模式,只是名稱不同,因此合併成一份 robots.txt 時很容易理解。主要差別在於,各家對使用者要求的即時擷取如何看待 robots.txt。
- 搜尋爬蟲:Anthropic 是
Claude-SearchBot,OpenAI 是OAI-SearchBot,Perplexity 是PerplexityBot。 - 訓練爬蟲:Anthropic 是
ClaudeBot,OpenAI 是GPTBot。Perplexity 表示PerplexityBot不用於為 AI 基礎模型爬取內容。 - 使用者擷取:
Claude-User、ChatGPT-User與Perplexity-User。Anthropic 表示其機器人會遵守 robots.txt;OpenAI 表示 robots.txt 可能不適用於ChatGPT-User;Perplexity 表示Perplexity-User通常會忽略它。
如果你要為三者寫同一份 robots.txt,請把搜尋與使用者標記放在同一個群組,訓練標記放在另一個。這樣政策容易閱讀,也能清楚看出你對各個用途做了什麼選擇。
應該用 IP 位址封鎖 Anthropic 嗎?
Anthropic 建議不要這麼做。其文件指出,封鎖 IP 位址可能無法正確或持續保證退出,因為這也會讓爬蟲無法讀取你的 robots.txt。請用 robots.txt 來表明你的政策。
Anthropic 確實在 claude.com/crawling/bots.json 公布了爬蟲的 IP 位址。這份清單有用的用法,正好與封鎖相反:讓防火牆驗證自稱是 Claude-SearchBot 或 Claude-User 的請求是否真的來自 Anthropic,然後放行。
為什麼 Claude 仍可能讀不到我的頁面?
即使 robots.txt 設定寬鬆,你的防火牆或 CDN 仍可能以 403 或驗證挑戰頁回應 Anthropic 的代理程式。Anthropic 表示其機器人會遵守反規避技術,不會嘗試繞過 CAPTCHA,所以驗證挑戰頁就等於結束這次造訪。文字要等 JavaScript 執行後才出現的頁面,送達時也可能幾乎是空的。
AISeeWhy 會以 ClaudeBot、Claude-SearchBot 與 Claude-User 的身分,與瀏覽器並排請求你的頁面,並檢查你的 robots.txt 對各者的規則,讓你看出自己寫的政策是否就是伺服器實際執行的政策。
常見問題
封鎖 ClaudeBot 會讓我的網站從 Claude 的答案中消失嗎?
不會單憑這一點。搜尋索引與使用者要求的擷取使用的是 Claude-SearchBot 與 Claude-User,它們有各自的 robots.txt 標記。
Claude-User 會遵守 robots.txt 嗎?
Anthropic 表示其機器人會遵守 robots.txt,並說明可在其中封鎖 Claude-User,效果是 Claude 無法為使用者的問題擷取你的頁面。
Anthropic 的爬蟲會破解 CAPTCHA 嗎?
不會。Anthropic 表示其機器人會遵守反規避技術,不會嘗試繞過 CAPTCHA。
可以放慢 ClaudeBot 的速度而不是封鎖它嗎?
可以。Anthropic 支援 Crawl-delay 作為非標準擴充,例如在 robots.txt 的 ClaudeBot 群組中寫 Crawl-delay: 1。
如何確認請求真的來自 Anthropic?
將來源 IP 與 Anthropic 在 claude.com/crawling/bots.json 公布的清單比對。光看 user agent,任何人都能複製。