封面

Google Search Central · 25:07 · 发布 2026-03-12 · 1万次观看(截至抓取) · 观看原视频

主旨

Google 的 Gary Illyes 与 Martin Splitt 拆解真实的抓取基础设施:所谓 Googlebot 不是一个可执行程序,而是一套中央抓取服务(SaaS)的众多客户端之一。

核心论点

  1. “Googlebot” 是历史遗留的误称——它不是程序,而是某个团队调用中央抓取服务时用的名字/配置。(→ 详解1)
  2. 抓取是一套内部 SaaS,各产品团队通过 API 调用发起抓取,而非各自跑爬虫。(→ 详解2)
  3. crawler 与 fetcher 是两种客户端:前者批量、持续抓取 URL 流;后者单个 URL、且必须有人在等响应。(→ 详解3)
  4. 抓取受阈值监控与文档化门槛约束,只有大流量爬虫才会被记录到公开文档。(→ 详解4)
  5. 别做地理封锁:Google 默认从美国(加州)IP 抓取,geo-block 会让你抓不到,跨区抓取是罕见特例、不可依赖。(→ 详解5)
  6. “不破坏互联网” 由基础设施层强制:自动节流、503 减速、默认 15MB(Search 覆写为 2MB)截断,单个团队无法绕过。(→ 详解6)

知识点详解

1. Googlebot 是名字,不是可执行程序 01:22

外界常把 Googlebot 说成一个几乎有生命的东西,或至少是一个具体程序——好像有个 Googlebot.exe 双击就能启动。Gary 直接否定:没有这样的程序。

之所以叫 Googlebot 名字误用,是历史遗留。2000 年代初 Google 只有一个产品、一个爬虫,这个叫法当时准确;后来产品越来越多、爬虫越来越多,“Googlebot” 这个名字却粘住了,被拿来泛指整套抓取系统,而这是”极不准确”的。

准确的说法是:Googlebot 只是与中央抓取基础设施通信的众多东西之一,是”其中一个团队给自己发往中央服务的抓取请求所用的名字”。

2. 抓取基础设施是一套内部 SaaS 02:39

Gary 用一个化名”Jack”来指代这套没有对外名字的内部系统:它本质上是 抓取基础设施即服务(software as a service)。它暴露 API 端点,任何团队想从互联网抓东西,就调用这些端点发起 fetch。

调用时可以带参数:愿意等多久拿到字节、用什么 user agent、遵守哪个 robots.txt product token 等。大多数参数有默认值,可以省略,让调用更简单。团队相当于把”要抓哪些 URL”这份配置外包给这个服务,服务返回 HTTP 响应(头 + 正文 + 元数据)。

