llms.txt 如何設計?格式規範、AI 爬蟲指令架構與 GEO 可見度影響
llms.txt 是一份放在網站根目錄的 Markdown 格式文件,專為讓大型語言模型在 inference time 取得網站內容索引而設計。它的格式規範由 llmstxt.org 維護,核心結構是:H1(網站名稱)+ 選填 blockquote(摘要)+ 選填 H2 連結清單。本文不重複「要不要建立 llms.txt」的採用決策(已在 llms.txt 採用現況與產業數據 分析),而是專注回答一個問題:如果決定建立,應該如何設計這份文件,讓 AI 爬蟲能夠正確讀取並傳達你想傳達的內容指令。
llms.txt 設計前必須釐清的三個常見誤判
在進入格式細節前,有三個對 llms.txt 的誤解會直接影響設計決策,帶著這些前提設計出來的文件,即使格式正確也傳達了錯誤的信號。
誤判一:llms.txt 是 AI 時代的 robots.txt 替代品。 兩者解決完全不同的問題。robots.txt 的功能是在爬蟲抓取前告知哪些路徑允許存取,是爬蟲行為的前端控制機制;llms.txt 的功能是在 LLM inference time 提供網站內容索引的精華版,解決的是 context window 容納不下整個網站的問題。設計 llms.txt 時,不應把它當成「禁區牌」,而是「給 AI 的導覽地圖」。
誤判二:llms.txt 能控制哪些內容被 AI 引用。 目前沒有任何主流 AI 平台官方聲明會根據 llms.txt 的內容決定引用來源。它是一份聲明文件,不是強制執行機制。設計 llms.txt 的目標是降低 LLM 理解你的網站所需的計算成本,不是設定引用白名單。
誤判三:llms.txt 只有一種文件。 原始規格實際上定義了四種相關文件:llms.txt(索引型)、llms-full.txt(完整內容型)、llms-ctx.txt(處理後型)、llms-ctx-full.txt(完整處理後型)。設計決策需要判斷你的網站適合哪種組合,不是一律建立 llms.txt 就結束。
llms.txt 完整格式規範:H1、blockquote、H2 連結清單
llms.txt 的格式規範是 Markdown 子集,只有一個必填元素(H1),其餘均為選填但有固定的排列順序,違反順序不會報錯但會讓 LLM 解析行為不穩定。
必填:H1 標題。第一行必須是 H1,且只能放網站或專案的名稱。
# SmartLink 搜尋智匯
H1 不能放 slogan、宣傳語或任何額外說明。LLM 讀取 H1 的目的是識別這份文件屬於哪個實體(entity),放入其他內容會干擾實體識別。
選填:blockquote 摘要。緊接 H1 之後,放一到三句話的網站摘要,包在 blockquote 標記內(Markdown 用 > 符號)。
> 搜尋趨勢追蹤與 SEO 產業洞察。專注 AI 搜尋生態、Google 演算法更新、GEO 生成式引擎優化的深度分析。
blockquote 是 AI 建立你的網站「心智模型」的核心素材。一個讀完 H1 和 blockquote 的 LLM,應該已經知道這個網站是什麼、為誰服務、能提供什麼類型的資訊。超過三句話的 blockquote 沒有額外效益,只是佔用 context window。
選填:純文字段落。blockquote 之後可以放一到兩段純文字,補充更多背景(例如目標讀者、資料更新頻率、語言)。
選填:H2 連結區塊。用 H2 切分不同類型的頁面,每個 H2 下用 Markdown 列表放連結。
## 核心報告
- [GEO 生成式引擎優化](https://smart-link.com.tw/reports/generative-engine-optimization): AI 搜尋時代的引用邏輯與實戰框架
- [llms.txt 採用現況與數據](https://smart-link.com.tw/reports/llms-txt): 採用率、平台支援與三類網站決策
## 演算法追蹤
- [Google 演算法更新歷史](https://smart-link.com.tw/reports/google-algorithm-update-history): 2022 至 2026 重大更新時間軸
## Optional
- [搜尋引擎市場競爭格局](https://smart-link.com.tw/reports/search-engine-market): 市場份額與 AI 衝擊分析
「Optional」是規格給予的特殊語意:標記在 Optional H2 下的連結,AI 在 context window 資源不足時可以跳過。設計上,所有「有幫助但不是核心」的頁面都應放進 Optional,而不是全部放在主要 H2 下。
伺服器設定:文件必須放在根目錄 /llms.txt,以 text/plain 或 text/markdown MIME type 提供服務,UTF-8 編碼。WordPress 可透過 Yoast SEO 或 Rank Math 的 2025 年更新版自動生成;靜態站台可直接建立文件放入 public/ 目錄。
llms.txt、llms-full.txt、llms-ctx.txt 的角色分工
三種文件的核心差異在於資訊密度:從「索引」到「完整內容」到「處理後版本」,AI 取得資訊的計算成本與所得內容的完整度成反比。
| 文件 | 內容 | 大小 | 適用場景 | AI 訪問頻率 |
|---|---|---|---|---|
| llms.txt | 索引型:只列頁面連結與一句描述 | 小(通常 < 50KB) | 讓 AI 導航後再抓取個別頁面 | 基準 |
| llms-full.txt | 完整型:所有重點頁面的完整 Markdown 內容合併 | 大(數百 KB 至數 MB) | 一次性給 AI 所有內容,減少多次抓取 | 約 2 倍於 llms.txt(Mintlify 數據) |
| llms-ctx.txt | 處理後型:去除 Optional URL,整合進 XML 結構 | 依內容而定 | Cursor、GitHub Copilot 等開發工具環境 | 開發工具主用 |
| llms-ctx-full.txt | 完整處理後型:包含所有 URL 完整內容的 XML 整合 | 最大 | 需要完整上下文的 AI agent 任務 | 最少(計算成本高) |
Anthropic 的 Claude 文件站、Zapier 和 Cloudflare 同時維護 llms.txt 和 llms-full.txt,讓不同計算資源的 AI 系統各取所需。媒體型網站(頁面量大、更新頻繁)通常只維護 llms.txt 索引型;技術文件站(LangChain、FastHTML)傾向同時提供 llms-full.txt 或 llms-ctx.txt,因為開發工具類 AI 需要完整上下文才能有效輔助程式設計任務。
AI 爬蟲如何讀取 llms.txt?已知行為分析
AI 爬蟲讀取 llms.txt 的行為沒有統一標準,各平台的實作差異顯著。截至 2026 年 Q2,各主要 AI 爬蟲的已知行為如下:
| AI 爬蟲 | User-agent | 是否讀取 llms.txt | 是否遵守 robots.txt | 備註 |
|---|---|---|---|---|
| OpenAI ChatGPT | GPTBot | 未官方確認 | 是 | 無公開聲明支援 llms.txt |
| Anthropic Claude | ClaudeBot | 未官方確認 | 是 | Anthropic 文件站自行建立了 llms.txt |
| Perplexity | PerplexityBot | 未官方確認 | 是 | 已知在 inference time 會動態抓取網頁 |
| Google-Extended | 未官方確認 | 是 | 主要用於 Gemini 訓練資料控制 | |
| Common Crawl | CCBot | 不適用 | 通常遵守 | 用於 LLM 訓練資料集建立,非 inference time |
從這張表可以看出一個核心事實:llms.txt 是為 inference time 設計的,但目前沒有任何主流 LLM 平台官方宣告在回答使用者問題時會優先讀取 llms.txt 作為路徑索引。目前最有可能讀取 llms.txt 的場景是 AI coding 工具(如 Cursor)在幫助開發者查詢特定框架文件時,以及訓練資料蒐集時的索引輔助。
SmartLink 監測的搜尋生態數據顯示,llms.txt 採用率在 2025 年達到約 10%(跨所有流量層級),但沒有數據顯示採用 llms.txt 與 AI 搜尋引用率之間有直接因果關係。更多分析請參考 GEO 效果測量與 AI 可見度指標 的追蹤方法論。
llms.txt 與 robots.txt 的協同設計邏輯
llms.txt 和 robots.txt 解決不同問題,但正確的協同設計能讓 AI 爬蟲收到一致的指令,避免兩份文件傳達矛盾訊息。兩者的核心功能差異與衝突優先順序,詳見 llms.txt vs robots.txt 完整比較分析。
設計原則:robots.txt 控制的是爬蟲是否能抓取某個路徑;llms.txt 控制的是 LLM 應該優先關注哪些頁面。如果某個路徑在 robots.txt 中 Disallow 了 GPTBot,它就不應該出現在 llms.txt 的任何連結清單中,否則 LLM 拿到了索引但抓不到內容,會產生抓取錯誤或降低信任度。
推薦的協同設計步驟:
- 先確認 robots.txt 的 AI 爬蟲設定。列出所有你允許或禁止的 AI 爬蟲 User-agent。
- llms.txt 只列出 robots.txt 允許的路徑。任何已 Disallow 的路徑不應出現在 llms.txt 連結中。
- 高價值頁面放主要 H2,低優先頁面放 Optional。這個層次對應到你希望 AI 優先理解的內容範疇。
- 定期同步更新。新增頁面、下架頁面、robots.txt 規則更動時,llms.txt 應同步更新。
robots.txt 中允許 AI 爬蟲但不想出現在 llms.txt 的頁面,可以直接不放入連結清單(不列入 = 不引導,但 AI 仍可能自行抓取)。
# robots.txt 範例(協同設計)
User-agent: GPTBot
Disallow: /admin/
Disallow: /member/
Allow: /reports/
User-agent: ClaudeBot
Disallow: /admin/
Allow: /
# llms.txt 對應(只列 /reports/ 下的公開內容)
## 核心報告
- [GEO 生成式引擎優化](https://smart-link.com.tw/reports/generative-engine-optimization): ...
llms.txt 存取授權的真實邊界
llms.txt 能做的事比大多數介紹文章說的少,很多網站建立 llms.txt 時期待能控制 AI 引用來源或阻止特定內容被引用,但這兩件事都超出 llms.txt 的實際能力範疇。
| 能做的事 | 無法做到的事 |
|---|---|
| 聲明網站主要內容範圍 | 強制 AI 平台遵守存取範圍聲明 |
| 引導 LLM 優先讀取特定頁面 | 阻止 AI 爬蟲抓取未列入的頁面 |
| 標記低優先內容為 Optional | 讓 AI 引用時署名來源為 llms.txt 聲明的實體 |
| 降低 LLM 理解網站的計算成本 | 控制哪些內容被 AI 生成摘要引用 |
| 在文件中聲明授權條件與歸因要求 | 在法律層面強制 AI 平台遵守授權聲明 |
關於「授權聲明」,llms.txt 規格允許在 blockquote 或純文字段落中加入授權說明,例如「內容可在引用來源的前提下被 AI 系統使用」。但這份聲明沒有任何 AI 平台承諾遵守,也沒有任何法律強制力。它的實際效益,目前只停留在「向 AI 系統傳達意圖」的層次。
這個邊界對設計決策的影響是:llms.txt 設計得越清晰,對 LLM 的「引導效果」越好,但不能預期有具體的引用控制效果。更多關於 AI 引用機制的分析,參見 fraggles 語意密度設計原則 的內容設計討論。
不同網站類型的 llms.txt 設計決策
四類網站類型的設計邏輯差異顯著,核心差異在於網站內容是否以「可被機器完整解析的知識」為主要價值,以及 LLM 是否會在 inference time 主動查詢這類型的內容。用下表快速對應你的網站屬於哪種情境:
| 網站類型 | 主要用途 | 建議文件組合 | llms.txt 重點設計 |
|---|---|---|---|
| 文件站(如 Anthropic、LangChain) | 開發者查詢 API、功能說明 | llms.txt + llms-full.txt | H2 按功能模組分區,連結密度高;llms-full.txt 合併所有 API 說明 |
| 媒體/分析站(如 SmartLink) | 提供趨勢分析、研究報告 | llms.txt(選配 llms-full.txt) | H2 按內容主題 cluster 分區,Optional 放時效性較低的長尾文章 |
| 工具型 SaaS | 行銷頁面 + 功能文件混合 | llms.txt + llms-full.txt(文件部分) | 主要 H2 只放文件/幫助中心;行銷頁面放 Optional 或不放入 |
| 電商 | 商品頁、分類頁 | llms.txt(選擇性建立) | 只放高商業意圖的品牌頁、比較頁;商品列表通常不適合放入 |
電商網站建立 llms.txt 的效益最不確定。如果網站的核心價值是商品資訊,而不是專業知識內容,llms.txt 對 GEO 引用率的影響微乎其微。反之,技術文件型網站(框架、API、開源工具)從 llms.txt 獲得的效益最清楚:讓 AI coding 工具能在一次請求中取得完整文件上下文。
常見設計錯誤與校正方法
五個在實際 llms.txt 文件中反覆出現的設計錯誤,每一個都會降低 LLM 解析這份文件的效率,或傳達與設計意圖相反的信號。
| 錯誤類型 | 錯誤示例 | 正確做法 |
|---|---|---|
| H1 放了非網站名稱的內容 | # 歡迎來到 SmartLink - 最全面的 SEO 洞察 |
# SmartLink 搜尋智匯(只放名稱) |
| blockquote 超過三句,成為行銷文案 | 六句話的品牌故事 | 一到兩句精準的服務範疇說明 |
| 所有頁面都不放 Optional 標記 | 50 個連結全部在主要 H2 | 核心頁面放主要 H2,長尾/時效性低的頁面放 Optional |
| MIME type 設為 text/html | 伺服器以 HTML 格式提供 llms.txt | 確認伺服器回傳 Content-Type: text/plain; charset=utf-8 |
| llms-full.txt 長期不更新 | llms-full.txt 的內容比網站實際頁面落後三個月 | 建立自動化機制,在 CMS 發布新文章時同步更新 llms-full.txt |
llms.txt 設計對 GEO 可見度的實際影響
基於 llms.txt 原始提案 的設計動機與目前的採用數據,SmartLink 的評估立場是:llms.txt 是一個有限效益的 GEO 輔助信號,不是提升 AI 引用率的核心手段。
現有研究顯示,llms.txt 採用率約 10%,且採用率與 AI 搜尋引用率之間沒有統計意義上的直接相關。這不意味著 llms.txt 沒有價值,而是它的價值類型不同於通常的預期:它降低的是 LLM 理解你的網站所需的認知成本,而不是直接影響引用決策。
從 GEO 生成式引擎優化的框架看,真正影響 AI 引用率的因素依序是:內容是否具備直接可抽取的答案結構(fraggles 設計)、是否有充足的實體屬性覆蓋(EAV 完整性)、是否有可信的來源信號(E-E-A-T 延伸)。llms.txt 在這個框架中扮演「引導索引」的角色,必要性隨網站類型而異,對技術文件站的效益高於媒體型網站。
設計一份正確的 llms.txt 的邊際成本很低(技術難度不高、維護時間有限),這是它值得建立的最主要理由,而不是對引用率的直接預期效益。
設計流程整合:自動化維護與更新機制
一次性建立 llms.txt 相對簡單,但長期維護才是真正的成本,不更新的 llms.txt 會讓 LLM 讀到過時的網站架構,引導失誤的比沒有更糟。以下是三種整合策略:
策略一:CMS 外掛自動生成(WordPress 用戶最低成本方案)。Yoast SEO 和 Rank Math 均在 2025 年加入 llms.txt 自動生成功能。開啟設定後,文件隨每次發文自動更新,無需手動維護。
策略二:靜態站台 CI/CD 整合。在 GitHub Actions 或類似 CI/CD 流程中加入腳本,於每次 deploy 後自動重新生成 llms.txt 和 llms-full.txt。llms.txt 的生成邏輯通常是掃描所有已發布頁面的 frontmatter,按類別分組輸出連結清單。
策略三:定期手動審查(適合更新頻率低的網站)。每季度審查一次 llms.txt,確認:(1) 所有主要 H2 的連結仍然有效;(2) 新增的重要頁面已加入適當區塊;(3) robots.txt 的 AI 爬蟲規則未變動。
不管採用哪種策略,llms.txt 和 llms-full.txt 的更新應與 sitemap.xml 更新連動。這三份文件共同構成 AI 爬蟲理解你的網站的基礎索引層,維護不同步會讓 AI 收到矛盾的網站結構資訊。更多 GEO 可見度的測量方法,參見 答案引擎優化(AEO)的框架 中的追蹤指標討論。