指南 · robots.txt

AI 爬蟲的 robots.txt 怎麼寫?

更新於 2026-11-04 · kagentx

簡答

每個 AI 產品有訓練、搜尋、使用者觸發三種爬蟲,robots.txt 要依名稱分別寫。想出現在 AI 回答裡,就放行搜尋類(OAI-SearchBot、Claude-SearchBot、PerplexityBot)和使用者觸發類(ChatGPT-User、Claude-User);只想不被拿去訓練,擋 GPTBot、ClaudeBot、Google-Extended 就夠。下面一張表說清 16 個爬蟲,再給三份可複製的範本。

每個 AI 爬蟲分別是做什麼的?

同一家公司通常有三種爬蟲:收集網頁訓練模型的、給 AI 搜尋建索引的、使用者提問時現場打開網頁的。三種擋了的後果完全不同,所以 robots.txt 要依爬蟲名稱分別寫。下表依 kagentx 的 AI 爬蟲檢查 所查的 16 個爬蟲排列,說法來自各家官方文件,2026-11-04 逐一查看。

爬蟲哪家用途遵守 robots.txt 嗎(官方怎麼說)擋了會怎樣
OAI-SearchBotOpenAI搜尋索引OpenAI 的文件建議在 robots.txt 裡放行它OpenAI 說,擋了的網站不會出現在 ChatGPT 搜尋的回答裡
ChatGPT-UserOpenAI使用者觸發OpenAI 寫明:這是使用者發起的造訪,robots.txt 規則可能不適用OpenAI 說它不決定內容會不會出現在搜尋裡,那是 OAI-SearchBot 的事
GPTBotOpenAI訓練OpenAI 說用 robots.txt 裡的 GPTBot 標記來控制表示內容不應用於訓練 OpenAI 的基礎模型
ClaudeBotAnthropic訓練Anthropic 說它的爬蟲遵守 robots.txt表示網站以後的內容不進 Anthropic 的模型訓練集
Claude-SearchBotAnthropic搜尋索引同上Anthropic 說,不會為搜尋收錄你的內容,可能降低你在 Claude 搜尋結果裡的可見度
Claude-UserAnthropic使用者觸發同上Anthropic 說,使用者提問時取不到你的內容,可能降低可見度
PerplexityBotPerplexity搜尋索引Perplexity 建議放行它官方沒單獨寫後果;它的用途是讓網站出現在 Perplexity 的搜尋結果裡,Perplexity 說它不用於訓練基礎模型
Perplexity-UserPerplexity使用者觸發Perplexity 寫明:因為是使用者請求的,一般忽略 robots.txtrobots.txt 擋不住,要擋只能在防火牆裡處理
Google-ExtendedGoogle訓練Google 說它只是 robots.txt 裡的標記,沒有單獨的 User-AgentGoogle 說不影響 Google 搜尋收錄,也不是排名訊號;管的是 Gemini 模型的訓練
GooglebotGoogle傳統搜尋引擎Google 說一般爬蟲自動抓取時總是遵守 robots.txt不會被 Google 搜尋收錄,AI 概覽也依賴它
BingbotMicrosoft傳統搜尋引擎未核實(這次沒取到官方頁面正文)不會被 Bing 收錄(依用途推斷);Copilot 用 Bing 的結果
Applebot-ExtendedApple訓練Apple 說它不抓取頁面,只決定 Applebot 抓到的內容能不能用於訓練Apple 說擋了仍可出現在搜尋結果裡,只是不用於訓練 Apple Intelligence 這類模型
Meta-ExternalAgentMeta訓練官方頁面沒明說,只告訴網站管理者加 Disallow 規則來擋照官方給的做法,加規則後它不再抓取
CCBotCommon Crawl公開抓取資料集Common Crawl 說在 robots.txt 裡寫 Disallow 就能擋不再被 Common Crawl 抓取
AmazonbotAmazon改進產品,可能用於訓練Amazon 說它遵守 robots.txt,改動約 24 小時生效不再被抓取;Amazon 另有 Amzn-SearchBot(不用於訓練)和 Amzn-User(使用者觸發,可能不遵守全部規則)
DuckAssistBotDuckDuckGo使用者觸發DuckDuckGo 說可用 robots.txt 擋,約 72 小時生效DuckDuckGo 說不影響自然搜尋排名,資料不用於訓練

