在 AI 機器人 robots.txt 檢查中,一列看起來錯誤的結果,幾乎總是源自以下三個通訊協定細節之一:大小寫敏感的路徑比對、特定 user-agent 產品權杖群組與萬用字元群組之間的優先順序,以及長度相同時 Allow 規則勝過 Disallow 規則的規則。檢查工具本身完全在您的瀏覽器中執行,會根據貼上的 robots.txt 檔案,評估最多 32 個有記載的 AI 及 AI 相關產品權杖,並遵循 RFC 9309 所標準化的比對邏輯。它不會擷取您的網站、上傳您的檔案,或聯絡爬蟲操作者,因此當結果令您感到意外時,差異幾乎必定出現在貼上的文字、您輸入的路徑,或您對通訊協定的假設中——而不是工具本身。因此,要修正結果,意味著必須確切了解通訊協定如何判定、哪些規則適用於哪個權杖,以及線上正式環境的檔案可能與您貼上的內容有何不同。
本指南是為已執行過檢查、開啟過報告,並注意到有一列或兩列與預期不符的讀者所撰寫。以下每個章節都會縮小您預期結果與 AI 機器人 Robots.txt 檢查工具所回傳結果之間的落差,接著提供一個具體行動,帶領您從困惑走向一條已修正、可部署的規則。

