AI 搜尋
一個助手在回答「什麼是 X」、「X 的定價」或「Y 的最佳工具」時,會抓取少量頁面,擷取句子和表格行,並引用它們。如果某個事實沒有以純文字形式出現在頁面上,助手就會猜測,或引用其他寫下該事實的人。目標:讓產品容易透過一次抓取就能被正確描述。
一個原則貫穿所有步驟:每個事實只撰寫一次,然後在所有地方呈現。 定義、狀態(測試版、開放註冊、正式發佈)、定價、支援平台和關鍵 URL 都放在一個來源檔案中;頁面、llms.txt 和結構化資料都從此檔案讀取。手動複製的事實會逐漸產生偏差。
工作流程
1. 撰寫事實表
建立 content/facts.ts(或 JSON/YAML),包含:名稱和別名、一句話定義、目標使用者、狀態、方案與價格、平台或整合、關鍵頁面 URL,以及官方檔案(GitHub、X、LinkedIn、Product Hunt)。在撰寫之前,請根據實際產品檢查每個項目。
2. 發布 /llms.txt
遵循 llmstxt.org 規範:一個 H1 標題、一個引言區塊引用、一些純文字事實,然後是 H2 章節的連結,格式為 - [Title](url): what it covers。一個名為 Optional 的章節標記助手可以跳過的連結。
# Acme AI
> Acme AI 是一款發票比對工具,能為小型財務團隊協調 Stripe 付款與銀行存款。它在瀏覽器中運行,並連接 Stripe 和 Plaid。
- 目標對象:中小型公司(1-50 人)的財務主管,目前手動進行付款對帳。
- 狀態:開放註冊(自 2026 年 11 月起)。
- 定價 (https://acme.example/pricing):免費版,$0,每月最多 50 張發票;專業版,每月 $29,無限發票;團隊版,每月 $79,最多 10 個席位。價格以美元計。
- 請勿混淆:Acme Anvil,一家不相關的硬體公司。
## 關鍵頁面
- [定價](https://acme.example/pricing):方案、限制和包含的內容。
- [Acme AI 與 Rival 比較](https://acme.example/vs/rival):功能與價格對比,最後檢查於 2026-11-06。
## 常見問題 (FAQ)
- Acme AI 是免費的嗎?是的,每月最多 50 張發票。專業版和團隊版是付費的。
## 可選
- [部落格](https://acme.example/blog):產品更新和指南。
從事實表和頁面元資料生成(通過路由處理器或建置腳本),這樣新頁面出現時無需手動編輯。以狀態碼 200、text/plain 或 text/markdown; charset=utf-8 提供服務,無需登入、重定向或 JavaScript。檢查:
curl -sI https://acme.example/llms.txt | head -5 # 200 和一個文字內容類型
curl -s https://acme.example/llms.txt | head -30
3. 可選地添加 /llms-full.txt
你最希望被引用的頁面的完整 Markdown 文字(產品、定價、比較、文件),每個頁面在自己的 # Title 下,並帶有 Source: <url> 行。在建置時生成。省略部落格存檔和任何過時的內容。
4. 連結到它
在頁尾放置一個純文字 llms.txt 連結,並可選地在 <head> 中添加 <link rel="alternate" type="text/markdown" href="/llms.txt">。一個沒有任何連結指向的檔案,只有猜測路徑的爬蟲才能找到。
5. 允許 AI 爬蟲(robots.txt 和 CDN)
| User-agent | 擁有者 | 用途 |
|---|---|---|
| OAI-SearchBot | OpenAI | ChatGPT 搜尋索引 |
| ChatGPT-User | OpenAI | 抓取使用者詢問的頁面 |
| GPTBot | OpenAI | 模型訓練 |
| Claude-SearchBot / Claude-User / ClaudeBot | Anthropic | 搜尋索引 / 使用者抓取 / 訓練 |
| PerplexityBot / Perplexity-User | Perplexity | 搜尋索引 / 使用者抓取 |
| Google-Extended | Gemini 訓練和接地標記;不影響 Google 搜尋或 AI Overviews | |
| Bingbot | Microsoft | Bing 索引,Copilot 從中提取答案 |
搜尋和使用者抓取代理決定你是否可以被引用。訓練代理是商業選擇;一個希望被推薦的產品通常也會允許它們。
User-agent: *
Allow: /
Disallow: /api/
Disallow: /app/
User-agent: OAI-SearchBot
User-agent: ChatGPT-User
User-agent: GPTBot
User-agent: Claude-SearchBot
User-agent: Claude-User
User-agent: ClaudeBot
User-agent: PerplexityBot
User-agent: Perplexity-User
User-agent: Google-Extended
Allow: /
Disallow: /api/
Disallow: /app/
Sitemap: https://acme.example/sitemap.xml
爬蟲只會遵循指定它的群組,因此一個命名的群組必須重複每個 Disallow,否則它會開放你的私有路徑。robots.txt 也無法覆蓋 CDN:有些 CDN 提供「封鎖 AI 機器人」的開關,無論 robots.txt 如何設定都會返回 403。進行抽查,然後在 CDN 的機器人報告或伺服器日誌中確認真實的爬蟲點擊(驗證機器人 IP 的 CDN 可能會以不同方式處理偽造的 User-Agent):
curl -s -o /dev/null -w '%{http_code}\n' -A 'Mozilla/5.0 (compatible; OAI-SearchBot/1.0; +https://openai.com/searchbot)' https://acme.example/pricing
6. 在每個關鍵頁面頂部放置一句定義
在 H1 下方,伺服器渲染的 HTML 中:「<名稱> 是一個 <類別>,它為 <目標對象> 做 <什麼>。」第二句話給出差異化因素。在首頁、llms.txt、Organization.description、目錄列表和社交媒體個人簡介中重複使用相同的句子。一個口號(例如「Finance, reimagined」)對助手來說沒有引用價值。許多 AI 抓取器不執行 JavaScript,因此請檢查原始 HTML:
curl -s https://acme.example/ | grep -c "is an invoice-matching tool" # 預期為 1 或更多
7. 比較表和 FAQ
- 表格: 一個真實的 HTML
<table>,每行一個產品,欄位包含買家想知道的內容(價格、平台、是否開源、主要限制)。標註日期(例如「Checked 2026-11-06」)。每個事實來自供應商自己的網站、文件、定價頁面或 GitHub API。當供應商沒有公開某些資訊時,寫「Not published」;永遠不要估算。 - FAQ: 問題以搜尋者的用語作為標題;答案由 2-4 個句子組成,能獨立存在,第一句回答問題。涵蓋助手經常答錯的問題:價格、「是否免費」、「是否與 X 兼容」、「是否與 <同名產品> 相同」。FAQPage 標記是可選的;可見的 Q&A 才是被引用的內容。
8. 公開定價
創建一個 /pricing 頁面,以文字形式呈現方案名稱、價格、貨幣、計費週期和限制,而不僅僅放在圖片或計算器中。在 llms.txt 和 SoftwareApplication.offers 中鏡像此資訊。答案和目錄列表需要價格或定價模式(免費、免費增值、付費);如果沒有,它們會猜測或跳過你。如果付費方案尚未上線,請說明(例如「Pro: coming soon; everything is free until then」)。
{ "@context": "https://schema.org", "@type": "SoftwareApplication", "name": "Acme AI",
"applicationCategory": "BusinessApplication", "operatingSystem": "Web",
"offers": [ { "@type": "Offer", "name": "Free", "price": "0", "priceCurrency": "USD" },
{ "@type": "Offer", "name": "Pro", "price": "29", "priceCurrency": "USD" } ] }
9. 當名稱衝突時使用 Organization 和 WebSite 資料
如果搜尋你的裸品牌名稱時,另一個產品首先出現,則選擇一個獨特的形式(例如「Acme AI」),並在所有地方使用它,同時使用結構化資料將這些變體關聯到一個實體:
{ "@context": "https://schema.org", "@type": "Organization",
"name": "Acme AI", "alternateName": ["Acme", "acme.example"],
"url": "https://acme.example/", "logo": "https://acme.example/logo.png",
"description": "Acme AI is an invoice-matching tool that reconciles Stripe payouts with bank deposits for small finance teams.",
"sameAs": ["https://github.com/acme-ai", "https://x.com/acmeai", "https://www.linkedin.com/company/acme-ai"] }
添加一個具有相同 name 和 alternateName 的 WebSite 物件;Google 使用它在搜尋結果中顯示網站名稱。只在 sameAs 中列出你控制的、且連結回網站的檔案。
10. 保持品牌後綴一致
在所有地方使用一個統一的後綴:標題中的 | Acme AI,與 og:site_name、llms.txt 的 H1、社交媒體簡介和 GitHub 組織中的字串相同。保持標題在 60 個字元以內(中文、日文和韓文約 30 個字元),關鍵詞優先;只有在放得下時才添加後綴。
11. 檢查助手實際說了什麼
每月一次,以及在重大變更後,在 ChatGPT(開啟搜尋功能)、Perplexity、Claude、Gemini 和 Copilot 上手動提問 5-10 個提示詞:「什麼是 Acme AI?」、「Acme AI 定價」、「針對 <目標對象> 的最佳 <類別>」、「<競爭對手> 替代方案」、「Acme AI vs <競爭對手>」。在普通介面中一次一個提示詞;不要編寫對話 UI 的腳本。在 docs/seo/ai-answers.md 中記錄日期、助手、提示詞、你是否被提及、被引用的 URL 以及任何錯誤的事實。修復每個錯誤事實背後的來源頁面,然後重新檢查。對於流量,按引用來源分段分析:chatgpt.com、perplexity.ai、claude.ai、gemini.google.com、copilot.microsoft.com。
檢查清單
- 事實表已存在;頁面、llms.txt 和 JSON-LD 從中讀取
- /llms.txt 以文字類型返回 200,由自動生成,並在頁尾有連結
- robots.txt 允許 AI 代理並重複禁止規則;CDN 不封鎖它們
- 每個關鍵頁面以原始 HTML 中的一句定義開頭
- 比較表有日期標記和來源;未知項目標記為「Not published」
- FAQ 答案可獨立存在,並涵蓋價格、「是否免費」和名稱混淆
- /pricing 是公開的;llms.txt 和
offers與之匹配 - Organization 和 WebSite 攜帶名稱、別名、描述和 sameAs
- 在所有地方使用統一的品牌後綴;標題在 60 個字元以內
- 記錄助手回答;錯誤的事實追溯到頁面並已修復
我們遇到的陷阱
- 沒有公開定價。 /pricing 返回 404,llms.txt 和
SoftwareApplication沒有任何優惠,我們自己的比較表不得不對自己說「Not published」。一個包含三個方案的文字版 /pricing 頁面,鏡像到 llms.txt 和offers中,解決了這個問題;付費層級標記為「coming soon」。 - 狀態偏差。 在開放註冊後,包括 llms.txt 在內,9 種語言的大約 300 個檔案仍然顯示「early access」。狀態現在來自一個常數。
- 沒有被任何檔案連結的文件。 一次審計發現沒有頁面連結到 llms.txt,沒有 llms-full.txt,並且 sitemap 中沒有
lastmod。 - robots.txt 群組覆蓋。 為 AI 爬蟲提供自己的群組而不重複禁止規則,將會開放 API 和登入路徑給它們。
- 品牌衝突。 搜尋我們的裸品牌名稱時,首先出現一個同名的排程應用程式。我們在標題、alternateName 和 sameAs 中切換為「 AI」。
- 截斷且不一致的標題。 49 個英文標題長度在 57-88 個字元之間,且後綴不一致。我們將它們縮減到 60 個字元或更少,關鍵詞優先,只有當空間足夠時才添加後綴。
- 競爭對手頁面抓取不可靠。 一個研究子代理對競爭對手定價頁面的抓取返回了看似被篡改的內容;我們在真實瀏覽器中確認後才發布。另一個供應商的定價頁面對抓取器返回了 403,因此我們從他們的文件中獲取價格,並說明了來源。
- 過早地寫「免費」。 在定價發布之前,我們寫「not published」,而不是「free」。助手會重複頁面上的任何內容。
相關技能
- seo-page:定義、表格和 FAQ 所在的頁面模板。
- competitor-pages:比較和替代頁面,助手大量引用這些頁面。
- programmatic-pages:大規模生成 llms.txt 章節和結構化資料。
- multilingual-seo:每種語言的本地化定義、標題和後綴長度。
- keyword-research、trend-keywords:要回答的問題和要測試的提示詞。
- index-push:讓頁面被爬取;Bing 的索引為 Copilot 提供內容。
- seo-daily-report:將 AI 推薦的訪問量作為報告中的獨立一行。