这套东西从 Google 诞生起就存在。[最早的版本 04:32](https://youtu.be/JpweMBnpS4Q?t=272) 不过是跑在某工程师工作站上的一个 wget(1998/99 年);随着产品变多,才被重新架构成可供各团队调用的服务,但核心职责始终没变——“在不破坏互联网的前提下,按站点限制允许的范围去抓东西”。

3. crawler 与 fetcher:两种抓取客户端 07:36

同一套基础设施上跑着两类客户端。crawler vs fetcher 最简单的区分:[crawler 批量工作 07:36](https://youtu.be/JpweMBnpS4Q?t=456),给它一条持续的 URL 流,它为你的团队不停地抓;[fetcher 按单 URL 工作 07:46](https://youtu.be/JpweMBnpS4Q?t=466),你给一个 URL 它只抓这一个,不能塞一串。

还有一条内部策略:[fetcher 必须”用户控制” 08:23](https://youtu.be/JpweMBnpS4Q?t=503)——另一端得有人正在等这个响应(点了按钮等结果)。crawler 则是”有空就抓”的自动流程:系统消费响应并自动处理,无人实时等待。

两者用的基本是同一套基础设施,只是任务方式不同;此外抓取所用的 IP 段也不一样。这解释了为什么”是人点按钮等结果”和”自动系统随时消费”会被区别对待。

4. 什么样的爬虫才会被写进文档 10:02

Google 内部有几十上百个具名爬虫和 fetcher,不可能全塞进 developers.google.com/crawlers 一个 HTML 页,那点版面”其实很值钱”。于是划了条线:太小(抓得不多)的就不记录,只文档化主要爬虫、特殊爬虫和 fetcher。

触发文档化的机制是量化的:Gary 写了些内部 SQL 查询做告警,当某爬虫/fetcher [每天抓取次数越过阈值 10:02](https://youtu.be/JpweMBnpS4Q?t=602),内部就自动开一个 bug/issue,提示”城里来了个大爬虫,也许该记录一下”,然后有人去核查它在干什么、为什么。

这套监控还会兜住事故:曾有站点投诉某爬虫,团队坚称”两年前就下线了不可能”,查日志发现是项目 sunset 时忘关的一个残留 job 还在无意义地抓。如今这类事很罕见,因为有监控确保每次抓取”确实有内部用途”,不是乱抓。

5. 地理封锁 = 抓不到,别指望特例 14:14

Google 一般没有处理 地理封锁抓取失败 的基础设施。典型出口 IP(如 66.129 开头)归属国是美国,细看是加州山景城——文档里也写明[通常从美国抓取 14:14](https://youtu.be/JpweMBnpS4Q?t=854)。你若做 geo-block,爬虫拿的是加州 IP,大概率抓不到:要么 HTTP 403 之类错误,要么防火墙直接丢连接、连回声都没有。

Google 的应对是:在自有 IP 池里找归属地为其他国家的 IP,租来给抓取用。但这些出口点不是为高并发抓取设计的,承载不了整个国家的抓取量,所以分配得非常吝啬,只有当内容”效用极高”(足够多人搜、且只有某德国站点有该内容)时才会特地从当地抓。

结论毫不含糊:[依赖这条特例是”非常非常非常糟糕的主意” 16:40](https://youtu.be/JpweMBnpS4Q?t=1000)。想被可靠抓取,就别对 Googlebot 做地理封锁。

6. “不破坏互联网”由基础设施强制:节流与大小上限 19:42

“不破坏互联网”约束 被固化在基础设施层,单个团队控制不了——这正是这套集中式基础设施存在的理由之一:强制所有团队别把网站打垮。原则上你在数据中心开个 socket 用 10Gbps 猛冲某站,对方主机会受不了;所以规定:除非通过抓取基础设施的端点出口,否则不能直接从数据中心服务器 egress。

基础设施会看响应自适应减速:当某站在重复抓取下连接时间越来越长,就 throttle;[若返回 503 节流 19:42](https://youtu.be/JpweMBnpS4Q?t=1182)(服务器过载信号)就减得更狠。而 403/404 这类只是客户端错误,不影响抓取速率。

另一道保护是 15MB 抓取截断上限:[臭名昭著的默认 15MB 20:14](https://youtu.be/JpweMBnpS4Q?t=1214) 由基础设施设定,抓到 15MB 就停止收字节。团队可覆写:[Google Search 把上限压到 2MB 21:06](https://youtu.be/JpweMBnpS4Q?t=1266)(PDF、图片等按类型放宽)。含义是,配置能按请求级别变化,连”Googlebot”内部抓图片和抓网页的上限都可以不同。

另外还有激进的内部缓存:抓取缓存复用——若 Google News 10 秒前刚抓过某内容,web search 的爬虫就不会再抓一遍,直接给它那份副本(但不同项目对复用有权限策略,如 AdWords 不能复用为 web search 抓的内容)。

可执行步骤

  • 检查站点是否对来自美国/加州 IP 段的请求做了地理封锁或区域防火墙;若想被 Google 抓取,解除对其出口 IP 的封锁。
  • 别把关键内容压在单个超大页面里:超过默认 15MB(Search 实际 2MB)的部分抓不到,重要内容拆成独立小页面。
  • 确认服务器过载时返回 503(而非 200/403 硬扛),让 Google 能据此自动减速,而不是把你打垮或误判。
  • 用 robots.txt product token 精确针对具体爬虫做规则,而不是笼统地想”挡住 Googlebot”——它只是众多客户端之一。
  • 排查自家/供应商是否有下线项目遗留的抓取 job 在空转,反向印证:自动化抓取任务要在项目 sunset 时确实关停。

关联

  • GEO真的存在吗?一场SEO辩论白热化 · crawler vs fetcher:印证——AI爬虫’引用才抓取’的实测行为高度贴近fetcher模式而非持续维护索引的crawler模式

一手来源与延伸

  • 视频点名的 Google 爬虫公开文档:developers.google.com/crawlers(仅记录主要爬虫、特殊爬虫与 fetcher)。

术语

  • crawler(爬虫):批量、持续消费 URL 流为团队抓取的客户端。
  • fetcher(抓取器):单 URL、需另一端有人等待响应的抓取客户端。
  • SaaS / software as a service:此处指 Google 内部把抓取能力做成可 API 调用的集中式服务。
  • product token:robots.txt 中标识具体爬虫、用于匹配规则的名字。
  • egress point / 出口点:抓取请求实际发出的 IP/网络出口,决定归属国与地理可达性。
  • truncation limit / 截断上限:单次抓取接收字节的上限,超过即停(默认 15MB)。
  • 503:HTTP 状态码,通常意味服务器过载,是 Google 主动减速的信号。

金句

“calling it Googlebot, that’s a misnomer” → 把整套抓取系统叫 Googlebot 是历史误称;它只是众多客户端之一,理解这点才不会把抓取当成铁板一块。

“It’s a very, very, very bad idea to rely on this.” → 指望 Google 破例从你所在国抓取被地理封锁的内容,是极坏的赌注;可靠被抓的唯一办法是别封锁。

价值定位

  • 适合谁:做技术 SEO、想搞清”Googlebot 到底是什么”的独立站/站点运维者,尤其被地理封锁、CDN 区域策略、大页面抓取问题困扰的人。
  • 解决什么:把”抓取”从一个模糊的黑箱,拆成可操作的心智模型——按客户端/参数/基础设施三层理解,从而知道封锁 IP、超大页面、无 503 过载信号各自会导致什么后果。
  • 认知 vs 实操:以认知为主(理解格局),但直接推导出几条硬操作(别 geo-block、控制页面大小、正确返回 503)。
  • 2025-06-13-2026 无 SEO 依赖的创业策略 等 AEO/GEO 视角笔记互补:那些讲”被 AI 引用”,本片讲更底层的”能否被抓到”,是被引用的前提。本片独有:来自 Google 工程师的第一手抓取基础设施内部机制。

自检问题

  1. 为什么说 “Googlebot” 是一个误称(misnomer)?它到底指什么? 答案:因为 Googlebot 不是一个可执行程序,而是某个团队调用中央抓取 SaaS 时所用的名字/客户端之一;历史上 Google 只有一个爬虫时这么叫准确,后来爬虫变多名字却粘住,被误当成整套系统。锚见详解1。01:22
  2. crawler 和 fetcher 有什么本质区别? 答案:crawler 批量、持续消费 URL 流自动抓取;fetcher 一次只抓单个 URL,且策略上要求另一端有人在等响应(用户控制)。锚见详解3。07:36
  3. 如果对来自美国的 Google IP 做地理封锁,会发生什么?能指望它换国家来抓吗? 答案:大概率抓不到(403 或连接被丢弃),因为 Google 默认从美国/加州 IP 抓取;跨区租 IP 是承载力有限的罕见特例、只对超高效用内容,依赖它是”非常糟糕的主意”。锚见详解5。14:14
  4. Google Search 的默认抓取大小上限是多少?这对页面结构有什么启示? 答案:基础设施默认 15MB,Google Search 覆写为 2MB(PDF、图片等按类型放宽);启示是别把重要内容压进超大单页,拆成独立小页面才能被完整抓取。锚见详解6。20:14
  5. 服务器返回 503 与 403/404,对 Google 抓取速率的影响有何不同? 答案:503 被视作服务器过载信号,基础设施会据此进一步减速(throttle);403/404 只是客户端错误,不影响抓取速率。锚见详解6。19:42

💬 热门评论 top-9 主 + 7 回(抓取 2026-07-07)

[2] @Aman-u4d2g:我索引网站时遇到困难。 👍 2 [4] @alixyakir8366:我的网站遇到重定向问题 👍 5 [5] @andrewbryant7986:你们能解决一个争论吗?是否存在单独的AI爬虫?有些供应商在向公司销售AI SEO。在我看来,那只是披着新外衣的基础SEO。 👍 8 ——其他 3 条:感谢/夸赞([3]@Bobyslav、[7]@pandraus、[8]@OjaOjak);3 条 spam 已略

英文原文[1] @Aman-u4d2g:Why don't you give us the feature to add site to Google. 👍 5
[2] @Aman-u4d2g:I am having hard times indexing the site. 👍 2
[3] @Bobyslav:I love Gary's vibe! It's like my aunt's cooking - delightfully toxic :) Next topic please: HTTP Caching 👍 20
  ↪ @ReneAceituno-x3i:2:09 👍 3
  ↪ @jamiehaley6632:0:36
[4] @alixyakir8366:I m getting redirect issues on my website 👍 5
[5] @andrewbryant7986:Can you settle an argument? Is there a separate AI crawler? There are vendors out there selling AI SEO to companies. From what I see, it's basic SEO wrapped in a new title. 👍 8
[6] @BgHhf-c7g8c:0:52
[7] @pandraus:Jan and Adam (IFYKYK) are going to dissect this.
[8] @OjaOjak:Inside Googlebot 👍 2
  ↪ @MasAden-n9u:1:13 👍 1
  ↪ @OjaOjak:@Ojaojak '1
  ↪ @OjaOjak:❤😂🎉😢😮😅😊
  ↪ @DavidBruce-dy4fe:0:16
  ↪ @AlfonsiArizajimenez:1:35
[9] @OjaOjak:Search off the Record