寫了一堆 GEO 內容,然後呢?客戶最常問我們的一句話是:「AI 到底有沒有來爬我的網站?」GSC 不會告訴你,GA4 也不會,這兩個工具看的是人和 Googlebot,不是 GPTBot。答案其實一直躺在你的 server access log 裡,一行一行,沒人幫你整理而已。這篇把整條 pipeline 拆開講:從拿到 log、認出 AI 爬蟲、擋掉偽裝的假 UA,到用試算表和 Looker Studio 做出一個每月能追蹤的 AI 爬蟲 dashboard。前四步不用寫任何程式。
為什麼 GSC 看不到 AI 爬蟲
先講結論:Google Search Console 的「檢索統計資料」只涵蓋 Google 自家爬蟲。Googlebot、Googlebot-Image、Googlebot-Video,就這些。GPTBot 這個月來過幾次、PerplexityBot 昨天抓了哪一頁,GSC 一個字都不會提。這不是設定問題,是產品定位問題:GSC 是 Google 搜尋的儀表板,不是你網站的儀表板。
查詢報表那邊也一樣是死路。我們自己的 GSC ⟦2026-07 快照,近 90 天⟧裡,geo 相關查詢加起來三百多次曝光,但含「引用」二字的查詢是 0 筆。使用者不會這樣搜,GSC 也根本沒有「AI 引用」這個維度。想知道 ChatGPT 或 Perplexity 有沒有把你的內容抓回去,只有一個地方有完整紀錄:server access log。每一次 HTTP 請求,不管來自真人、Googlebot 還是 GPTBot,都會留下一行,包含時間、IP、抓了哪個 URL、用什麼 User-Agent。原始資料,沒有平台幫你過濾,也沒有平台能藏。
順帶一提,AI 爬蟲跟 Googlebot 一樣吃伺服器資源,量大時也會影響爬取預算的分配。所以這條 pipeline 做起來不只是 GEO 監測,也是技術 SEO 的基本功。
第一步:拿到 log,三種主機情境一張表
最多人卡在這一步,因為每家主機給 log 的方式差很多。說白了,你的主機環境決定你能做到哪個等級。
| 情境 | 去哪裡拿 | 能拿到什麼 | 限制 |
|---|---|---|---|
| 共享主機(cPanel) | cPanel 後台「原始存取紀錄」(Raw Access Logs)下載壓縮檔 | Apache 格式的完整 access log | 保留期短,常見只有當天到數天,要定期下載存檔 |
| VPS / 雲主機 | nginx 的 access.log(預設在 /var/log/nginx/)或 Apache access log | 完整、格式可自訂、想留多久留多久 | logrotate 和硬碟空間要自己顧 |
| Cloudflare | 免費版:儀表板的 Bot/流量分析。付費版:Logpush 推送原始 log 到 R2、S3 或 BigQuery | 免費版只有彙總圖表;Logpush 才有逐筆紀錄 | 免費版拿不到原始 log;Logpush 傳統上是 Enterprise 級功能,現行方案界線以官方文件為準 |
這裡有個坑:很多主機商的 cPanel 預設不勾「保存原始紀錄」,你得先進 Raw Access 設定把封存打開,不然每天午夜就被清掉。另一個坑:網站前面掛了 Cloudflare 的話,主機 log 看到的 IP 可能是 Cloudflare 節點 IP,不是爬蟲真實 IP。要嘛看 X-Forwarded-For 標頭,要嘛在主機端裝還原真實 IP 的模組,不處理的話,後面做反向 DNS 驗證會整個失真。
第二步:辨識 AI 爬蟲,UA 清單加防偽驗證
log 到手,靠 User-Agent 字串把 AI 爬蟲挑出來。下表是 2026 年中值得監測的八個 UA 關鍵字,直接拿去當篩選條件:
| UA 關鍵字 | 所屬公司 | 型態 | 備註 |
|---|---|---|---|
GPTBot | OpenAI | 訓練型(收集訓練資料) | 官方公布 IP 清單可核對 |
OAI-SearchBot | OpenAI | 檢索型(ChatGPT 搜尋索引) | 想被 ChatGPT 搜尋引用,千萬別擋它 |
ChatGPT-User | OpenAI | 即時型(對話中即時抓頁) | 出現一次,約略等於有真人在對話裡碰到你的內容 |
PerplexityBot | Perplexity | 檢索型 | 官方公布 IP 範圍 |
ClaudeBot | Anthropic | 訓練型 | 另有 Claude-User 等即時抓取變體 |
Google-Extended | 控制型 token | 不是獨立爬蟲,是 robots.txt 的控制代號,實際抓取仍由 Googlebot 執行,log 裡看不到這個 UA | |
CCBot | Common Crawl | 訓練型(開放資料集) | 很多模型訓練資料的源頭 |
Bytespider | ByteDance | 訓練型 | 官方沒有公開行為細節,社群實測普遍反映它常忽略 robots.txt |
這裡最容易踩雷:偽裝 GPTBot 的垃圾爬蟲
UA 是誰都能填的字串。掛著 GPTBot 名字的內容剽竊工具、垃圾爬蟲滿街跑,直接信 UA 做統計,數字會灌水。驗證方式兩種。一,反向 DNS:拿 log 裡的來源 IP 反查主機名稱(Windows 用 nslookup、Linux 用 host 指令),OpenAI 正牌爬蟲會解析到 openai.com 結尾的網域,再正查一次確認 IP 對得上才算數。二,IP 清單比對:OpenAI 和 Perplexity 都在官網公布 JSON 格式的官方 IP 範圍,逐段比對更快。實務上抓大放小:先驗請求量前十名的 IP,長尾的假 UA 影響不了統計大局。
第三步:解析 pipeline,先用試算表就能做
不用急著寫 Python。第一版 dashboard 用 Google Sheets 就能出貨,等單月 log 超過幾十萬行再上腳本。整條 pipeline 五個階段:
| 階段 | 做什麼 | 入門做法 → 進階做法 |
|---|---|---|
| 1. log 取得 | 下載壓縮檔、解壓成純文字 | cPanel 手動下載 → cron 排程自動抓 |
| 2. UA 過濾 | 只留 UA 含上表八個關鍵字的行 | 試算表篩選器 → grep 類指令或 Python |
| 3. 逐日彙總 | 算出每個 bot 每天的請求數 | 樞紐分析表 → pandas groupby |
| 4. 頁面排行 | 每個 bot 抓最多的 URL 前 20 名 | 樞紐分析表換維度 → SQL |
| 5. dashboard | 趨勢圖加排行榜固定版位 | Sheets 內建圖表 → Looker Studio |
試算表流程具體長這樣:先把 log 整行匯入 Sheets。注意,用空格當分隔符號會切壞 UA 欄位,因為 UA 本身有空格;access log 的 UA 前後有雙引號包著,那才是天然的分隔線,照引號拆。接著開一欄寫判斷式,比對該行是否含 GPTBot 等關鍵字,再對這欄做樞紐分析:列放日期、欄放 bot 名稱、值放計數。到這裡,一張「AI 爬蟲逐日活動表」就出來了,前後大概一個下午。
第四步:五個要看的訊號
資料出來之後看什麼?固定盯這五個:
- 逐日請求量趨勢:GPTBot 這個月來的次數比上月多還是少?斷崖式歸零,通常是你或主機商的 WAF 不小心把它擋了。
- 檢索型對訓練型的比例:OAI-SearchBot 和 ChatGPT-User 的量,比 GPTBot 更接近「被引用的前置訊號」。訓練型爬得再兇,跟你這季的引用機會關係不大。
- 頁面排行:AI 爬蟲最愛抓哪些頁?狂抓三年前的舊文、主推的服務頁反而沒爬,代表內部連結和 sitemap 該檢討了。
- 狀態碼分布:AI bot 請求裡 404 和 301 的占比。預算花在轉址鏈和死頁上是純浪費。
- 覆蓋率:下面這條公式。
一條公式:AI 爬蟲覆蓋率
AI 爬蟲覆蓋率=AI bot 爬過的不重複頁數 ÷ 全站可索引頁數。分子從 log 算,URL 去重後計數;分母用 sitemap 裡的 URL 總數。假設全站 120 頁、GPTBot 只爬過 30 頁,覆蓋率 25%,意思是七成五的內容對 OpenAI 的世界來說根本不存在。
潑一盆冷水:爬得多不等於引用得多。爬取只代表內容進了候選池,會不會被引用,還要看內容本身能不能被抽出來當答案。但反過來是鐵律:爬都沒爬到,一定不會被引用。所以 log 是 GEO 的地板指標。先確認地板存在,再用 Peec AI(約 $89–499/月)或 Otterly.ai(約 $29/月起)這類工具去量天花板,也就是實際引用率;預算緊就先跑免費的 HubSpot AI Search Grader 做粗略體檢,Ahrefs Brand Radar 和 Semrush AI Visibility Toolkit 則是既有訂閱者的套件內選項。
第五步:接 Google Sheets/Looker Studio 做月報
把樞紐結果整理成固定欄位的長表,Looker Studio 直接接 Sheets 當資料源,月報就自動化一半了。欄位模板:
| 欄位 | 型態 | 說明 |
|---|---|---|
| log_date | 日期 | 彙總日 |
| bot_name | 文字 | GPTBot、PerplexityBot 等,照 UA 表統一命名 |
| bot_type | 文字 | 訓練型/檢索型/即時型 |
| requests | 數字 | 當日該 bot 請求總數 |
| unique_pages | 數字 | 當日爬過的不重複 URL 數 |
| ok_ratio | 百分比 | 2xx 回應占比 |
| top_page | 文字 | 當日被抓最多次的 URL |
Looker Studio 拉三個元件就夠:分 bot 的逐日折線圖、bot_type 圓餅、top_page 表格。每月第一週把上月 log 跑一輪、貼進 Sheets,報表自己更新。別做太漂亮,這是給自己看趨勢的工具,不是提案簡報。
誠實段:TOPCLASS 自己現在做到哪
照慣例交代我們自己的處境。TOPCLASS 目前跑在 Hostinger 共享環境,原始 log 的取得就是上表「共享主機」那一列的狀況:拿得到,但保留期短、要手動排程,還沒接成全自動 pipeline。所以本文出現的 dashboard 數字示意(例如覆蓋率 25% 那段)為示範情境,不是我們的實際量測值。我們現在能直接拿到的替代訊號,是主機面板和 Cloudflare 層的爬蟲統計圖表,粒度粗,但看趨勢夠用。
再誠實一點。我們的 GA4 是 2026-07-02 才裝上的⟦2026-07 快照⟧,到 07-04 只累積 14 個 sessions、全部 direct,來自 ChatGPT 或 Perplexity 的 AI referral 目前掛零。這就是我們的基準線,之後每一分成長都量得出來。另外,Perplexity 點名台灣 GEO 同業時,TOPCLASS 目前不在名單上(完整實測見競品 AI 可見度比較)。難看嗎?難看。但這正是這篇文章存在的理由:AI referral 掛零有兩種可能,一是 AI 沒引用你,二是引用了但沒人點。要分辨是哪一種,第一步就是回到 log,確認 bot 到底有沒有來爬。我們自己也在走這條 pipeline,走到哪、數字長怎樣,之後會持續公開。
Log 不會說謊:AI 有沒有來爬、爬了哪些頁,一行一行都在裡面。想知道你的網站在 AI 眼中到底存不存在,先從免費網站健檢開始,我們幫你把爬蟲訊號和整站體質一次看清楚。