- Published on
Google 推出 google.com/goto 反爬虫更新:搜索结果链接重定向机制详解
- Authors
- Name
- 1e1a
- autom.dev
背景与变化概述
2026年8月下旬,Google 在搜索结果的HTML中开始大规模引入一种新的链接格式:google.com/goto?url=...。过去,当用户查看页面源码时,每个有机搜索结果都直接暴露目标网站的URL(例如 https://example.com/page)。而现在,Google 将链接改写为指向自身域名下的 /goto 路径,并通过一个经过自定义编码的 url 参数来传递引用信息。点击该链接后,Google 会通过服务器端重定向(返回 HTTP 302 或类似状态码)将用户引导至实际的页面。值得注意的是,这种变化在用户登出或使用隐私模式浏览时表现得尤为一致,意味着它很可能已被广泛部署,而不再局限于小规模实验。
新旧格式对比:从 readable 到 opaque
在 google.com/goto 出现之前,Google 已经长期使用 google.com/url?q=[URL编码的目标地址] 作为跳转中间页。那个旧格式的主要特点是:目标URL直接以明文形式出现在查询字符串 q 中,任何解析 SERP 的程序都可以直接从 HTML 中提取目标链接,无需额外请求。而新格式 /goto 则完全不同:
- 搜索结果中的
href属性直接指向/goto,而不是目标 URL。 url参数的值并非传统的 base64 编码或 URL 编码后的目标地址,而是一种 Google 自定义的、类似不透明引用的编码。它看起来像是 Google 内部索引记录的一个引用标识。- 目标 URL 无法通过离线方式解码获得。唯一获取真实目的地的方法是对/goto链接发起HEAD请求(不跟随重定向),然后读取响应头中的Location字段。
有趣的是,Google 仍然需要将目的地的部分信息(如网站域名、favicon 图标、摘要文字)展示在 SERP 上,因此 HTML 中实际上仍会包含目标 URL 的副本。但这与从 Location 头中读取的是两条不同的路径——对爬虫而言,利用 HTML 中残留的明文信息可能不完整或不可靠,而 HEAD 请求才是获取完整目标的标准方式。
获取真实URL的技术方法
正如 Autom 团队在配套文章《google.com/goto: read Location with HEAD》中详细说明的,解析 /goto 链接的正确流程是:
- 从 SERP 的 HTML 中提取出类似
https://www.google.com/goto?url=...的链接。 - 对该链接发起
HEAD请求(使用 HTTP HEAD 方法,不下载响应体)。 - 检查响应状态码。Google 会返回一个重定向状态(通常是 302 或 307),并在
Location响应头中写入最终的实际目标 URL。 - 读取
Location头的值。注意:不要跟随重定向,否则会直接下载目标页面内容,既浪费带宽又增加了被检测的风险。
这种方法的成本远高于直接解析 HTML 中的字符串:每一次解析都需要发起一次独立的网络请求到 Google,而且 Google 可以轻松地根据请求模式(如短时间内大量 HEAD 请求)识别出自动化的爬虫行为。
Google 的动机:反爬虫策略的进一步升级
这项改变的意图非常明确——对抗大规模的 SERP 数据采集,尤其是来自 AI 爬虫和 SEO 工具的批量提取。Google 希望保护其搜索结果数据不被竞争对手、模型训练者或非法爬虫轻易窃取。通过将目标 URL 隐藏在一次必须回访 Google 服务器才能获取的重定向之后,Google 实现了以下效果:
- 增加爬虫的成本:以前只需一次请求即可获得成百上千个链接,现在每个链接都需要额外的一次
HEAD请求,网络开销和延迟显著增加。 - 暴露爬行模式:Google 可以监控到同一客户端在短时间内连续解析大量
/goto链接,从而识别并封禁爬虫 IP。 - 提高破解难度:自定义编码使得直接解码不可能,强制爬虫只能跟随
HEAD请求,进一步使爬虫行为更易被检测。
这一措施与 Google 之前的一系列反爬虫行动一脉相承:例如移除 &num=100 参数(使每页返回更多结果变得困难)、收紧 BotGuard/SearchGuard 机制、以及最近对 SerpAPI 提起诉讼(暴露了名为 SearchGuard 的内部反爬系统)。Google 正在系统性地提高“低劣” SERP 爬虫的准入门槛。
Autom 的应对与API更新
作为提供 Google 搜索 API 的服务商,Autom 团队早在几个月前就注意到了 /goto 链接的存在,但当时它们仅出现在极少比例的 SERP 中,难以在不影响其他用户的情况下贸然修改逻辑。到了 2026 年 8 月底,该模式对登出和隐私会话变得极其一致,Autom 正式完成了对其管道(pipeline)的更新。
具体来说,Autom 在其 Google 搜索 API 后端中集成了 HEAD 请求解析 /goto 链接的流程:对于每个搜索结果,Autom 会自动发起 HEAD 请求获取 Location,然后将最终的目标 URL 填入 API 响应的结构化字段中。客户无需修改集成代码,即可继续获得可用的目的 URL。Autom 表示会持续监控 Google 的部署变化,并在重定向格式再次调整时及时跟进。
总结与展望
google.com/goto 是 Google 反爬虫策略的一个重要里程碑。它从根本上改变了从 SERP 获取目标链接的方式——从被动解析到主动请求验证。对于依赖搜索引擎结果数据的开发者、研究人员和商业公司而言,这既带来了技术上的挑战(需要额外的请求处理),也提出了更高的合规要求。
未来,Google 可能会进一步模糊或移除 HTML 中残留的明文 URL 副本,使得仅靠解析页面无法获取目标。客户端可能需要更复杂的协商机制(如处理 JavaScript 生成的链接)或者采用更智能的请求调度来避免被识别。与此同时,搜索引擎结果 API 提供商(如 Autom)的价值将进一步凸显——它们能集中处理这些变化,让终端用户免于重复应对底层技术变迁。
在追求数据自主获取与遵守服务条款之间,寻找可持续的平衡点仍然是一个长期课题。
原标题:google.com/goto: Google's anti-scraping update。 HN 原始发布时间:2026年9月12日星期六。当前记录为 671 分、536 条评论。