如何封鎖 AI 訓練,同時保留在 AI 搜尋答案中的曝光
多數 AI 業者為模型訓練與搜尋分別使用不同的 robots.txt token。禁止訓練 token,例如 GPTBot、ClaudeBot、Google-Extended、Applebot-Extended、meta-externalagent 和 CCBot,同時允許搜尋與使用者 token,例如 OAI-SearchBot、Claude-SearchBot 和 PerplexityBot。再加上一行 Content-Signal,用文字表達同樣的意願。
許多網站擁有者同時想要兩件事:不希望自己的內容被用來訓練 AI 模型,卻希望 AI 助理能找到、引用並連結自己的頁面。由於主要業者現在把這兩項工作分給不同的爬蟲或 token,robots.txt 可以同時表達這兩種選擇。麻煩在於,各業者的名稱不同,少數業者不符合這個模式,而且一行寫錯,就可能讓你從 AI 答案中消失,而不是從訓練資料中消失。
本頁內容
訓練爬蟲與搜尋爬蟲有什麼差別?
訓練爬蟲蒐集可能用於建構或改進 AI 模型的頁面。光是訓練本身不會產生引用或連結。搜尋爬蟲則建立索引,AI 助理用它來為答案尋找來源,而這些來源正是它可以引用的對象。由使用者觸發的擷取器,會因為有人詢問某個頁面而即時開啟它。
各業者分別記載了這些角色,並表示這些設定彼此獨立。例如,OpenAI 表示其爬蟲的每項 robots.txt 設定都獨立於其他設定。因此,只要做得正確,退出訓練不會影響你的搜尋能見度。
哪些 token 控制訓練,哪些控制搜尋?
以下是各業者公布的 token,依其控制的內容分組:
- OpenAI:
GPTBot爬取可能用於訓練其基礎模型的內容。OAI-SearchBot用於 ChatGPT 搜尋,ChatGPT-User處理使用者的操作;OpenAI 表示 robots.txt 可能不適用於它。 - Anthropic:
ClaudeBot蒐集可能用於訓練的內容。Claude-SearchBot改進 Claude 的搜尋結果,Claude-User為使用者擷取頁面。Anthropic 表示其機器人會遵守 robots.txt。 - Google:
Google-Extended是沒有自己爬蟲的 robots.txt token。它控制內容是否用於訓練未來的 Gemini 模型,以及用於 Gemini Apps 和 Vertex AI 的 grounding。Google 表示它不影響在 Google 搜尋中的收錄或排名,後者由Googlebot控制。 - Apple:
Applebot-Extended不爬取內容;它控制Applebot已爬取的內容是否用於訓練 Apple 的基礎模型。Apple 表示,禁止它的頁面仍可能出現在其搜尋結果中。 - Meta:
meta-externalagent的爬取用途包括訓練基礎模型,而meta-webindexer用於改進 Meta AI 的搜尋結果。 - Common Crawl:
CCBot建立 Common Crawl 的公開網路封存。Cloudflare 的託管 robots.txt 將它列入其所禁止的 AI 訓練爬蟲之中。 - Perplexity:
PerplexityBot與Perplexity-User服務於搜尋與使用者請求。Perplexity 表示兩者都不用於蒐集訓練資料,所以沒有可封鎖的 Perplexity 訓練 token。
robots.txt 長什麼樣子?
依據 RFC 9309,連續的多行 User-agent 構成一個群組,所以規則適用於其中的每一個。下面這個檔案對上述訓練 token 選擇退出,允許搜尋與使用者代理程式,並對所有人保持一個私人路徑關閉:
User-agent: GPTBot
User-agent: ClaudeBot
User-agent: Google-Extended
User-agent: Applebot-Extended
User-agent: meta-externalagent
User-agent: CCBot
Disallow: /
User-agent: OAI-SearchBot
User-agent: ChatGPT-User
User-agent: Claude-SearchBot
User-agent: Claude-User
User-agent: PerplexityBot
User-agent: Perplexity-User
User-agent: meta-webindexer
Allow: /
Disallow: /account/
User-agent: *
Content-Signal: search=yes, ai-input=yes, ai-train=no
Allow: /
Disallow: /account/
Sitemap: https://example.com/sitemap.xml
有兩點要注意。第一,點名的群組不會繼承 *,所以任何私人路徑都必須在搜尋群組中重複寫出。第二,不要把 Googlebot 或 Applebot 加進訓練群組:它們是搜尋爬蟲,封鎖它們會讓你從 Google 搜尋與 Apple 的搜尋功能中消失。變更不會立即生效:OpenAI 表示搜尋約需 24 小時,Perplexity 表示最多 24 小時。
已經有多少網站這樣做?
比你想像的少。我們在 2026-11-12 讀取了 Tranco 清單中最受歡迎的 1,000 個網域的 robots.txt。在提供 robots.txt 的 518 個網站中,有 155 個(29.9%)至少對一個 AI 訓練爬蟲禁止了首頁。只有 57 個(11.0%)採取選擇性的做法:封鎖訓練爬蟲,並允許我們測試的每一個 AI 搜尋與使用者爬蟲。總計有 101 個網站(19.5%)封鎖了至少一個 AI 搜尋或使用者爬蟲。
逐一爬蟲的數字呈現出相同的分化。GPTBot 在 111 個網站(21.4%)被封鎖,OAI-SearchBot 在 58 個(11.2%)。ClaudeBot 在 110 個(21.2%),Claude-SearchBot 在 67 個(12.9%)。Google-Extended 在 94 個(18.1%),Googlebot 在 14 個(2.7%)。只有 18 個網站(3.5%)使用了 Content-Signal。
這項研究只檢視針對首頁的 robots.txt 規則。它沒有衡量防火牆層級的封鎖,也無法顯示每個網站的意圖。
Content-Signal 多了什麼?
Content Signals 是 Cloudflare 在 contentsignals.org 發布的 robots.txt 擴充。一行 Content-Signal 說明內容可以如何使用,包含三種訊號:search(建立搜尋索引並顯示連結與簡短摘錄)、ai-input(即時將內容輸入 AI 模型,例如用於生成式答案的 grounding 或檢索)與 ai-train(訓練或微調模型)。
請注意,search 的定義不包括 AI 產生的搜尋摘要。如果你希望出現在 AI 答案中,也要像上面的範例那樣設定 ai-input=yes。Cloudflare 的託管 robots.txt 預設加入 search=yes, ai-train=no;你省略的訊號既不授予也不限制相應的用途。
這些只是聲明的意願。Content Signals 網站表示它們無法在技術層面阻止爬取,Cloudflare 也指出遵守 robots.txt 是自願的。我們查看的 OpenAI、Anthropic、Google 與 Perplexity 爬蟲頁面,都沒有說明它們是否會讀取 Content-Signal,所以應把它視為對各爬蟲群組的補充,而不是取代。
這種劃分在哪些地方並不完全成立?
有幾種情況需要小心:
- Google AI Overviews 與 AI Mode 依賴
Googlebot建立的搜尋索引,所以Google-Extended不會讓你退出它們。Google 的 Search Console 說明補充指出,Google-Extended限制的是搜尋生成式 AI 功能背後模型的訓練,而其爬蟲文件並未提到這個範圍。Google 現在在 Search Console 中提供了一項獨立的設定,可將網站排除在 AI Overviews 與 AI Mode 之外。 - OpenAI 表示,如果網站同時允許
GPTBot與OAI-SearchBot,它可能把一次爬取的結果用於兩種目的。禁止GPTBot才是表明內容不應用於訓練的訊號。 - 退出只對未來生效。例如,Anthropic 將禁止
ClaudeBot描述為把你網站未來的內容排除在訓練資料集之外。 - 由使用者觸發的擷取器處於中間地帶。OpenAI 與 Perplexity 表示,robots.txt 可能不適用於
ChatGPT-User,通常也不適用於Perplexity-User。 - 防火牆不會讀取 robots.txt。寬鬆的機器人封鎖規則可能會擋住你已允許的搜尋爬蟲。如果你在防火牆層級執行訓練封鎖,請依名稱比對訓練代理程式,並透過其公布的 IP 範圍加以驗證。
如何檢查這種劃分是否生效?
像每個爬蟲那樣讀取你的 robots.txt:找出點名它的群組,只有在沒有任何群組點名它時才退回 *,並套用最長的符合規則。接著用每個搜尋爬蟲的 user agent 請求一個頁面,確認它拿到的是內容完整的 200,而不是 403 或驗證挑戰頁。
AISeeWhy 會對 14 個爬蟲同時做這兩項檢查,並依訓練、搜尋與使用者代理程式分組,還會標出最常見的錯誤:本想封鎖訓練,卻封鎖了 PerplexityBot 或 Claude-SearchBot 之類的搜尋 token。
常見問題
封鎖 GPTBot 會讓我的網站從 ChatGPT 答案中消失嗎?
不會。OpenAI 表示 GPTBot 用於訓練,而且每項 robots.txt 設定彼此獨立。ChatGPT 搜尋使用 OAI-SearchBot;只要它被允許,且沒有被你的防火牆封鎖,你的頁面就仍然有資格出現。
封鎖 Google-Extended 會讓我退出 AI Overviews 嗎?
依據 Google 的文件,不會。Google 表示 Google-Extended 不影響在 Google 搜尋中的收錄,而 AI Overviews 依賴搜尋索引。Google 在 Search Console 中提供了獨立的控制,可將網站排除在 AI Overviews 與 AI Mode 之外。
有沒有一行指令可以封鎖所有 AI 訓練?
沒有標準的一行寫法。Content-Signal: ai-train=no 對所有爬蟲表明了意願,但爬蟲是否遵守取決於營運者。為每個訓練 token 分別設定群組,是文件中記載的做法。
我應該封鎖 Perplexity 來阻止 AI 訓練嗎?
Perplexity 表示其代理程式不用於蒐集訓練資料。封鎖 PerplexityBot 會降低你在 Perplexity 搜尋結果中的能見度,卻起不到退出訓練的作用。
資料來源
- OpenAI:OpenAI 爬蟲總覽
- Anthropic:Anthropic 會從網路爬取資料嗎?網站經營者如何封鎖爬蟲?
- Google:常見爬蟲(包含 Google-Extended)
- Google Search Console 說明:搜尋生成式 AI 控制
- Apple:關於 Applebot
- Meta:Meta 網路爬蟲
- Common Crawl:CCBot
- Perplexity:Perplexity 爬蟲
- RFC 9309:Robots Exclusion Protocol
- Content Signals(contentsignals.org)
- Cloudflare:託管 robots.txt 與 Content Signals
- AISeeWhy:AI 爬蟲存取報告,2026-11