# AI Crawler Log

> 從 nginx、Apache、Caddy、Cloudflare 的存取 log 看哪些 AI 爬蟲來過：GPTBot、ClaudeBot 各爬幾次、爬了哪些頁，還有哪些 sitemap 頁從沒被爬過。log 不會上傳。

- URL: https://bytescope.dev/zh-Hant/ai-crawler-log/
- Locale: zh-Hant · Also: [en](https://bytescope.dev/en/ai-crawler-log.md) · [ja](https://bytescope.dev/ja/ai-crawler-log.md)
- Runs: log 在這個瀏覽器裡解析，不會上傳。只有你貼上的 sitemap 網址會交給我們的 Worker 代抓；除了匿名的成功／失敗次數，什麼都不留。
- Requires: Any modern browser (Chrome, Edge, Firefox, Safari), desktop and mobile.
- Updated: 2026-09-08

## What it does

把存取 log 檔、或整個放 log 的資料夾拖進來，就能看到哪些 AI 爬蟲來過、來了幾次、抓了哪些頁。每個 bot 都列出請求數和每日趨勢、最常抓的頁面、狀態碼、平均回應時間，以及兩次造訪的間隔（中位數）。再載入你的 sitemap，就會多一張最有用的表：你明明提交了、卻從來沒有任何 AI 爬蟲來抓過的頁面。

### 看得懂的 log 格式

Cloudflare Logpush 的 `http_requests`（JSON Lines）、nginx 和 Apache 的 `combined` 格式（兩者一個位元都不差，所以共用同一個解析器；行尾如果有 `$request_time` 或 `%D`，就拿來當回應時間）、Caddy 的 JSON 存取 log，以及 Vercel、Netlify 的 log drain。格式是每個檔案各自用前 20 行（不算空行）判斷，同一個資料夾混著不同格式也沒關係。`access.log.2.gz` 這種輪替過的 `.gz` 檔也會直接在瀏覽器裡解開。一次最多讀 2,000 個檔案。

### 怎麼認出是哪個爬蟲

照固定順序比對 user-agent：OpenAI 是 `OAI-SearchBot`、`ChatGPT-User`、`GPTBot`，Anthropic 是 `Claude-SearchBot`、`Claude-User`、`ClaudeBot`，接著是 Perplexity、DuckDuckGo、Mistral、Meta、Amazon、ByteDance、Common Crawl、Cohere、Diffbot、You.com；搜尋引擎則有 Googlebot、Bingbot、Applebot、Yandex、Baidu、Petal。AI 爬蟲再分成「訓練用」「搜尋用」「使用者叫它來的」三類，因為擋掉哪一種，後果完全不一樣。看起來像 bot、卻對不上任何一個的，會歸到「其他 bot」並列出原始 user-agent，讓你知道還有誰在爬。

### 它做不到的事

user-agent 只是自稱，不是證明：誰都可以在 header 裡寫 `GPTBot`。這裡看的是流量，不是身分驗證；要確認爬蟲是真的，得反查它的 IP，這個工具不做。它也不做即時串接 log（那需要後端），請先匯出成檔案再拖進來。log 檔不會離開你的瀏覽器，解析時只讀時間、方法、路徑、主機、狀態碼、user-agent 和回應時間，不讀 IP、referer 和 cookie。唯一會送到我們 Worker 的，是你貼上的 sitemap 網址。

## Limits

Does not verify that a user-agent is genuine (no reverse DNS), does not stream live logs, and does not upload the log. Only a sitemap URL, when you give one, is fetched through our Worker.

## FAQ

### 怎麼在 nginx 存取 log 裡找 GPTBot？

把 log 檔拖進來就好。每一行都在你的瀏覽器裡解析，user-agent 含有 `GPTBot` 的請求會算在 OpenAI 的訓練用爬蟲底下，附上它抓了哪些頁、狀態碼和造訪時間。ChatGPT 搜尋用的 `OAI-SearchBot`，和使用者叫 ChatGPT 去抓的 `ChatGPT-User`，會分開計算。

### 我的 log 檔會被上傳嗎？

不會。解析是在這個分頁裡的 Web Worker 跑的，頁面只拿到統計結果，IP 位址根本不會被讀取。唯一會送到我們伺服器的，是你選擇貼上的 sitemap 網址：瀏覽器有跨來源限制，所以要由 Worker 代抓。上傳的 sitemap 檔案則留在你的電腦上。

### bot 可以偽造 user-agent 嗎？

可以，也真的有爬蟲這樣做。這裡的數字是「請求自稱是誰」的統計。要確認是不是真的，得反查 IP，再對照各家公布的 IP 範圍；這個工具不做這一步，所以看到數字突然暴增，請當成值得查的線索，而不是定論。

### 哪些 sitemap 頁從來沒被 AI 爬蟲抓過？

先分析完 log，再貼上 sitemap 網址或上傳 XML。每個 sitemap 網址會轉成路徑，和 AI 爬蟲抓過的所有路徑比對，從沒被抓過的會列成一張表，也能下載成文字檔。如果是 sitemap index，可以一個一個載入子 sitemap，最多 20 個。

### 為什麼有些行被算成「壞行」或「略過」？

壞行是用這個檔案判斷出的格式解析不了的行，例如被截斷的 JSON，或混進來的其他格式，影響只限那一行。略過的行格式是對的、但不是請求，例如 Caddy 非存取類的 log、Vercel 的 build 訊息。兩種都會顯示數量，不會有行默默消失。

## Related tools

- [AI Search Check](https://bytescope.dev/zh-Hant/ai-search-check.md) — 檢查單一網址對 AI 搜尋友不友善：各爬蟲的 robots.txt、llms.txt、JSON-LD。
- [llms.txt Generator](https://bytescope.dev/zh-Hant/llms-txt-generator.md) — 從 sitemap 做出 llms.txt，每頁都帶標題和描述。
