在將 robots.txt 與 AI 及 AI 相關爬蟲產品權杖進行比對時,最常見的錯誤可分為四類:貼上錯誤的檔案、選擇無法反映真實爬蟲請求的路徑、將 32 列的報告視為合約而非機率,以及略過營運商層級的交叉驗證。由於 AI Bot Robots.txt Checker 完全在瀏覽器中評估貼上的文字,該文字中的任何錯誤 — 多餘的 tab、不在正確主機的範例、默默合併群組的重複 User-agent 標頭 — 都會直接傳遞到報告中。路徑錯誤則更為隱晦:缺少前置斜線、不小心將 /Private 大寫、或加入爬蟲根本不會送出的查詢字串,都可能讓某一列從允許變成封鎖,卻不會在介面上顯示任何警告。讀報告的錯誤來自假設 32 列等同於 HTTP User-Agent 字串,但其中有幾列是專屬的控制權杖,例如 Google-Extended 或 Applebot-Extended。最後階段的錯誤發生在團隊發布檔案後,未從確切的來源即時擷取 /robots.txt,然後當 CDN 提供不同內容時,反而責怪檢查工具。將任何允許/封鎖標籤視為強制執行而非自願請求,是最深層的錯誤,因為 robots.txt 並非存取控制。本文的其餘部分將逐一說明每一類錯誤、讓這些錯誤得以發生的協定邏輯,以及避免它們的具體步驟。

