隨著网際网络的快速发展,搜尋引擎已成为人们获取信息的核心工具。作为全球領先的搜尋引擎,Google 透過多種检索器(Crawler,又稱爬蟲)来爬取网頁、索引內容並为其眾多產品与服務提供支持。
这些检索器不僅限於大家熟知的 Googlebot,還包括針对图片、新聞、影片、广告等特定用途的爬蟲。为了让网站管理员(站長)更好地管理这些爬蟲的存取行为,並确保网站安全,了解 Google 检索器的运作方式及其 IP 范圍至关重要。
本文將詳細介紹 Google 常見检索器的功能、IP 范圍的获取与验证方法,以及如何设定网站规则以有效管理这些爬蟲。
一、Google 检索器概述
Google 检索器是一種自动化程序,負責訪問网頁、收集資料並將其索引至 Google 的数据库,以支持搜尋引擎、广告系统及其他服務。Googlebot 是最知名的检索器,負責为 Google 搜尋引擎建立网頁索引。然而,Google 還有其他专用爬蟲,針对不同產品執行特定任務,例如图片搜尋、Google 新聞、影片索引及广告检查等。
这些检索器通常透過特定的 User-Agent 标头来标識自己,网站服务器可以根据这些标头識別爬蟲类型並決定是否允許其存取。此外,Google 的爬蟲使用来自其自治系统號碼(ASN:AS15169)的 IP 位址,这使得站長可以透過 IP 范圍来管理爬蟲行为。
二、Google 检索器的 IP 范圍
Google 的检索器使用特定的 IP 范圍进行网頁爬取,这些 IP 范圍主要屬於 Google 的 AS15169。需要注意的是,这些 IP 范圍可能会隨著时间变动,因此站長应定期检查以确保存取规则的正确性。
1. 如何获取最新的 Google 检索器 IP 范圍?
Google 提供了一个官方的 JSON 格式清单,包含所有检索器的最新 IP 范圍。站長可以透過以下步驟获取資料:
-
訪問官方googlebot.json 下载 JSON 文件。
-
解析 JSON 內容:JSON 文件包含 Googlebot 及其他爬蟲的 IPv4 和 IPv6 范圍。范例結構如下:
{ “syncToken”: “1699574526355”, “creationTime”: “2023-11-09T14:42:06.355Z”, “prefixes”: [ { “ipv4Prefix”: “64.233.160.0/19” }, { “ipv4Prefix”: “66.249.64.0/19” }, { “ipv6Prefix”: “2001:4860:4801::/48” } ] }
- syncToken:用於追蹤清单的更新版本。
- creationTime:清单的生成时间。
- prefixes:列出 IPv4 和 IPv6 的范圍。
站長可以定期下载並解析此文件,將最新的 IP 范圍应用於防火牆或存取规则中。
2. 动态更新与自动化
由於 IP 范圍可能不定期变动,手动更新可能会增加管理負擔。为此,站長可以开发腳本来自动化以下流程:
- 定期从 Google 的 JSON 网址下载資料。
- 解析 JSON 並提取最新的 IP 范圍。
- 更新防火牆或服务器规则以反映新的 IP 清单。
例如,使用 Python 的 requests 套件可以輕鬆实现这一流程:
import requests import json
url = “https://developers.google.com/search/apis/ipranges/googlebot.json” response = requests.get(url) ip_ranges = json.loads(response.text) for prefix in ip_ranges[“prefixes”]: print(prefix.get(“ipv4Prefix”, prefix.get(“ipv6Prefix”)))
三、Google 產品常見检索器
Google 的检索器針对不同產品和服務进行专门化设计,每種爬蟲都有特定的 User-Agent 标头和用途。以下是常見的 Google 检索器及其功能:
爬蟲名稱User-Agent 标头用途GooglebotGooglebot为 Google 搜尋引擎索引网頁內容Googlebot-ImageGooglebot-Image抓取图片以支持 Google 图片搜尋Googlebot-NewsGooglebot-News为 Google 新聞服務索引新聞內容Googlebot-VideoGooglebot-Video抓取影片內容以支持 Google 影片搜尋AdsBot-GoogleAdsBot-Google检查 Google Ads 广告的目标网頁品质Google-AdsenseMediapartners-Google为 AdSense 分析网頁內容Google-FaviconGooglebot-Favicon抓取网站的 Favicon 图标Google-AMPHTMLGoogle-AMPHTML检索 AMP(加速行动頁面)內容
这些爬蟲的行为和存取頻率可能有所不同。例如,Googlebot 通常会頻繁爬取网站的主要內容,而 Google-Favicon 僅在需要更新网站图标时訪問。
四、验证 Google 爬蟲的真伪
由於惡意程序可能伪裝成 Googlebot,站長需要验证訪客 IP 是否真正来自 Google。Google 推薦使用 DNS 反查(Reverse DNS Lookup) 来确认爬蟲的真伪。以下是具体步驟:
1. 取得訪客 IP
假设网站日誌顯示一个 IP 位址(例如 66.249.66.1)正在訪問网站。
2. 執行 DNS 反查
使用終端机或指令列工具執行反查:
nslookup 66.249.66.1
预期結果应返回类似以下內容:
Name: crawl-66-249-66-1.googlebot.com Address: 66.249.66.1
如果反查結果的网域名稱包含 .googlebot.com 或 .google.com,则該 IP 很可能来自 Google。
3. 執行正查以防止 DNS 伪造
为确保結果可靠,进一步執行正查以确认网域名稱是否对应原始 IP:
nslookup crawl-66-249-66-1.googlebot.com
如果正查返回的 IP 与原始 IP(66.249.66.1)一致,则可确认該 IP 为真实的 Google 爬蟲。
4. 自动化验证
对於高流量的网站,手动验证每个 IP 可能不切实際。站長可以使用程序自动執行 DNS 反查和正查,例如:
import socket
ip = “66.249.66.1”
反查
hostname = socket.gethostbyaddr(ip)[0] if “googlebot.com” in hostname or “google.com” in hostname: # 正查 resolved_ip = socket.gethostbyname(hostname) if resolved_ip == ip: print(f”{ip} 是真实的 Google 爬蟲”) else: print(f”{ip} 可能被伪造”) else: print(f”{ip} 不是 Google 爬蟲”)
五、如何管理 Google 爬蟲的存取?
为了优化网站效能、保护敏感資料或控制爬蟲行为,站長可以透過以下方式管理 Google 爬蟲:
1. 使用 robots.txt 限制爬蟲行为
robots.txt 是位於网站根目錄的文件,用於指示爬蟲哪些頁面可以存取。例如,若希望 Googlebot 只爬取公开內容而避免訪問私人目錄,可以设定如下:
User-agent: Googlebot Disallow: /private/ Allow: /public/
这將禁止 Googlebot 訪問 /private/ 目錄,但允許其爬取 /public/ 目錄。若要对所有 Google 爬蟲应用相同规则,可使用通配符:
User-agent: * Disallow: /private/
2. 设定防火牆规则
防火牆可以用於限制特定 IP 范圍的存取,确保只有 Google 的爬蟲可以訪問网站資源。以下是一些常見的防火牆设定方式:
Cloudflare:在 Cloudflare 的「防火牆规则」中,创建一條规则,僅允許来自 AS15169 的 IP 存取特定資源。例如:
Field: ASN Operator: equals Value: AS15169 Action: Allow
iptables(Linux 服务器):使用 iptables 设定允許特定 IP 范圍的规则:
iptables -A INPUT -s 66.249.64.0/19 -j ACCEPT iptables -A INPUT -s 64.233.160.0/19 -j ACCEPT iptables -A INPUT -j DROP
上述规则允許来自指定 Google IP 范圍的流量,並拒絕其他来源的流量。
3. 限制爬蟲頻率
過高的爬蟲頻率可能导致服务器負載過重。Google 允許站長透過 Google Search Console 調整 Googlebot 的爬取速率:
- 登入 Google Search Console。
- 選擇「设定」>「爬取速率设定」。
- 調整爬取頻率(僅在必要时使用,因为過低的頻率可能影響索引效率)。
六、常見問题与注意事項
为什麼需要定期更新 IP 范圍?
Google 的 IP 范圍可能因基礎设施变更而更新。若站長使用過时的 IP 清单,可能会錯誤地封鎖合法爬蟲或允許伪造爬蟲存取。
如何处理假冒 Googlebot 的惡意爬蟲?
除了 DNS 反查外,站長還可以監控異常的爬蟲行为(例如過高的請求頻率或訪問受限区域),並使用防火牆或 WAF(Web 应用防火牆)封鎖可疑 IP。
Googlebot 是否会遵守 robots.txt?
合法的 Googlebot 会嚴格遵守 robots.txt 的指令,但伪造爬蟲可能無視这些规则,因此 IP 验证和防火牆设定尤为重要。
IPv6 范圍是否需要特別注意?
隨著 IPv6 的普及,Google 的爬蟲越来越多使用 IPv6 位址。站長应确保防火牆和服务器规则同时支持 IPv4 和 IPv6。
七、結论
Google 的检索器是其搜尋引擎和相关產品的核心组成部分,透過特定的 IP 范圍和 User-Agent 标头執行网頁爬取与內容分析。为了有效管理这些爬蟲,站長需要:
- 定期从 Google 官方 JSON 清单获取最新的 IP 范圍。
- 使用 DNS 反查验证爬蟲的真伪,防止假冒爬蟲的干擾。
- 透過 robots.txt 和防火牆规则精确控制爬蟲的存取行为。
这些措施不僅能确保网站內容被正确索引,還能提升网站的安全性和效能。隨著 Google 基礎设施的不斷演进,站長应保持对爬蟲技术的关注,並靈活調整管理策略,以 站長工具,以適应未来的挑戰。
參考資料
- Google 官方文件:Verifying Googlebot
- Google Search Console 说明
- Cloudflare 防火牆规则设定指南
以实际行动支持独立观点,与我们一同走得更远
每一篇条理清晰的分析、每一次不随波逐流的观察,背后都是对真实与品质的坚持。我们拒绝内容农场与算法流量绑架,坚持自由独立的客观发声。
维持高品质的原创写作与独立运营,需要持续的实质力量。您可以选择一次性赞助或每月定期支持,通过 Google 安全结账,与我们一同守护这份深刻与清醒。
由 Google 安全处理付款 · 可随时在 Google 账户管理或取消




留言板