AI 機器人 robots.txt 檢查工具 中的 32 個條目,是 robots.txt 的產品權杖(product token),而非爬蟲在每次擷取時所發送的實際 HTTP User-Agent 標頭值。產品權杖是 robots.txt 中 User-agent: 行上所顯示、不分大小寫的名稱;它用於識別解析器應套用至該命名爬蟲的一組規則。相比之下,HTTP User-Agent 標頭則是用戶端選擇宣告的任何字串,許多爬蟲與助理所發送的版本會包含版本號碼、聯絡網址或平台識別資訊,而這些並非用於比對的權杖部分。將這兩個概念視為相同會導致規則設定錯誤,並讓團隊感到意外,因為表格中的每一列可能代表擷取爬蟲,也可能代表專屬的退出控制權杖,比對時是針對權杖本身,而非標頭字串。正因如此,兩個不同的爬蟲產品可能共用幾乎相同的標頭字串,但其 robots.txt 權杖在行為上會被視為不同的群組;而單一營運商可以發布一個用於擷取的權杖,以及另一個用於退出訓練的權杖,檢查工具會針對同一份貼入的檔案評估這兩者。

部分營運商會另外發布一個專門用於訓練控制目的的產品,其名稱類似 Google-Extended 與 Applebot-Extended,這些會與擷取爬蟲並列出現在同一個主機上。其他營運商則會公開單一的擷取產品權杖,由同一個用戶端進行識別,也有少數會同時發布兩者。AI 機器人 robots.txt 檢查工具會以一份貼入的 robots.txt 對完整的集合進行評估,因此無論是擷取路徑或訓練控制路徑,「允許」或「封鎖」的結果都能一次涵蓋。當您開啟檢查工具時,每一列都會標示清楚,讓您能判斷該權杖對應的是擷取爬蟲、助理、模型訓練控制,或 AI 相關的搜尋爬蟲,並了解該列資料是來自營運商的主要文件、維護中的交叉參考,或補充型目錄。

are all 32 entries literal http user agent header values when using robots txt ai crawlers
are all 32 entries literal http user agent header values when using robots txt ai crawlers

產品權杖與 HTTP User-Agent 標頭的差異

robots.txt 檔案並不知道 HTTP User-Agent 標頭會長成什麼樣子。它只知道如何將出現在 "User-agent:" 之後的值,與連線進來的爬蟲之產品權杖進行比對。RFC 9309 中定義的協定刻意將 User-agent 值視為不分大小寫的產品權杖,如此一來,無論 "GPTBot" 採用何種大小寫,都會解析為同一個群組。爬蟲實際送出的標頭則由該爬蟲自行決定;有些只送出原始的權杖,有些會附加斜線與版本號,有些則會完全輪換識別資訊。由於這段落差,您無法僅透過在 DevTools 中輸入爬蟲所宣告的實際字串來可靠地封鎖它。

實際影響有二。首先,當您想封鎖擷取爬蟲時,請指定產品權杖(例如 GPTBotClaudeBot),而不是營運商在其公開的標頭範例中所顯示的字串。其次,當營運商另外發布訓練控制權杖(例如 Google-ExtendedApplebot-Extended)時,封鎖擷取爬蟲並不會一併封鎖其訓練用途;唯有封鎖該控制權杖才能達成。兩者在同一個檔案中屬於獨立的退出機制,而檢查工具會同時顯示兩者,以免遺漏。

32 列各自代表的意義

這 32 列的編排方式讓您一眼就能讀出三項資訊:哪個營運商發布了該權杖、它服務於哪個用途類別,以及該條目的來源為何。用途類別涵蓋 AI 爬蟲、AI 助理、模型訓練控制,以及 AI 相關的搜尋爬蟲。來源狀態則涵蓋營運商的主要文件(OpenAI 與 Anthropic 產品如有提供便會採用)、維護中的交叉參考(例如 Cloudflare 的 AI 機器人與爬蟲流量參考),以及來自 Cloudflare Radar Bots Directory 的補充型目錄條目,後者會被標示說明,而非視為第一方驗證資料。

用途類別權杖角色典型命名模式
AI 爬蟲用於將頁面擷取進模型或功能管線的擷取產品營運商名稱,通常帶有 "Bot" 後綴
AI 助理與對話式或產品內助理綁定的擷取產品營運商範圍內的助理識別名稱
模型訓練控制與擷取爬蟲分開的專屬退出權杖營運商範圍內的名稱,通常帶有 "Extended" 後綴
AI 相關搜尋搜尋引擎爬蟲或 AI 搜尋產品傳統搜尋機器人名稱或品牌的 AI 搜尋產品

這些標籤正是核心問題的安全防線。被標示為模型訓練控制的列,根據設計而言,並不是爬蟲會放在 HTTP 標頭中的字串;它是發布者用來退出訓練的規則群組。被標示為搜尋爬蟲的列,則是搜尋引擎的擷取器在 robots.txt 中以產品名稱形式呈現的權杖。兩列皆採用相同的 RFC 9309 比對邏輯進行評估,但「允許」或「封鎖」對每一列所代表的意義會因其類別而有所不同,這也是為何需要顯示該欄位。

對您的 robots.txt 檔案執行檢查工具