讀表只記一件事:訓練類爬蟲擋了,影響的是你的內容會不會被拿去訓練;搜尋類和使用者觸發類擋了,影響的是 AI 回答裡會不會有你。想拿 AI 推薦,就別擋後兩類。

怎麼擋掉 GPTBot,但仍讓 ChatGPT 搜尋引用我?

OpenAI 把訓練和搜尋分給兩個爬蟲:GPTBot 管訓練,OAI-SearchBot 管 ChatGPT 搜尋。所以可以只擋 GPTBot,同時明確放行另外兩個:

User-agent: GPTBot
Disallow: /

User-agent: OAI-SearchBot
Allow: /

User-agent: ChatGPT-User
Allow: /

OpenAI 的文件說搜尋結果最多約 24 小時才跟上 robots.txt 的改動。Anthropic 也是分開的:ClaudeBot 管訓練,Claude-SearchBot 和 Claude-User 管搜尋,要分別寫。

三份可以直接複製的 robots.txt

把 your-site.com 換成你的網域,放在網站根目錄的 /robots.txt。三份只在「擋什麼」上不同。爬蟲名稱和用途會變,使用前先用 AI 爬蟲檢查 看目前的清單。

  1. A. 全放行:想讓所有 AI 都能讀到你

    這是最適合想被 AI 推薦的網站的寫法。不寫任何規則也等於放行,這樣寫是為了讓意圖清楚,也方便以後加規則。

    # Allow every crawler, including AI search and AI assistants
    User-agent: *
    Allow: /
    
    Sitemap: https://your-site.com/sitemap.xml
  2. B. 只擋訓練:不想被拿去訓練,但要出現在 AI 回答裡

    把訓練類爬蟲放在一組裡擋掉,搜尋類和使用者觸發類不動。Amazonbot 的官方說明寫了可能用於訓練 Amazon 的 AI 模型,要擋的話把它加進這一組。

    # Block crawlers that collect pages to train models
    User-agent: GPTBot
    User-agent: ClaudeBot
    User-agent: Google-Extended
    User-agent: Applebot-Extended
    User-agent: Meta-ExternalAgent
    User-agent: CCBot
    Disallow: /
    
    # Everyone else, including AI search crawlers, stays allowed
    User-agent: *
    Allow: /
    
    Sitemap: https://your-site.com/sitemap.xml
  3. C. 全擋:不想讓任何 AI 產品使用你的內容

    AI 搜尋和 AI 助手也一併擋掉,代價是 AI 回答裡不會出現你。Perplexity-User、ChatGPT-User 因為是使用者發起的,官方說可能不遵守 robots.txt,要徹底擋只能在防火牆或 CDN 裡依它們公布的 IP 處理。Googlebot 和 Bingbot 沒放進來:擋了它們,傳統搜尋裡也看不到你。

    # Block AI training, AI search and AI assistants
    User-agent: GPTBot
    User-agent: OAI-SearchBot
    User-agent: ChatGPT-User
    User-agent: ClaudeBot
    User-agent: Claude-SearchBot
    User-agent: Claude-User
    User-agent: PerplexityBot
    User-agent: Perplexity-User
    User-agent: Google-Extended
    User-agent: Applebot-Extended
    User-agent: Meta-ExternalAgent
    User-agent: CCBot
    User-agent: Amazonbot
    User-agent: DuckAssistBot
    Disallow: /
    
    # Classic search engines stay allowed
    User-agent: *
    Allow: /

寫 robots.txt 有一個容易踩的坑:爬蟲只聽名字對得上的那一組,不再看 * 那一組。例如下面這樣寫,OAI-SearchBot 只會看到自己的 Allow,/admin/ 對它不再生效,要在它那一組裡再寫一遍:

User-agent: *
Disallow: /admin/

User-agent: OAI-SearchBot
Allow: /

Cloudflare 的 AI 爬蟲攔截會把我擋在外面嗎?

