citlyze docs
使用 Citlyze

AI 爬蟲

看看哪些 AI 爬蟲真正造訪你的網站,以及如何安裝追蹤。

AI 爬蟲追蹤顯示哪些 AI 引擎真正在造訪你的網站:GPTBot、ClaudeBot、PerplexityBot、Bingbot 等。它與 GEO 稽核互補:稽核告訴你機器人能否到達頁面;爬蟲追蹤告訴你它們是否真的來了。

為什麼用伺服器端擷取

AI 訓練爬蟲不執行 JavaScript,Google Tag Manager 或 JavaScript 像素永遠 看不到 GPTBot 或 ClaudeBot。Citlyze 在伺服器端擷取爬蟲造訪,那裡能看到 真實的請求 User-Agent,因此不執行 JavaScript 的爬蟲也會被統計。

人類這一半則不同:由 AI 回答引薦的訪客會執行 JavaScript,因此對 AI 流量來說,瀏覽器程式碼片段或 Tag Manager 安裝就足夠了(見 安裝 AI 流量追蹤)。本頁的 伺服器端安裝則同時擷取兩種。

安裝追蹤

前往 AI 爬蟲 → 安裝追蹤並產生網站金鑰。金鑰有兩部分(金鑰 ID 與簽章 密鑰),只顯示一次;兩者都要複製。然後為你的平台加入對應程式碼片段 (每個選項的逐步安裝說明見安裝 AI 爬蟲追蹤):

  • Cloudflare(建議):把 Worker 片段放在網站前面。
  • Vercel / 反向代理:加入中介軟體片段。
  • WordPress:下載 AI Crawler Tracker by Citlyze,在 wp-admin → 外掛中 上傳,然後在其設定中填寫全部三個欄位:Tracker base URL (https://app.citlyze.com)、Key IDSigning secret,再使用 發送測試事件(Send test event)驗證連線。在填寫追蹤器基礎 URL 之前,外掛不會回報任何資料。
  • 自建伺服器 / Node:適用於自架網站(AWS、GCP、Azure、裸機、容器): 加入 Express 風格的中介軟體片段(Node 20+)。它可適配 Fastify、Koa 或原生 http,其他語言也可以直接實作簽章信標協定

每個事件都用你的密鑰簽章,追蹤器可以拒絕偽造的信標。

該簽章只證明這份回報來自你的網站,並不能說明訪客是誰。確認訪客確實是 GPTBot 是另一個步驟,見驗證如何運作

標準 Shopify 商店無法執行伺服器端擷取,而且 Shopify 不支援在商店前架設代理 (例如 Cloudflare),因此標準 Shopify 無法使用完整的爬蟲追蹤。Headless 的 Hydrogen 或 Oxygen 店面執行伺服器端程式碼,可以使用自建伺服器片段。Webflow 託管同樣無法執行伺服器程式碼;在 Webflow Enterprise 上,自行管理的反向代理 可以在代理層執行 Cloudflare Worker 或自建伺服器片段。

Cloudflare Worker 與自建伺服器中介軟體會回報每次被爬取請求的 HTTP 狀態碼,用於驅動下文的錯誤 洞察。WordPress 外掛在頁面算繪之前執行,因此只能區分 404 與其他情況;而 Vercel 中介軟體在回應產生之前執行,因此完全無法回報狀態碼。

WordPress 全頁快取與 CDN 可能不執行外掛就直接回應請求。對大量使用快取的 網站,請使用 Cloudflare Worker 以避免少計。

自建伺服器與其他語言

自建伺服器頁籤提供的是 Node 中介軟體,但任何技術棧都可以回報:一個信標就是 一次帶簽章的 HTTPS POST,發送到 https://app.citlyze.com/api/track,攜帶 JSON 請求主體(最大 32 KB)與 Content-Type: application/json

必要的請求標頭:

標頭
x-aeo-schema字面字串 2
x-aeo-key-id你的金鑰 ID(產生網站金鑰時顯示的 UUID)。
x-aeo-ts以秒計的 Unix 時間戳;必須與追蹤器時鐘相差 5 分鐘以內。
x-aeo-nonce每個事件唯一:16–64 個字元,由十六進位數字與連字號組成。去掉連字號的 UUID 即可。每個 nonce 只接受一次;重放會被忽略。
x-aeo-signature小寫十六進位 HMAC,按下述方式計算。

計算簽章:

  1. 導出簽章用金鑰:對你的簽章密鑰(完整的 ctk_... 字串)取小寫 64 位 十六進位 SHA-256。將該十六進位字串的 UTF-8 位元組用作 HMAC 金鑰; 不要對它做十六進位解碼。
  2. 建構訊息:"2\n" + timestamp + "\n" + nonce + "\n" + bodyDigest,其中 bodyDigest 是你實際發送的請求主體位元組的小寫十六進位 SHA-256。簽章 之後任何重新序列化都會使簽章失效。
  3. x-aeo-signature 就是用第 1 步的金鑰對該訊息計算的小寫十六進位 HMAC-SHA256。

請求主體欄位(除註明外均為必填):

  • userAgent:訪客的 User-Agent,最長 1024 個字元。
  • path:請求路徑,以 / 開頭,不含查詢字串與片段標識,最長 2048 個字元。
  • visitorIp:你的伺服器看到的用戶端 IP。位於負載平衡器或反向代理之後 時,從你自己的代理設定的轉發標頭中取值;爬蟲身分驗證檢查的正是這個欄位。
  • referrer:空字串,或去掉查詢與片段的 https:// 來源 URL。只對從 AI 回答點擊進入的人類造訪有意義。
  • status:回應的三位 HTTP 狀態碼;如果在回應產生之前回報,則為 unknown
  • method:大寫的 HTTP 方法。

只回報 User-Agent 看起來是自動化程式、或來源是 AI 回答引擎的請求,並在回應 之後以射後不理的方式發送信標;追蹤器故障絕不應拖慢你的網站。

要驗證你的整合,發送一個帶 "test": trueuserAgentcitlyze-connection-test/ 開頭、且 "path": "/citlyze-test" 的信標。簽章 正確的測試事件回傳 HTTP 200 且不儲存任何內容;真實事件一律回傳 204, 無論該次造訪最終是否出現在你的報告中。

輪換或撤銷金鑰

如果簽章密鑰可能已外洩(例如被提交到程式碼儲存庫或出現在截圖中),請使用 金鑰旁邊的輪換。輪換會為同一把金鑰簽發新的密鑰:金鑰 ID、名稱、網域 與全部歷史記錄都會保留,但舊密鑰立即失效;請盡快在程式碼片段或外掛中 更新為新密鑰。 撤銷則不同:它會永久停用該金鑰,並停止該網站的追蹤。

解讀分析

AI 爬蟲 → 分析頁面針對所選時間範圍顯示:

  • 頂部指標卡:爬蟲總造訪、不同爬蟲數、最活躍爬蟲與趨勢
  • 爬蟲造訪隨時間變化(每日總量)
  • 各爬蟲趨勢(每個爬蟲一條線)
  • 按爬蟲細分,含組織、用途、造訪量與趨勢
  • 來自 AI 回答的人類造訪:從 ChatGPT、Perplexity、Gemini、Copilot 等 點擊進入的訪客,以及他們的主要著陸頁;完整的引薦報告(含轉換)在 AI 流量
  • 被爬取最多的頁面(前 10,附完整清單連結)
  • 未識別的機器人:與任何已知 AI 爬蟲都不符的類機器人 User-Agent, 歸入「未知機器人」分組,讓新爬蟲盡早顯現

使用預設時間範圍(7/30/90 天)、自訂日期範圍與爬蟲篩選器聚焦檢視。追蹤 多個網站的工作區還會顯示網站篩選器。

驗證如何運作

任何用戶端都能在 User-Agent 裡寫上 GPTBot。所以 User-Agent 只是一種宣稱, 而非證據。Citlyze 也依此處理:核心爬蟲數據只統計我們能獨立確認的流量。

每次造訪會得到三種信心度之一:

  • 已驗證:我們對照營運方公開的資訊確認了訪客的網路身分。只有這些會計入 你的總數。
  • 疑似:有旁證支持,例如你的 CDN 將該請求標記為已知機器人,但沒有獨立 確認。
  • 未驗證:User-Agent 宣稱是某個爬蟲且沒有矛盾之處,但我們無法確認。會 單獨呈現,絕不計入你的總數。

驗證會使用營運方所支援的方式:

方式能證明什麼
已簽章請求請求帶有加密簽章,我們對照營運方公開的金鑰完成了驗證。這是最強的證據。
公布的 IP 範圍來源位址落在營運方為其爬蟲公布的 IP 範圍內。
反向 DNS來源位址解析到營運方的網域,而該名稱又解析回同一位址。
已知 IP 範圍來源位址落在營運方文件中固定記載的 IP 範圍內。
CDN 證明你的 CDN 將該請求辨識為已知機器人。屬旁證,並非定論。
僅 User-Agent除了自報的名稱之外沒有任何依據。始終為未驗證。

未公布任何可驗證資訊的營運方,最多只能達到未驗證。這是該爬蟲本身的特性, 不是你的設定有問題;這也正是我們分開呈現、而不是混成一個數字的原因。

有兩點值得了解:

  • 代理流量單獨統計。 由人操作的工具(例如 ChatGPT Agent)會出現在代理活動 中,而不計入爬蟲總數:一個人點擊與一個爬蟲為你建立索引,並不是同一種訊號。
  • 有時我們無法完成驗證:營運方的 IP 清單可能暫時無法存取。這類造訪會維持 未驗證而不是被計入,因此你的總數絕不會包含我們未確認的內容。

被爬取頁面

AI 爬蟲 → 被爬取頁面是完整的下鑽檢視:所選時間範圍內 AI 爬蟲爬取過的 每個頁面,支援搜尋、排序與分頁。每列顯示造訪量、佔全部爬蟲流量的份額、與 上一期間的趨勢對比、錯誤數、最活躍爬蟲與最近造訪時間;展開一列可查看按 爬蟲的細分。

相關時,表格上方會出現兩條洞察:

  • 被爬取但從未被引用:AI 引擎爬取了但從未在你追蹤的回答中引用的頁 面;適合改寫為更清晰、更易被引用的內容。
  • 回傳錯誤的頁面:以 4xx/5xx 回應爬蟲的頁面。損壞的頁面無法被讀取或 引用。完整範圍需要 Cloudflare 或自建伺服器安裝方式;WordPress 安裝方式能擷取 404,但無法擷取 5xx。

在包含資料匯出的方案中,表格可下載為 CSV

透過 API 與 MCP 取得資料

安裝追蹤後,爬蟲造訪即可程式化取得:

兩者均為唯讀、限定在你的工作區內。REST 資源支援按 crawler_id、被追蹤網 站與精確 path 篩選;來自 AI 回答的人類造訪透過 GET /api/v1/ai-referrals 取得。

本頁內容