此檢查工具接受三項輸入,並為表格中的每個權杖回傳一個判斷結果。

  1. 將您要檢閱的 robots.txt 原始文字貼入輸入區,並維持在 500 KiB 的限制以內。請使用正式環境的規則,而非經過淨化的草稿,因為群組合併與規則合併會在解析過程中進行,唯有實際的檔案才能浮現您真正在意的落差。
  2. 輸入一條以斜線開頭、區分大小寫的 URL 路徑,然後執行檢查。當該路徑屬於您要模擬的爬蟲請求的一部分時,可包含查詢字串;而與路徑的比對是區分大小寫的,因此 /Private 與 /private 可能產生不同的結果。
  3. 檢視報告中每一條相符的規則。請優先關注控制訓練用途的權杖,以及您想管理的營運商擷取產品,再將結果與營運商最新的文件進行比對,然後再部署。

您可以針對數條重要路徑重複執行檢查。請將每次結果視為部署前的一個檢核步驟,而非保證;同一份貼入的檔案與同一條路徑將永遠產生相同的輸出,這使得報告易於重現、分享,以及與營運商文件進行差異比對。

32 列背後的 RFC 9309 比對邏輯

在底層,檢查工具會將最多 512,000 位元組的 UTF-8 內容解析為 RFC 9309 的 user-agent 群組,合併重複且不分大小寫的產品權杖群組,並僅在沒有特定群組符合時才退回到萬用字元群組。在適用的群組內,Allow 與 Disallow 樣式會從路徑的開頭開始進行比對,最具體的相符樣式勝出。當同樣具體的 Allow 與 Disallow 規則皆相符時,由 Allow 勝出。星號可符合任何字元序列,樣式結尾的美元符號則會將樣式錨定至路徑末端。註解會在規則解讀之前先行移除,因此註解行永遠不會改變結果。

這些規則對 32 個權杖中的每一個皆完全相同地適用,這也是為何單一貼入的檔案能在一次處理中,同時針對擷取爬蟲、助理產品、訓練控制權杖與搜尋爬蟲進行評估。空白的 Disallow 值不會封鎖任何內容。若沒有適用的 Allow 或 Disallow 規則相符,則會回報為允許存取,這代表結果偏向保守:「允許」一列僅代表沒有規則封鎖該路徑,並不代表營運商一定會擷取它。

限制、安全上限,以及本工具無法做到的事

本檢查工具最多接受 500 KiB 的 UTF-8 輸入,以及 5,000 條非空白的存取規則。RFC 9309 已要求解析器至少需能處理 500 KiB,而本工具另外加上一層總計 20,000,000 次操作的比對工作上限,以防止惡意的超長路徑搭配大量規則集凍結主執行緒。因此,即使檔案在位元組限制之內,仍可能因安全上限而在比對開始前就被拒絕;此時報告會直接說明,而不會無限期執行。非 User-agent、Allow 或 Disallow 指令的行不會影響結果,因此 Sitemap 與 Crawl-delay 等行得以保留在檔案中,供讀取它們的爬蟲使用,但不會納入存取決策表。

本檢查工具不會擷取您的網站、不會上傳檔案,也不會聯絡任何爬蟲營運商。所有處理皆在瀏覽器內完成。這使得報告具備確定性且可重現,但也代表本工具無法偵測重新導向、CDN 覆寫、僅對特定用戶端提供的語法、不正確的主機範圍、快取延遲,或是無法連線的檔案。它同樣無法確認目前部署的內容。發布後,您仍須從完全相同的 scheme 與主機擷取實際的 /robots.txt,確認回應為純文字且成功回傳,並在營運商工具或伺服器記錄中驗證實際行為。

對關鍵權杖核對營運商文件

爬蟲產品會隨時間變化,檢查工具建立時準確的某一列,在您發布時可能已過時。營運商會淘汰權杖、重新命名產品,並新增新的權杖。請將表格視為一個快照,並在您推上線前,針對任何您所依賴的政策與營運商最新文件進行核對。OpenAI 與 Anthropic 產品如有提供,主要文件會被採用;Cloudflare 維護的 AI 爬蟲參考與其管理的 robots.txt 文件(包括 Cloudflare AI 機器人與爬蟲流量參考)提供了主要產品的最新交叉參考;而來自 Cloudflare Radar Bots Directory 的補充型條目則會被標示說明,而非以營運商第一方驗證資料的形式呈現。

對於高風險路徑,請將檢查工具與實際驗證結合使用。先執行報告、部署檔案,再從完全相同的 scheme 與主機擷取實際的 /robots.txt,並確認位元組與您貼入的內容一致。在接下來的數天內,於伺服器記錄中檢查 32 個產品權杖中的任何一個,並確認被允許的權杖確實有在擷取,被封鎖的權杖確實未再靠近。robots.txt 是自願性的,它既不是身分驗證、授權、防火牆,也不能證明內容不會進入模型;請使用伺服器端的存取控制來保護機密或付費內容,並另外監控實際流量。

如需深入了解,請參閱 在無需爬取的情況下從網站產生 llms.txt

如需深入了解,請參閱 如何製作 Meta Robot 標籤(SEO 中的「金屬機器人」)