Googlebot
Googlebot 是 Google 的两类网页抓取工具的通用名称:
- Googlebot 智能手机版:模拟移动设备用户的移动版抓取工具。
- Googlebot 桌面版:模拟桌面设备用户的桌面版抓取工具。
您可以通过查看请求中的 HTTP user-agent
请求标头来确定 Googlebot 的子类型。不过,这两类抓取工具都遵循 robots.txt 中的同一产品令牌(用户代理令牌),因此您无法通过使用 robots.txt 有选择地指定 Googlebot 智能手机版或 Googlebot 桌面版。
对于大多数网站中的内容,Google 主要将移动版编入索引。因此,多数 Googlebot 抓取请求都会通过移动版抓取工具发出,少数请求会通过桌面版抓取工具发出。
Googlebot 如何访问您的网站
对于大多数网站,Googlebot 的平均访问频率不会高于几秒钟一次。不过,由于存在延迟,在一小段时间内,此频率可能会略高一些。
Googlebot 可在数千台计算机上同时运行,以提高性能并随着网络规模的扩大而扩展其作用范围。此外,为了降低占用的带宽,我们会在多台计算机上运行多个抓取工具,而这些计算机就位于它们可能会抓取的网站附近。因此,您的日志可能会显示来自多个 IP 地址的访问,且都使用了 Googlebot 用户代理。我们的目标是,每次访问您的网站时都尽可能多地抓取网页,但不会过多地占用服务器的带宽。如果您的网站跟不上 Google 的抓取请求频率,您可以减慢抓取速度。
Googlebot 主要会从美国境内的 IP 地址进行抓取。如果 Googlebot 检测到某个网站屏蔽了来自美国的请求,则可能会尝试从位于其他国家/地区的 IP 地址进行抓取。Googlebot 使用的 IP 地址范围列表以 JSON 格式提供。
Googlebot 会通过 HTTP/1.1 抓取内容;如果相应网站支持,还能通过 HTTP/2 抓取内容。无论使用哪个版本的协议抓取网站,都不会在排名优势方面带来影响;不过,通过 HTTP/2 抓取可以为您的网站和 Googlebot 节省计算资源(例如 CPU、RAM)。
如需禁止通过 HTTP/2 抓取,请对托管您网站的服务器做出以下指示:当 Googlebot 尝试通过 HTTP/2 抓取您的网站时,返回 421
HTTP 状态代码。如果这种方法不可行,您可以向 Googlebot 团队发送消息(但这只是临时解决方案)。
Googlebot 可以抓取 HTML 文件或受支持的文本型文件中的前 15MB 内容。HTML 中引用的每个资源(例如 CSS 和 JavaScript)都是单独抓取的,并且每次抓取都受到相同的文件大小限制。在抓取完该文件的前 15MB 内容后,Googlebot 会停止抓取,并且只会发送前 15MB 的文件内容以考虑编入索引。文件大小上限适用于未压缩的数据。其他 Google 抓取工具(例如 Googlebot Video 和 Googlebot Image)可能有不同的限制。
从美国的 IP 地址抓取内容时,Googlebot 的时区为太平洋时间。
禁止 Googlebot 访问您的网站
对于网站,要想通过不发布指向它的链接来达到保密目的几乎是不可能的。例如,只要有人通过您的“私密”网站上的链接访问了另一网站,您的“私密”网址就可能会出现在引荐来源网址标记中,并可能会被所访问的网站存储和发布在其引荐来源网址日志中。
如果您想阻止 Googlebot 抓取您网站上的内容,可以采用多种方法。请注意,抓取和编入索引是有区别的;禁止 Googlebot 抓取某个网页并不会阻止该网页显示在搜索结果中:
- 要禁止 Googlebot 抓取网页吗?请使用 robots.txt 文件。
- 不希望 Google 将某个网页编入索引?请使用
noindex
。 - 完全阻止抓取工具或用户访问某个网页?请使用其他方法,例如密码保护。
验证 Googlebot
在决定禁止 Googlebot 访问您的内容之前,请注意 Googlebot 所用的 HTTP user-agent
请求标头经常会被其他抓取工具假冒。因此,请务必验证有问题的请求是否确实来自 Google。若要验证请求是否确实来自 Googlebot,最佳方法就是对请求的来源 IP 地址进行 DNS 反向查找,或将来源 IP 地址与 Googlebot IP 地址范围进行比对。