為何 AI 機器人 Robots.txt 結果可能看起來錯誤
Robots.txt 雖然簡短,但其比對規則出奇地多層次,而大多數「錯誤」的結果都源自這些層次的相互衝突。AI 機器人 Robots.txt 檢查工具完全依照 RFC 9309 實作規則:註解會在解讀前被移除、user-agent 產品權杖的比對不區分大小寫、路徑從開頭起以大小寫敏感方式進行比較、星號可匹配任意字元序列,而結尾的美元符號則會將模式錨定至路徑末端。這些行為都無法設定,因為它們就是通訊協定本身。如果某列與您的預期相矛盾,幾乎可以確定就是其中一項條款所致。
第二個混淆來源,是 robots.txt 產品權杖與 HTTP User-Agent 標頭之間的差異。數家操作者發布了專屬的控制權杖,用於模型訓練或資料使用偏好設定——Google-Extended 與 Applebot-Extended 就是最明確的例子——而 32 列表格會標示每個操作者、目的類別與來源狀態,讓這些區別保持清楚可見。如果您封鎖了 GPTBot,但預期控制權杖 OAI-SearchBot 也會一併停止,報告其實顯示的是兩個獨立的產品,規則必須同時涵蓋兩者。Cloudflare 的 AI 爬蟲參考資料交叉列出了這些產品,若您在部署前需要確認某個權杖,可參考此處。
第三個來源是特定群組與萬用字元群組之間的關係。符合的產品權杖群組優先於萬用字元群組,而萬用字元群組僅在沒有特定群組符合時才會適用。在適用的群組內部,最長的相符路徑模式獲勝,且長度相同時 Allow 勝過 Disallow。正確解讀此優先順序,是最快通往正確結果的路徑。
檢查工具實際評估的內容
當您將 robots.txt 檔案貼入 AI 機器人 Robots.txt 檢查工具時,解析器會合併重複且不區分大小寫的產品權杖群組、將註解排除在決策邏輯之外,並將每一條 User-agent、Allow 與 Disallow 行儲存為候選規則。Sitemap 與 Crawl-delay 行對特定爬蟲可能具有意義,但它們屬於存取決策報告之外,因此無法解釋為何某列看起來錯誤。空白的 Disallow 值同樣不會封鎖任何內容,這是另一個經常困擾初次閱讀者的通訊協定規則。
報告本身是一張固定 32 項的表格,列出有記載的 AI 及 AI 相關 robots.txt 產品權杖。部分條目是第一方操作者的產品,其他則取自 Cloudflare 維護的 AI 爬蟲參考資料或 Cloudflare Radar 機器人目錄,並標示為補充性質,而不是第一方已驗證。之所以加上這層標示,是為了讓您一眼就能看出哪些列在部署前需要額外比對操作者自身的說明文件。
在編輯檔案前先診斷該列
在改動任何一行之前,先將令人意外的列對應回產生該結果的規則。下表將您在報告中看到的症狀,與最常見的通訊協定層級原因配對,幫助您快速找出應負責的行。
| 報告中的症狀 | 可能原因 | 應在檔案中檢查的位置 |
|---|---|---|
| 所有列皆回報為允許,但您預期至少有一項封鎖 | 空白 Disallow 值,或萬用字元群組中沒有任何規則 | 搜尋 Disallow: 後面沒有接任何字的情況,並確認 User-agent: * 區段至少有一條 Disallow 行 |
| 同一路徑下,特定列與萬用字元列結果不一致 | 特定的產品權杖群組優先符合 | 比較 User-agent: GPTBot (或類似) 區段與 User-agent: * 區段 |
| /Private 回報為封鎖,但 /private 並未封鎖 | 路徑比對為大小寫敏感 | 在檔案中同時檢查兩種拼法,並確認您實際提供哪一種 |
| $ 模式未在您預期的位置進行錨定 | 美元符號必須是該行最後一個字元,後面不可有空白或其他字元 | 重新檢查該規則的行尾 |
| 註解之後的規則似乎被忽略 | 註解會在解讀前被移除,因此其位置並不影響規則啟用 | 以解析器的方式閱讀檔案:以 # 開頭的行會被刪除 |
這是一張診斷對照表,而不是一組計算結果的清單——每一列都指回單一通訊協定規則,讓您判斷究竟需要編輯檔案,還是調整預期。
在 AI 機器人 Robots.txt 檢查工具中修正看起來錯誤的結果
- 重新開啟 AI 機器人 Robots.txt 檢查工具,貼上與正式環境完全一致的 robots.txt 文字。請將檔案大小維持在 UTF-8 編碼 500 KiB 以內,且非空白的存取規則不超過 5,000 條;檢查工具會同時強制執行這兩項限制,以及 20,000,000 次操作的彙總比對工作量上限。
- 輸入一個以斜線開頭、大小寫敏感的 URL 路徑。若您想模擬包含查詢字串的爬蟲請求,請在此時一併加入,因為路徑是從開頭開始進行比對的。
- 執行檢查並找出看起來錯誤的那一列。記下該列是屬於特定產品權杖,還是屬於萬用字元群組,以及結果為允許或封鎖。
- 依序檢視優先順序:哪一個群組適用、是否存在符合的特定產品權杖群組,以及在該群組內最長的相符路徑模式為何。請記住,長度相同時 Allow 勝過 Disallow。
- 編輯 robots.txt 以消除歧義。常見的修正方式包括在特定群組中新增規則、移除空白的 Disallow、修正行尾 $ 的拼字錯誤,或將萬用字元規則複製到符合的產品權杖群組內。
- 重新貼上修正後的檔案,並以相同路徑再次執行檢查。若您僅變更了空白或註解,結果應不會改變——註解會被移除,而空白不會改變通訊協定邏輯。
- 在部署前,以操作者最新的說明文件驗證關鍵的產品權杖。爬蟲產品會隨時間變動,報告中已將補充性質的條目標示出來,讓您知道哪些需要額外確認。
若您正在處理線上運作的網站,同一套通用工作流程也適用於許多常見錯誤。在檢查 AI 機器人 Robots.txt 時避免這些常見錯誤一文提供了更深入的逐步說明,將最常造成意外結果的模式集中於一處。
會影響答案的限制
檢查工具最多接受 500 KiB 的 UTF-8 輸入與 5,000 條非空白的存取規則,並強制執行彙總比對工作量上限,以避免極長路徑搭配大型規則集時凍結主執行緒。即使檔案在位元組限制內,仍可能因安全限制而被拒絕,因為兩項檢查會同時執行。若您的檔案遭拒,請先分割規則或縮短檔案後再重新執行——通訊協定本身仍然適用,但互動式的瀏覽器工具必須保持回應流暢。
非 User-agent、Allow 或 Disallow 指令的行,不會納入存取決策報告。Sitemap 行很常見,對您正在閱讀的列沒有影響;Crawl-delay 行則會被報告忽略,因為多數現代爬蟲本身就不理會它。無論哪一種類型,都不會導致某列看起來錯誤,因此若您想以移除 Sitemap 行來「修正」報告,報告內容並不會因此改變。
還有一項限制需牢記:檢查工具不會擷取您的線上網站。它無法偵測重新導向、CDN 覆寫、僅對特定用戶端提供的語法、不正確的主機範圍、快取延遲,或無法存取的檔案。這些問題仍會在部署後顯現為報告與爬蟲實際行為之間的落差,且無法僅靠編輯貼上的文字來解決。
於正式環境中驗證修正結果
一旦報告顯示您想要的結果,下一步就是確認線上檔案與您測試時使用的檔案一致。請以完全相同的通訊協定與主機名稱擷取線上的 /robots.txt,確認回應為純文字格式且成功返回,接著將該檔案重新擷取後,以相同路徑再次透過檢查工具執行。回應結果應與您編輯期間所見完全相同。
對於高風險的權杖,特別是用於訓練偏好的專屬控制權杖,請交叉比對操作者最新的說明文件。Cloudflare 的 managed robots.txt 參考資料,以及 OpenAI 與 Anthropic 的操作者頁面,是目前最可靠的交叉參考來源。發布後,也請透過操作者提供的測試工具與伺服器記錄進行驗證,因為「允許」或「封鎖」的結果僅描述規則所規定的內容,並不代表爬蟲最終的實際行為。完整的驗證流程已於 如何驗證 AI 機器人 Robots.txt 檢查的結果一文中逐步說明。
最後,請記住 robots.txt 屬於自願性質的請求。它並非身分驗證、授權機制、防火牆,也無法證明內容不會進入 AI 模型。封鎖結果僅代表規則請求一項封鎖;並不證明該封鎖已實際生效,或內容已自索引中移除。對於機密或付費內容,請以伺服器端的存取控制機制保護該資源,並另行監控實際流量。