AI SEO 怎麼做?用 90 天 log 驗證真人與 AI 都會來的文章
多數 AI SEO 教學停在「加 schema、寫 FAQ」,卻很少有人拿自己網站的數據驗證有沒有用。本篇用 seo.av8d-levelup.com 的伺服器 log,找出哪些文章同時被真人與 AI 造訪、它們的結構有什麼共通點,再教你 5 步驟用自己的 log 重做一次。
- 「真人與 AI 都會來的文章」怎麼定義,以及為什麼只有「AI 即時瀏覽」才算數
- 本站 27 篇文章 90 天的真實數字:哪幾篇兩邊都高、哪幾篇兩邊都低
- 兩邊都高的文章有哪 3 個結構共通點(以及這個結論的限制)
- 可直接複製的 nginx log 指令,5 步驟自己驗證
- 為什麼 log 裡的 AI 數字不能全信,以及被爬不等於被推薦
什麼叫「真人與 AI 都會來」的文章?
指同一篇文章在同一段期間,伺服器 log 裡同時有真人瀏覽,以及 AI 訪客的紀錄。AI 訪客要再分三種,其中最有意義的是「即時瀏覽」:它代表有人正在問 AI,AI 當場來讀你那一頁。
本站沿用AI 爬蟲三角色的分法,三種 AI 訪客的意義完全不同:
- 訓練爬蟲(GPTBot、ClaudeBot):蒐集內容供未來模型學習,不保證任何一次回答會提到你
- 搜尋索引(OAI-SearchBot、Claude-SearchBot、PerplexityBot):替 AI 搜尋建立索引,是「有資格被引用」的前提
- 即時瀏覽(ChatGPT-User、Claude-User、Perplexity-User):使用者提問後,AI 當場抓頁,最接近「這篇文章正在被用來回答問題」
只看訓練爬蟲數量沒有意義,因為幾乎每個公開網站都會被抓。本文的「雙高」指的是:真人瀏覽多,且 AI 即時瀏覽也多。
本站 90 天的數據長什麼樣?
本站 27 篇文章頁,每一篇都至少有 1 次真人瀏覽,也都被 AI 即時瀏覽爬過。差別在數量:少數幾篇兩邊都明顯領先,其餘多半只有個位數。下表是兩邊都高的前 5 篇,加上兩篇兩邊都低的對照。
| 文章 | 真人 PV (近 15 天) |
真人 UV | AI 即時瀏覽 (90 天) |
AI 搜尋索引 (90 天) |
AI 訓練 (90 天) |
|---|---|---|---|---|---|
| ai-crawler-guide | 20 | 17 | 43 | 3 | 11 |
| geo-vs-seo-vs-aeo | 36 | 35 | 10 | 1 | 10 |
| geo-what-is-it | 18 | 17 | 11 | 3 | 11 |
| boost-ai-citation | 19 | 18 | 8 | 1 | 13 |
| featured-snippet-guide | 15 | 13 | 9 | 5 | 11 |
| paa-strategy(對照) | 4 | 3 | 2 | 1 | 5 |
| table-snippet-guide(對照) | 4 | 4 | 2 | 2 | 13 |
讀表前先注意兩個限制:真人數字只有近 15 天(2026-09-05 至 09-19),因為 nginx 的 access log 只保留約 14 天;AI 數字來自每日收集器累積的 90 天資料(2026-06-20 至 09-19)。兩欄的時間窗不同,不能直接相除,只能拿來比較「文章之間的相對高低」。
兩邊都最高的是 ai-crawler-guide:AI 即時瀏覽 43 次,遠高於第二名,真人也有 20 次。真人最多的是 geo-vs-seo-vs-aeo(36 次),AI 即時瀏覽 10 次,排在前段。
兩邊都高的文章有什麼共同結構?
在我逐篇檢查的 6 篇文章裡,雙高的前 4 篇有 3 個共通點:所有 H2 都是問句、每個 H2 首段直接給答案、都掛了 FAQPage schema。兩篇兩邊都低的文章,問句 H2 只有 4/7。
| 文章 | 約略字數 | 問句 H2 數 / H2 總數 |
表格 | 結構化資料 |
|---|---|---|---|---|
| ai-crawler-guide | 1.1 萬 | 9 / 9 | 1 | Article、FAQPage、HowTo |
| geo-vs-seo-vs-aeo | 4,800 | 9 / 9 | 1 | Article、FAQPage |
| geo-what-is-it | 5,000 | 7 / 7 | 0 | Article、FAQPage、HowTo |
| boost-ai-citation | 7,000 | 7 / 7 | 0 | Article、FAQPage、HowTo |
| paa-strategy(對照) | 2,600 | 4 / 7 | 1 | Article、FAQPage |
| table-snippet-guide(對照) | 2,800 | 4 / 7 | 0 | Article、FAQPage |
換成可執行的寫法,是這 3 件事:
- H2 用使用者會問的句子:「10 隻 AI 爬蟲分別是什麼?」比「AI 爬蟲介紹」更接近 AI 拆解提問的方式
- H2 下第一段就給完整答案:讓 AI 只抓這一段也能獨立回答,不必再讀前後文
- 放一張對照表或可複製範本:ai-crawler-guide 有一份可直接貼上的 robots.txt,是它 AI 即時瀏覽特別高的可能原因之一
這是相關,不是因果。樣本只有 27 篇,而且題目本身的熱度不同:「AI 爬蟲設定」本來就比「PAA 策略」更多人問。我能說的是「雙高文章有這些共同點」,不能說「做了這 3 件事就一定會被 AI 瀏覽」。
怎麼用自己的 log 驗證?5 步驟
整個流程約 30 分鐘,只需要能讀 nginx access log 的權限。共 5 步:分清楚訪客類型、分流計數、剔除雜訊、逐篇交叉比對、拆解雙高文章。以下指令假設 log 是 nginx 預設的 combined 格式。
步驟 1:先分清楚三種訪客
把訪客分成「真人」「AI 即時瀏覽」「AI 索引與訓練」三類,之後每一步都分開算。混在一起算,一天灌上百次的訓練爬蟲會蓋掉真正有意義的訊號。
步驟 2:用 access log 分流計數
先算 AI 即時瀏覽最常讀哪些文章。zcat -f 會同時讀未壓縮與已壓縮的輪替檔:
# AI 即時瀏覽:最常被讀的文章
sudo zcat -f /var/log/nginx/access.log* \
| grep -iE 'ChatGPT-User|Claude-User|Perplexity-User' \
| grep -v 'claude-code' \
| awk '$9 ~ /^(200|304)$/ {print $7}' \
| grep -E '^/blog/[a-z0-9-]+\.html' \
| sort | uniq -c | sort -rn | head -20
再算真人。真人沒有專屬標記,所以用「排除法」:扣掉所有常見 bot 與工具的 User-agent,再排除自己的 IP。
# 真人:最常被讀的文章(把 YOUR_IP 換成你自己的 IP)
sudo zcat -f /var/log/nginx/access.log* \
| grep -viE 'bot|crawl|spider|slurp|curl|wget|python|headless|ChatGPT-User|Claude-User|Perplexity-User|facebookexternalhit' \
| grep -v '^YOUR_IP ' \
| awk '$6=="\"GET" && $9 ~ /^(200|304)$/ {print $7}' \
| grep -E '^/blog/[a-z0-9-]+\.html' \
| sort | uniq -c | sort -rn | head -20
步驟 3:剔除雜訊
只保留 3 類請求:路徑是文章頁、狀態碼是 200 或 304、不是你自己的流量。上面兩段指令已經內建這三個過濾,細節見下一節「為什麼 log 裡的 AI 數字不能全信」。
步驟 4:逐篇交叉比對
把兩份結果放進同一張表,每篇文章分到四個象限之一:
- 兩邊都高:保留現狀,當作範本
- 只有真人高:內容有人看,但結構還沒讓 AI 願意讀,優先補首段答案與 FAQ
- 只有 AI 高:AI 常來讀但真人少,檢查標題與 meta description 是否吸引人點擊
- 兩邊都低:先檢查有沒有被索引與內鏈,再決定要不要重寫
步驟 5:拆解雙高文章並複製到弱文
對「兩邊都高」的文章檢查 4 件事:H2 是否為問句、每個 H2 首段是否直接給答案、有沒有對照表或可複製範本、有沒有 FAQPage 或 HowTo schema。缺哪一項,就補在「兩邊都低」的文章上,並且記下改動日期,一個月後再跑一次同一套指令比較。
同時改太多篇,之後就分不出是哪個改動造成的變化。本站的原則是每月最多動 5 篇。
為什麼 log 裡的 AI 數字不能全信?
因為 User-agent 是請求者自己填的,任何人都能寫成「ChatGPT-User」。本站 9 月的 AI「即時瀏覽」紀錄裡,就有相當一部分請求的路徑是 /api/.env、/api/mcp、/api/.aws/credentials,這類路徑不像使用者問 AI 問題時會被讀取的頁面,較像借用 AI 名稱的掃描器。
3 個過濾原則,能大幅降低這種雜訊:
- 只算文章路徑:用
grep -E '^/blog/...'把 /api/、.env、設定檔探測全部排除 - 只算 200 與 304:掃描器猜路徑多半回 404
- 排除 claude-code:Claude-User 的 UA 有一部分是開發者用 Claude Code 命令列工具,不是使用者提問
還有一個更嚴格但需要額外工作的做法:對照各家官方公布的 IP 範圍,只信來自官方網段的請求。如果你的網站有商業風險,建議做這一步。
被 AI 爬過就代表被推薦嗎?
不代表。爬取只證明內容被讀過,AI 回答時有沒有提到你,還取決於索引、排名、品牌訊號與使用者怎麼提問。log 只能驗證這條鏈的第一步:內容有沒有被讀到。
從「被讀到」到「被推薦」,中間至少還隔著 4 層:
- 被索引:搜尋索引爬蟲有把頁面收進去,才有資格被引用
- 排得上前面:AI 搜尋多半從搜尋結果挑來源,排名太後面很難被選中
- 品牌訊號夠強:官網以外的地方也有人提到你,AI 才敢把你當成答案
- 提問剛好對上:使用者的問法要能對應到你文章的題目
所以 log 數字好看時,不要直接下「已經被推薦」的結論。要驗證回答裡有沒有你,得另外用真實提問測試:挑 10 到 20 個使用者會問的口語問題,每月固定時間問一次 ChatGPT、Claude、Gemini,記錄有沒有提到你的網域或品牌。
下一步該做什麼?
先跑步驟 2 的兩段指令,看你自己的雙高文章有哪幾篇。接著挑一篇兩邊都低的文章,照步驟 5 補結構。想深入各環節,可以搭配以下文章:
- 10 種 AI 爬蟲設定指南 — 本文數據中 AI 即時瀏覽最高的一篇,含可複製的 robots.txt
- 提升 AI 引用率的 8 個技巧 — 內容層面的 8 個實作項目
- GEO vs SEO vs AEO:三者差異一次看懂 — 本文數據中真人最多的一篇
- FAQ Schema 完整指南 — 步驟 5 要補的 FAQPage 怎麼寫
常見問答(FAQ)
問:AI SEO 到底是什麼?
答:AI SEO 是讓網站內容同時被傳統搜尋與 AI 搜尋(ChatGPT、Claude、Perplexity、Gemini)讀懂並引用的優化方法,涵蓋技術設定、內容結構與品牌訊號,和 GEO 大致同義。
問:怎麼知道 AI 有沒有來過我的網站?
答:看伺服器 access log 裡的 User-agent,搜尋 GPTBot、OAI-SearchBot、ChatGPT-User、ClaudeBot、Claude-User、PerplexityBot 即可。GA4 只記錄執行 JavaScript 的訪客,看不到這些爬蟲。
問:AI 即時瀏覽和訓練爬蟲哪個比較重要?
答:即時瀏覽比較有意義,因為它代表有人正在問 AI,AI 當場來讀你那一頁。訓練爬蟲只代表內容可能進入未來模型,不保證任何一次回答會提到你。
問:網站沒有伺服器 log 怎麼辦?
答:先向主機商索取 access log 的存取方式;用 Cloudflare 的話,可看它的 AI 爬蟲相關分析。不用 JavaScript 型分析工具找爬蟲,因為爬蟲通常不執行 JS。
問:被 AI 爬過就代表會被推薦嗎?
答:不會。爬取只證明內容被讀過,是否出現在回答裡還取決於索引、排名、品牌訊號與提問方式。log 只能驗證第一步,要確認有沒有被推薦,得另外用真實提問測試。
問:文章要寫多長才會被 AI 即時瀏覽?
答:沒有固定字數。本站 AI 即時瀏覽最多的一篇約 1.1 萬字,第二高的約 4,800 字。兩者共通點是每個 H2 都是問句、首段直接給答案,結構比長度更重要。