全部文章

如何驗證 Googlebot(並攔截冒充者)

任何人都能發送 Googlebot 的 User-Agent。本文說明如何用反向 DNS 驗證真正的 Googlebot,以及如何區分已驗證的爬蟲、AI 爬蟲與惡意自動化流量。

2026年6月23日閱讀約 5 分鐘

"Verify Googlebot" 是搜尋量最高的爬蟲相關問題之一,原因很簡單:大量不受歡迎的流量都披著 Googlebot 的外衣而來。User-Agent 極易偽造,將其視為證據,只會令爬蟲程式取得與真實爬蟲相同的通行權。

User-Agent 並不能證明任何事

Googlebot/2.1 只是一個請求標頭。爬蟲程式、無頭瀏覽器,甚至撞庫腳本都能發送完全相同的字串。若你的 放行規則是「User-Agent 包含 Googlebot」,那實際上等同開了一扇門,還掛上「請勿進入」的告示牌。

真正有效的驗證:正向確認的反向 DNS

Google 公佈了這套方法,共分三個步驟:

  1. 反向查詢該 IP。 取出發起連線的 IP,讀取其 PTR 記錄。真正的 Googlebot 會解析至 googlebot.comgoogle.com 之下的主機名稱。
  2. 確認網域。 主機名稱必須以這兩個官方網域之一作結。冒充 Googlebot 的資料中心 IP 通常沒有這樣 的 PTR 記錄。
  3. 反向解析回 IP。 將該主機名稱重新解析為 IP,並確認與最初的連線 IP 相符。此步驟閉合了整個環 節,使僅憑偽造的 PTR 記錄無法蒙混過關。

任何一個步驟未能通過的「Googlebot」請求,都不是 Googlebot。同樣的方法亦可驗證 Bingbot,其他主流 爬蟲亦各自公佈了本身的 IP 段或 DNS 慣例。

問題早已不止 Googlebot 一個

2026 年更棘手的問題,在於介乎人類與明顯機器人之間的一大片灰色地帶。

  • AI 爬蟲,例如 GPTBot、ClaudeBot、PerplexityBot,你或許希望放行、變現,或按名稱攔截。
  • 無頭自動化程式(Playwright、Puppeteer、HeadlessChrome),能夠 逼真地偽裝成真實瀏覽器
  • 偽裝成良性爬蟲的流量,使用偽造的 User-Agent,來自 資料中心 IP 段

反向 DNS 能夠驗證良性爬蟲,但單靠它無法為其餘流量分類。

疊加多種訊號,為其餘流量分類

驗證 Googlebot 只是其中一項輸入。要判斷其餘所有請求,還須結合:

  • IP 來源: 資料中心、VPN、代理,還是乾淨的住宅 IP。來自資料中心 IP 段的無頭流量,是惡意自動化 的典型特徵。應先檢查該 IP 的信譽與來源。
  • 無頭與自動化痕跡: webdriver 標記、缺失的瀏覽器特徵,以及 HeadlessChrome 之類的 User-Agent 標記。
  • JA4 TLS 指紋: 反映客戶端實際的 TLS 交握方式,因此不受偽造 User-Agent 影響,能將真正的 Chrome 與冒充者區分開來。
  • 請求標頭一致性: 真實瀏覽器會同時發送 Accept、Accept-Language 及 Accept-Encoding,許多機器人 則做不到這一點。

放行真實的爬蟲,再判斷其餘流量

請求驗證結果處理方式
Googlebot,反向 DNS 已確認已驗證放行
AI 爬蟲,按名稱識別已知放行、變現或按政策攔截
來自資料中心的無頭流量缺乏良性身份攔截
偽造的 Googlebot,反向 DNS 失敗驗證失敗攔截

這正是 Agentscan 在單次請求內完成的模型:透過正向確認的反向 DNS 驗證放行名單,按名稱 識別 AI 爬蟲,並將 IP 來源與無頭痕跡、JA4 結合,把每個請求判定為人類、已知爬蟲、AI 代理或惡意自動 化。判定結果會被快取,因此重複查詢能在 50 毫秒內傳回。

總結

切勿信任 Googlebot 的 User-Agent。以正向確認的反向 DNS 驗證它,放行你真正需要的爬蟲,再結合 IP 來 源、無頭痕跡與 JA4 判斷其餘流量。如此既能保護 SEO,亦能同時攔截偽造者。

常見問題

常見問題解答

執行一次正向確認的反向 DNS 查詢(forward-confirmed reverse DNS)。取出該 IP 的 PTR 記錄,確認其以 googlebot.com 或 google.com 結尾,再將此主機名稱解析回 IP,核對是否與原始 IP 一致。單憑 User-Agent 字串並不能證明任何事。

相關文章