llms.txt 與 robots.txt 是放在網站根目錄的兩種不同性質的文件:robots.txt 管控爬蟲的存取權限,llms.txt 則試圖為大型語言模型提供內容導覽索引。兩者解決的問題不在同一層,在 2026 年的 AI 搜尋環境中,它們的關係不是替代,而是分工,但這個分工有前提、有邊界,也有明確的衝突處理順序。本文拆解兩者的技術結構、AI crawler 管控機制、採用現況,以及不同網站類型應如何決定設定優先序。
llms.txt 和 robots.txt 最大差別是什麼?
robots.txt 決定 crawler 能不能進入某個路徑,llms.txt 則告訴 AI 哪些內容值得理解和引用;前者是存取控制,後者是內容指引,兩者在功能層次上根本不同。把這個差異拆成四個維度看更清楚:
| 維度 | robots.txt | llms.txt |
|---|---|---|
| 對象 | 所有 crawler(Googlebot、GPTBot、ClaudeBot 等) | 大型語言模型(LLM),目前無官方強制採用標準 |
| 核心功能 | 指定哪些路徑允許或禁止抓取 | 用 Markdown 列出網站希望 LLM 優先理解的頁面與說明 |
| 強制力 | 主流搜尋引擎與多數 AI crawler 遵守,有行業慣例支撐 | 無強制性;LLM 是否讀取取決於平台實作,目前多數未官方承諾 |
| 觸發時機 | 爬蟲抓取前自動讀取 | inference time(使用者提問當下),平台需主動抓取 |
| AI 引用關係 | 間接影響:封鎖後 LLM 無法在訓練或 retrieval 中讀到內容 | 直接嘗試影響:列出希望被 AI 理解或引用的頁面 |
從這個框架看,robots.txt 是存取層的守門機制,llms.txt 是內容層的導覽提案。多數中文文章把它們說成「守門員 vs 導遊」,這個比喻方向正確,但省略了一個關鍵:llms.txt 沒有強制力,「導遊」願不願意帶路,完全取決於 LLM 平台決策。
robots.txt 管的是爬取權限,llms.txt 管的是內容指引嗎?
這個說法大致正確,但 llms.txt 不具備強制封鎖能力,也不能覆蓋 robots.txt 的存取限制。理解這個邊界能避免兩個常見錯誤:把 llms.txt 當成 robots.txt 的加強版,或誤以為 llms.txt 可以繞過 robots.txt 的封鎖。
robots.txt 的設計基於機器人排除協議(Robots Exclusion Protocol),這套慣例已有超過 30 年的行業採用歷史,Googlebot 到 GPTBot 都在遵守(詳見後段)。它的指令是機器可解析的規則:允許、禁止、爬取延遲。
llms.txt 的設計基於 Jeremy Howard 在 2024 年 9 月提出的社群提案,格式是 Markdown 索引,目的是讓 LLM 在回應使用者問題時,能快速找到網站的核心內容。它的「指引」本質上是建議,不是命令。
兩者能同時存在:robots.txt 設定存取邊界,llms.txt 在邊界內提供內容索引。但如果 robots.txt 封鎖了某個路徑,llms.txt 在那個路徑的任何推薦都沒有意義:合規 crawler 根本進不去,進去了也違反協議。
語法結構怎麼不同:規則語言 vs Markdown 索引
robots.txt 是機器規則檔,以行為單位宣告 User-agent 與路徑指令;llms.txt 是給 AI 摘要與連結脈絡的 Markdown 索引,用標題、說明與連結呈現網站結構。兩者的語法沒有交集。
| 特性 | robots.txt | llms.txt |
|---|---|---|
| 格式 | 純文字,行導向規則語言 | Markdown(.txt 副檔名) |
| 核心指令 | User-agent、Disallow、Allow、Sitemap、Crawl-delay | H1 標題、blockquote 摘要、H2 區塊、連結列表 |
| 對象說明方式 | User-agent: Googlebot(指定 bot 名稱) | 內容說明直接面向人與 AI,無 bot 名稱語法 |
| URL 處理 | Disallow: /private/ 代表封鎖路徑 | - [頁面名稱](URL):說明 代表推薦讀取 |
| 機器可解析 | 是,格式固定 | 是,但解析實作由各 LLM 平台自訂 |
| 必填結構 | 至少一組 User-agent + Disallow | 至少一個 H1(網站/專案名稱) |
一個典型的 robots.txt 封鎖範例:
User-agent: *
Disallow: /admin/
Disallow: /private/
User-agent: GPTBot
Disallow: /members/
Sitemap: https://example.com/sitemap.xml
一個典型的 llms.txt 片段:
# Example Site
> 提供 AI 搜尋趨勢分析與技術指引。
## 核心報告
- [AI 搜尋現況](https://example.com/reports/ai-search): 2026 年各平台採用數據整理
- [GEO 優化指南](https://example.com/reports/geo): 生成式引擎優化基礎
## Optional
- [歸檔報告](https://example.com/archive): 2024 年以前內容
語法結構的根本差異在於意圖:robots.txt 宣告權限,llms.txt 說明價值。讀取者也不同:robots.txt 被爬蟲程式解析,llms.txt 期待被具備語言理解能力的系統讀取。
robots.txt 已能管理哪些 AI 爬蟲?
許多 AI crawler 仍透過 robots.txt 的 User-agent 規則接受允許或封鎖指令,這意味著在 llms.txt 出現之前,robots.txt 已是管控 LLM 訓練資料抓取的主要工具,而且是唯一有強制慣例支撐的工具。
| AI Crawler | User-agent 名稱 | robots.txt 遵守聲明 | 用途 |
|---|---|---|---|
| OpenAI GPTBot | GPTBot | 是,官方文件明確說明遵守 robots.txt | ChatGPT 訓練資料抓取 |
| OpenAI ChatGPT-User | ChatGPT-User | 是 | ChatGPT Browse 功能即時抓取 |
| Anthropic ClaudeBot | ClaudeBot | 是,Anthropic 官方聲明尊重 robots.txt | Claude 訓練資料抓取 |
| Perplexity | PerplexityBot | 官方文件說明遵守,但有過爭議事件 | Perplexity 即時搜尋抓取 |
| Google-Extended | Google-Extended | 是,用於控制是否允許 Google 用於 Bard/Gemini 訓練 | Google AI 訓練資料控制 |
| Googlebot | Googlebot | 是 | 傳統搜尋引擎索引 |
這個清單說明一件事:robots.txt 已經是 AI 訓練抓取管控的有效工具。對於不希望內容被用於 LLM 訓練的網站,在 robots.txt 中加入 `User-agent: GPTBot` + `Disallow: /` 是目前最直接且有行業慣例支撐的做法。llms.txt 無法提供這個層次的控制。
截至 2026 年,哪些 LLM 平台真的會讀 llms.txt?
llms.txt 的存在不等於所有 LLM 都會讀取;採用狀態必須逐平台分別驗證,而截至 2026 年 5 月的整體驗證結果並不樂觀。
| 平台 | 官方支援 llms.txt | 觀察到的行為 | 狀態 |
|---|---|---|---|
| ChatGPT / OpenAI | 無官方聲明 | 無公開確認 | 未確認 |
| Claude / Anthropic | 無官方聲明(Anthropic 自己的文件網站有放 llms.txt) | 無公開確認 Claude 會優先讀取 | 未確認 |
| Perplexity | 無官方聲明 | 部分外部測試顯示會讀取,但無官方說明 | 觀察中,未官方承諾 |
| Gemini / Google | 無官方聲明 | 無公開確認 | 未確認 |
| Cursor / Coding Agents | 部分 IDE Agent 工具在 context 中有讀取 llms.txt 的功能 | 開發工具場景有使用案例 | 有限支援(特定工具情境) |
這個狀態在 2026 年 5 月沒有明顯改善。擁有 llms.txt 不等於提升 AI 引用率,因為引用決策是模型的推理行為,不是抓到 llms.txt 就自動發生。把 llms.txt 定位為「投資未來、降低抓取成本」比「確保 AI 引用」更接近現實。
如果 robots.txt 封鎖、llms.txt 又推薦同一路徑,誰優先?
合規 crawler 應先遵守 robots.txt;llms.txt 不應被解讀成越過封鎖存取的授權,這個原則沒有例外。
一個具體情境:假設 robots.txt 包含 `Disallow: /docs/`,但 llms.txt 列出 `- [完整技術指南](https://example.com/docs/guide): AI 可讀的技術說明`。這時:
- 遵守 robots.txt 的 AI crawler(如 GPTBot、ClaudeBot)不會抓取
/docs/路徑,無論 llms.txt 怎麼說。 - 如果某個 LLM 讀了 llms.txt 但沒有對應的即時抓取機制,那個連結仍然無用。
- 只有平台在推理時有「即時讀取 llms.txt 中列出的 URL」機制,且 robots.txt 不封鎖那些路徑,llms.txt 推薦才能發揮作用。
結論:llms.txt 和 robots.txt 的設定不應衝突。設計時應先確認 robots.txt 沒有誤封希望 AI 讀到的路徑,再把那些路徑列入 llms.txt。衝突發生時,修正順序是先調整 robots.txt,再更新 llms.txt 索引。
sitemap.xml、robots.txt、llms.txt 應該怎麼分工?
sitemap.xml 幫助發現 URL,robots.txt 管控爬取,llms.txt 補足 AI 內容導覽,三個檔案處理不同層次的問題,不能互相取代。
| 檔案 | 主要對象 | 解決的問題 | 機制 | 強制力 |
|---|---|---|---|---|
| sitemap.xml | 搜尋引擎 | 告知所有可索引 URL 的位置 | XML 結構,定期提交或爬取 | 無強制,但主流搜尋引擎採用 |
| robots.txt | 所有 crawler | 控制哪些路徑允許或禁止抓取 | Robots Exclusion Protocol | 行業慣例,主流 crawler 遵守 |
| llms.txt | 大型語言模型 | 提供 AI 可讀的內容優先序索引 | Markdown 索引,平台自訂讀取邏輯 | 無,提案層級標準 |
sitemap.xml 不控制爬取權限,只是告訴搜尋引擎「這些 URL 存在」。robots.txt 不幫助 AI 理解內容,只設定存取邊界。llms.txt 不替代 sitemap.xml 的 URL 發現功能,也不具備 robots.txt 的存取控制能力。三者並存是目前最完整的根目錄協議配置。
關於 llms.txt 的後續設計與內容結構,SmartLink 在 llms.txt 設計與內容優先序 一文中有詳細說明。
哪種網站應該優先設定哪個檔案?
文件站與內容密集型網站可優先補 llms.txt;有封鎖或存取控制需求的網站應先審 robots.txt,設定優先序取決於網站的主要風險是「AI 看不到內容」還是「AI 讀到不該讀的內容」。
| 網站類型 | 主要需求 | 建議優先設定 | 理由 |
|---|---|---|---|
| API 文件站、開發者文件 | 讓 AI 快速找到技術說明 | llms.txt 優先 | 這是 llms.txt 設計的核心場景,文件型內容對 LLM 最有價值 |
| 媒體、分析、內容型網站 | 提升 AI 引用與被發現的機會 | 兩者並設,llms.txt 補充 | robots.txt 已基本設好,llms.txt 可做內容優先序指引 |
| 電商網站 | 管控哪些頁面可被搜尋索引 | robots.txt 先審 | 結帳流程、用戶資料、購物車頁應先確認封鎖正確 |
| 會員制內容平台 | 保護付費內容不被 AI 抓取 | robots.txt 先審,嚴格設定 | llms.txt 對付費內容幫助有限,且錯誤的 robots.txt 設定風險更高 |
| SaaS 產品網站 | 管控 AI 讀到的產品資訊 | robots.txt 先審,確認後補 llms.txt | pricing、changelog、support 路徑的抓取策略要先定清楚 |
大多數已有基本 SEO 設定的網站,robots.txt 已存在(即使只有空白的 `User-agent: * Disallow:`)。真正的問題不是「要不要設」,而是「現有設定有沒有誤封」;誤封 AI crawler 且希望被 AI 引用的網站,robots.txt 的優先順序絕對高於 llms.txt。
這兩個檔案會直接影響排名或 AI 引用嗎?
兩者本身都不是排名保證;它們影響的是 crawler access、內容可理解性與被引用的機會,而不是排名或引用的直接開關。
| 宣稱 | 是否有根據 | 說明 |
|---|---|---|
| robots.txt 封鎖會讓 Google 降排 | 否(部分情況是) | 封鎖後 Googlebot 無法抓取,無法索引的頁面不會排名,但這是可見度問題,不是懲罰 |
| llms.txt 可以提升 AI 引用率 | 尚無驗證 | 目前沒有主流平台官方確認 llms.txt 直接影響引用決策 |
| 正確設定 robots.txt 保護 SEO | 是 | 避免誤封重要頁面,保持 Googlebot 可抓取目標頁面,是基本 SEO hygiene |
| llms.txt 讓 AI 更容易理解網站 | 理論上是,實作上不確定 | 如果平台確實讀取 llms.txt,索引型內容確實能降低 AI 的抓取成本 |
對於 Google 排名訊號,robots.txt 的影響是間接的:封鎖造成不可索引,不可索引造成不排名。llms.txt 對 Google 搜尋排名沒有已知的直接關係,Google 目前沒有官方聲明會讀取 llms.txt。
分開的說,對 AI 引用:確保 robots.txt 沒有封鎖 AI crawler(或精確封鎖不希望被訓練的內容),是當下更有把握的做法。llms.txt 是對未來平台支援的投資,不是現在可以量測的引用開關。
上線前應如何檢查 robots.txt 與 llms.txt?
上線前應先確認 robots.txt 沒有誤封目標路徑,再確認 llms.txt 只列可公開、可引用且可長期維護的內容,兩個步驟的順序不可逆。
以下是兩個檔案上線前的 10 點技術審核清單:
| # | 檢查項目 | 適用檔案 | 常見錯誤 |
|---|---|---|---|
| 1 | robots.txt 沒有誤封首頁或重要登陸頁 | robots.txt | Disallow: / 設定範圍過廣 |
| 2 | AI crawler User-agent 設定符合封鎖意圖(要封就明確封,要放就不要有遺留的 Disallow) | robots.txt | 用 * 封鎖全部,卻希望 AI 讀到內容 |
| 3 | robots.txt 中的 Sitemap 指向正確的 sitemap.xml URL | robots.txt + sitemap.xml | Sitemap URL 已遷移但 robots.txt 未更新 |
| 4 | llms.txt 中列出的所有 URL 在 robots.txt 中是可抓取的 | llms.txt + robots.txt | Disallow: /docs/ 但 llms.txt 列 /docs/ 下的連結 |
| 5 | llms.txt 列出的頁面是公開可存取的(無 login wall、無 404) | llms.txt | 列出需登入才能看到的頁面 |
| 6 | llms.txt 的 H1 標題是網站或專案名稱,不是行銷文案 | llms.txt | H1 寫成「最強AI搜尋指南」 |
| 7 | llms.txt 中的 Optional 區塊標記正確,不含核心頁面 | llms.txt | 把最重要的頁面放進 Optional 區塊 |
| 8 | 兩個檔案已部署在網站根目錄(/robots.txt、/llms.txt),可從瀏覽器直接存取 | 兩者 | 路徑錯誤或未部署 |
| 9 | robots.txt 使用 Google Search Console 的測試工具驗證無語法錯誤 | robots.txt | 路徑大小寫不一致、空白行語法問題 |
| 10 | llms.txt 連結保持更新(過時的 URL 會損害可信度) | llms.txt | 網站改版後 llms.txt 連結指向 404 頁面 |
SmartLink 對這兩個檔案的基本判斷是:robots.txt 審計是 SEO 常規作業,不做有損失;llms.txt 是對 AI 搜尋生態的主動投資,做了可能有收益但目前無法確認。在資源有限的情況下,先把 robots.txt 審對,比花時間優化 llms.txt 更有確定性的回報。關於 llms.txt 的詳細設計,請參考 llms.txt 是什麼。
schema sameAs 和 @id 的設定同時也是 entity SEO 的核心技術手段,兩者互相強化。本站的 Entity SEO 與知識圖譜的 entity 宣告邏輯 說明了如何透過 schema 讓 AI 爬蟲正確識別品牌 entity,是本文的延伸閱讀。