為何瀏覽器內的檢查工具會有其專屬的錯誤輪廓
AI Bot Robots.txt Checker 設計上刻意保持精簡。它接收一段 robots.txt 字串、一個 URL 路徑,並在固定 32 個產品權杖的表格上執行 RFC 9309 比對,全部都在瀏覽器中完成。這個設計選擇產生了一個特定的錯誤輪廓。由於工具從不擷取網站,它無法告訴你邊緣實際部署的是哪個檔案、CDN 正在重寫什麼、或重新導向是否已剝離路徑。由於協定邏輯是確定性的,報告中某個儲存格唯一能翻轉的方式,就是貼上的文字或輸入的路徑發生改變。
每次執行受到三項硬性限制:UTF-8 輸入最多 500 KiB、非空存取規則最多 5,000 條,以及彙總比對工作量上限為 20,000,000 次操作,用以防止惡意的長路徑搭配大型規則集凍結主執行緒。即使檔案在位元組限制之內,仍可能因規則數或工作量上限而被直接拒絕,因此一次成功的執行本身就是檔案在這三項限制內的證據。
由於產品權杖表格是固定的,單獨出現的「缺少營運商」永遠不會發生。如果在表格最後更新後出現新的爬蟲,該列根本不會存在,此時由萬用字元群組 * 決定該權杖的行為。認識這些設計選擇,是避免將檢查報告誤認為部署稽核的第一道防線。
貼上的 robots.txt 文字中的錯誤
大多數報告差異都源自檢查工具頂端的輸入框。貼上的文字就是全部輸入,因此與實際檔案的任何偏差都會直接成為結果中的偏差。五項輸入錯誤佔了大部分令人困惑的報告。
| 輸入錯誤 | 報告顯示內容 | 發生原因 |
|---|---|---|
| 貼上範例檔案而非正式環境檔案 | 結果列與部署行為看起來「錯誤」 | 檢查工具只看見你貼上的內容 |
| 重複的 User-agent 權杖,例如兩個 GPTBot 區塊 | 兩個群組默默合併為一個 | RFC 9309 會以不區分大小寫的方式合併產品權杖 |
| 行首混用空格與 tab | ||
| 檔案超過 500 KiB | 檢查被直接拒絕 | 符合協定的硬性位元組上限 |
| 非空存取規則超過 5,000 條 | 檢查被直接拒絕 | 已記載的 5,000 條非空存取規則上限 |
另外還有兩個特性值得注意,即使檔案看起來很乾淨。註解會在規則解譯前被移除,因此任何單獨成行的說明文字永遠不會影響結果。Sitemap 與 Crawl-delay 指令同樣會被存取決策邏輯忽略,即使個別爬蟲會遵守這些指令。請將這些行視為參考資訊,直到你交叉查閱營運商文件後再進行下一步。
輸入 URL 路徑時的錯誤
路徑欄位小到讓人容易略過,但它藏有四個陷阱。比對區分大小寫、從第一個字元開始,且只在明確寫出時才使用字面萬用字元。缺少前置斜線會在某些用戶端造成立即的剖析階段拒絕,在其他用戶端則造成靜默的不一致,因此請務必以 / 開頭。
區分大小寫很容易被遺忘。/Private 與 /private 是不同的請求;如果你的正式檔案使用小寫,而你測試的是大寫形式的路徑,報告會顯示為封鎖,但真正的爬蟲看到的卻是允許。相同的陷阱也適用於查詢字串:只有在爬蟲實際上會送出該查詢字串時,才加入 ?id=123,否則像 /private$ 這種以美元符號結尾的模式,會因為附加文字而直接不相符。
兩個特殊字元的行為符合大多數人的預期,但只有在寫法完全正確時才成立。星號 (*) 可匹配任何字元序列,包括空字串。置於模式結尾的美元符號會在最長比對之後,將模式錨定至路徑結尾。即使讀者檢視原始檔案時可能以為會封鎖,根據 RFC 9309,空的 Disallow: 值並不會封鎖任何內容。如果沒有適用的 Allow 或 Disallow 規則相符,則存取結果會回報為允許;光是這個細節,就引發了無數「為什麼 GPTBot 在這裡是被允許的」的疑問。
正確解讀 32 個權杖的報告
輸出表格是所有人截圖的部分。截圖接著在聊天串中流傳,而產生它們的假設也跟著消失。幾個讀報告的錯誤會在多個專案中重複出現,而 are all 32 robots.txt tokens literal User-Agent headers? 從另一個角度確認了相同的協定界線。
| 解讀錯誤 | 協定的實際規範 |
|---|---|
| 32 列就是字面的 HTTP User-Agent 標頭值 | 部分為專屬控制權杖,如 Google-Extended 與 Applebot-Extended;補充的目錄來源條目已標示清楚 |
| 顯示允許的列代表營運商會進行爬取 | robots.txt 屬自願性質;相符僅代表規則並未要求封鎖 |
| 顯示封鎖的列代表該頁面已從訓練或索引中排除 | 營運商可以忽略該檔案;強制執行屬於另一層控制 |
| Sitemap 與 Crawl-delay 指令會主導結果 | 它們不在存取決策報告的範圍內 |
| 群組優先順序依權杖字母排列 | 相符的產品權杖群組一律優先於萬用字元群組 |
| Disallow 永遠優先於 Allow | 僅在 Allow 與 Disallow 比對長度相同時才成立;較長的模式優先,平手時才由 Allow 取勝 |
有兩種行為值得特別說明,因為它們幾乎出現在每次稽核中。在適用的群組內,Allow 與 Disallow 模式會從路徑開頭開始進行比對,最具體的相符模式勝出。當多個群組指向同一個產品權杖時,規則會被合併;相符的產品權杖群組優先於萬用字元群組,只有當沒有特定群組相符時,才會套用萬用字元群組。
請將表格中的標籤 — 營運商、用途類別、來源狀態 — 視為結果的一部分而非裝飾,並讓這些標籤決定在發布前你需要針對哪些列,依據營運商的第一手文件進行再次核對。
如何逐步執行 AI Bot Robots.txt Checker
了解錯誤輪廓後,實際執行流程很短。
- 從完全相同的 scheme 與主機匯出正式環境的 robots.txt,以位元組為單位完整複製(請勿標準化換行字元或修剪空白行)。
- 開啟 AI Bot Robots.txt Checker,將文字貼入輸入區域。
- 確認輸入低於 500 KiB,且檔案中的非空存取規則少於 5,000 條。
- 輸入要測試的 URL 路徑,必須以斜線開頭,大小寫與爬蟲實際使用的形式一致。
- 執行檢查,並等待全部 32 列都顯示允許或封鎖標籤。
- 先檢視萬用字元列(* 群組)以確認基準行為,接著檢視產品權杖列。
- 標記關鍵的產品權杖 — 付費內容路徑、模型訓練路徑、助理檢索 — 並依據營運商最新文件對每項進行交叉驗證。
- 以一至兩個替代路徑重新執行,以確認規則在類似 URL 上的行為符合預期。
- 發布檔案後,從確切的來源透過完全相同的 scheme 擷取 /robots.txt,確認回應為純文字,且內容與你測試的相同。
若某個權杖的狀態令你意外,在找出產生該結果的特定規則之前,請勿編輯檔案,包括最長比對的結果。隨機的編輯很少能解決 RFC 9309 的意外狀況;有針對性的規則才行。
將報告提升為發布政策時的錯誤
此檢查工具屬於部署前的審查工具,而非合約。當團隊拿著一份乾淨的報告,並假設已保護好內容時,會出現幾種錯誤。robots.txt 屬於自願性的請求。爬蟲營運商可以忽略它,過去也確實有營運商這麼做。將「已封鎖」視為「內容已無法被模型取得」,會導致錯誤的結論。在所有 AI 爬蟲稽核中,將存取決策與強制執行行動混淆,是最昂貴的錯誤。對於機密或付費內容,可強制執行的層級在伺服器端:驗證、IP 允許清單、簽署式 URL,或付費牆。檢查報告對這些控制機制沒有意見,也無法驗證它們。
還有一個與隱私相關的細節。在 robots.txt 中列出某個路徑,正是在告訴全世界你在該路徑上有內容。該協定會向任何擷取該檔案的人(包含你正試圖管理的營運商)暴露你網站的結構。請將此檔案視為公開文件而非私人收件匣,然後再依據你所產生的報告做出判斷。
檢查工具無法為您執行的驗證步驟
由於檢查工具不會擷取 URL,因此無法偵測幾類部署錯誤。在您信任這份報告之前,請手動執行這些檢查。有關 如何驗證 AI 機器人 robots.txt 檢查結果 的專屬逐步說明,會更詳細地涵蓋相同的範圍。
首先,使用完全相同的通訊協定和主機擷取 /robots.txt,確認回應為純文字格式,並確認狀態碼為 200。重新導向、由 CDN 提供的 404,或 HTML 錯誤頁面,都會改變真正的爬蟲所看到的內容。其次,將擷取到的內容與您貼到檢查工具中的文字進行比對;若有任何差異,請貼上新的文字並重新執行。第三,當業者提供驗證工具時(例如 OpenAI 的發布商指南和 Anthropic 的爬蟲控制工具),請在報告中標示為已封鎖的路徑上使用它,並確認其行為符合該通訊協定的自願性預期。
最後,請在伺服器記錄中關注您實際在意的主要產品權杖。檢查工具無法預測流量,而要知道真正的爬蟲做了什麼,唯一的方法就是比對存取記錄與報告產生的對照表。Cloudflare 維護的 AI 爬蟲參考資料 和 Cloudflare Radar 機器人目錄,是說明每個權杖代表什麼意義、以及由哪個業者發布的可靠交叉參考來源。爬蟲產品會隨時間變動,因此在您發布任何關鍵政策之前,請務必根據業者的最新文件進行驗證。