會,而且和 robots.txt 裡怎麼寫無關。Cloudflare 的設定在請求層攔截,不是改你的 robots.txt:

  • Cloudflare 在 2025-07-01 的公告裡說,新加入的網域會被問要不要放行 AI 爬蟲;公告也提到,2024-09 推出的一鍵攔截 AI 爬蟲開關,有超過一百萬客戶開了。
  • 現行文件依行為分三類設定:搜尋、代理、訓練。每類的動作有:攔截、只在有廣告的頁面攔截、放行,訓練類還有「僅禁止訓練」。文件寫新網域三類預設都是放行,之後可以改。
  • 搜尋類單獨成一類,攔截會作用於整個網站符合條件的請求。所以把「搜尋」設成攔截,OAI-SearchBot 這類搜尋爬蟲就進不來,robots.txt 裡寫了放行也沒用。

自己網站上的設定在 Cloudflare 後台:Security → Settings,篩選 Bot traffic,找 AI Crawler and Agent access policies(文件裡的名稱)。用 AI 爬蟲檢查 查一次:robots.txt 顯示放行、但實際抓取被拒,多半就是 CDN 或防火牆的原因。

改完怎麼確認生效?

  1. 1. 先看檔案本身

    用瀏覽器打開 your-site.com/robots.txt,確認是你剛寫的內容、回傳 200,不是舊的快取頁或 404。

  2. 2. 用工具逐個爬蟲檢查

    用 AI 爬蟲檢查 輸入網址,它依爬蟲名稱分別告訴你放行還是擋住,以及是哪一行規則起作用。

  3. 3. 再看防火牆和 CDN

    換成爬蟲的 User-Agent 請求首頁,狀態碼應該是 200:

    curl -s -o /dev/null -w "%{http_code}" -A "OAI-SearchBot/1.3" https://your-site.com/

    這只換了 User-Agent,不能模擬爬蟲真實的 IP。有的 CDN 依 IP 認爬蟲,結果可能和真爬蟲不一樣。

  4. 4. 等官方說的時間

    OpenAI、Perplexity、Amazon 說約 24 小時,DuckDuckGo 說約 72 小時。之後再用同一批買家問題到 AI 裡問幾次,看有沒有變化。具體怎麼問,見 為什麼 ChatGPT 不推薦我的產品 和 怎麼讓 Perplexity 引用你的網站。

robots.txt 只管「能不能抓」,不管「抓到什麼」。頁面正文要等 JavaScript 才出現的話,放行了也讀不到,見 AI 爬蟲會執行 JavaScript 嗎。想給 AI 一份網站簡介,見 llms.txt 是什麼。

常見問題

robots.txt 能擋住所有 AI 爬蟲嗎?

不能。robots.txt 是請求,不是強制。Perplexity 寫明 Perplexity-User 一般忽略它,OpenAI 說 ChatGPT-User 的造訪 robots.txt 規則可能不適用,Meta 說 Meta-ExternalFetcher 可能繞過。要徹底擋只能在防火牆或 CDN 裡處理。

擋了 Google-Extended 會掉出 Google 搜尋嗎?

不會。Google 的文件寫明 Google-Extended 不影響網站在 Google 搜尋裡的收錄,也不是排名訊號,它只管 Gemini 模型的訓練。

擋了 GPTBot,ChatGPT 就不會推薦我嗎?

不會。GPTBot 只管訓練,ChatGPT 搜尋用的是 OAI-SearchBot。OpenAI 說,擋了 OAI-SearchBot 的網站才不會出現在 ChatGPT 搜尋的回答裡。

改完 robots.txt 多久生效?

OpenAI、Perplexity、Amazon 的文件說約 24 小時,DuckDuckGo 說約 72 小時。Anthropic、Google、Apple 的文件沒有給具體時間。

我該全放行,還是只擋訓練?

這是取捨,要你自己決定。放行搜尋類和使用者觸發類,AI 回答才可能引用你;擋訓練類只影響內容是否被拿去訓練模型。想拿 AI 推薦,至少不要擋搜尋類。

出處

kagentx

AI 爬蟲進得來,
回答裡有你嗎?

評測檢查爬蟲能不能進,再把買家的問題拿去問 ChatGPT、Perplexity、Claude(開聯網搜尋),記下推薦了誰、引用了哪些網頁、你在不在裡面。基礎版 $1,一般 2–3 分鐘出結果。