驗證 Googlebot 和其他 Google 檢索器的身分
您可以驗證存取伺服器的網路檢索器是否確實為 Google 檢索器 (例如 Googlebot)。如果擔心垃圾郵件製造者或其他惡意份子假冒 Googlebot 存取您的網站,這是相當實用的解決方法。
Google 檢索器分為三類:
類型 | 說明 | 反向 DNS 遮蓋 | IP 範圍 |
---|---|---|---|
Googlebot | Google 搜尋產品的主要檢索器,一律會遵循 robots.txt 規則。 | crawl-***-***-***-***.googlebot.com 或 geo-crawl-***-***-***-***.geo.googlebot.com |
googlebot.json |
特殊情況檢索器 | 會執行特定函式的檢索器 (例如 AdsBot),不一定會遵循 robots.txt 規則。 | rate-limited-proxy-***-***-***-***.google.com |
special-crawlers.json |
使用者觸發的擷取程式 |
由使用者觸發擷取動作的工具和產品函式。舉例來說,Google 網站驗證工具就是依據使用者的要求而行動。由於擷取動作是由使用者提出要求,因此擷取程式會忽略 robots.txt 規則。
Google 控管的擷取器是源自 user-triggered-fetchers-google.json 物件中的 IP,且會解析為 google.com 主機名稱。user-triggered-fetchers.json 物件中的 IP 會解析為 gae.googleusercontent.com 主機名稱。舉例來說,在 Google Cloud (GCP) 上執行的網站,其功能需要依據該網站的使用者要求擷取外部 RSS 動態消息,就會使用這些 IP。 |
***-***-***-***.gae.googleusercontent.com 或 google-proxy-***-***-***-***.google.com
|
user-triggered-fetchers.json 和 user-triggered-fetchers-google.json |
驗證 Google 檢索器的方式有兩種:
- 手動:適用於一次性查詢,會使用指令列工具。在大多數情況下,這個方法就夠用了。
- 自動:適用於大規模查詢,會使用自動解決方案來比對檢索器的 IP 位址,檢查是否符合已發布的 Googlebot IP 位址清單。
使用指令列工具
-
找出記錄中存取伺服器的 IP 位址,使用
host
指令執行反向 DNS 查詢。 - 確認網域名稱是否為
googlebot.com
、google.com
或googleusercontent.com
。 -
針對您在步驟 1 擷取到的網域名稱,使用
host
指令執行正向 DNS 查詢。 - 確認查詢結果是否為本來記錄中存取伺服器的 IP 位址。
範例 1:
host 66.249.66.1
1.66.249.66.in-addr.arpa domain name pointer crawl-66-249-66-1.googlebot.com.host crawl-66-249-66-1.googlebot.com
crawl-66-249-66-1.googlebot.com has address 66.249.66.1
範例 2:
host 35.247.243.240
240.243.247.35.in-addr.arpa domain name pointer geo-crawl-35-247-243-240.geo.googlebot.com.host geo-crawl-35-247-243-240.geo.googlebot.com
geo-crawl-35-247-243-240.geo.googlebot.com has address 35.247.243.240
範例 3:
host 66.249.90.77
77.90.249.66.in-addr.arpa domain name pointer rate-limited-proxy-66-249-90-77.google.com.host rate-limited-proxy-66-249-90-77.google.com
rate-limited-proxy-66-249-90-77.google.com has address 66.249.90.77
使用自動解決方案
或者,您也可以比對檢索器的 IP 位址和 Google 檢索器與擷取程式的 IP 範圍,依照 IP 位址來辨別是否真的是 Googlebot。
針對其他可能存取網站的 Google IP 位址 (例如來自 Apps Script),請將進行存取的 IP 位址與一般 Google IP 位址清單進行比對。請注意,JSON 檔案中的 IP 位址會以 CIDR 格式表示。