谷歌搜索秘籍泄漏:揭秘内部工程文档 [译]

探索你一直渴望了解的谷歌算法的秘密。

谷歌,如果你正在阅读这篇文章,那一切都已无法挽回。😉

好吧,让我们开始吧。谷歌搜索内容库 API 的内部文档不慎泄露。谷歌内部的微服务体系与谷歌云平台所提供的服务相似,其已废弃的文档 AI 仓库的内部文档不小心被公开到了客户端库的代码仓库中。该代码的文档也被外部的自动化文档服务记录下来。

根据变更历史,这一错误已在 5 月 7 日得到修正,但相关的自动化文档依然可以访问。为了避免潜在的法律责任,我不会在这里提供直接链接,但是因为该仓库中的所有代码都是根据Apache 2.0 许可发布的,任何人都可以自由地使用、修改并分发这些代码。

谷歌内部版本的已废弃文档 AI 仓库的文档截图,意外泄露了内容库的信息
谷歌内部版本的已废弃文档 AI 仓库的文档截图,意外泄露了内容库的信息

我已经审阅了 API 参考文档,并将其与过往的谷歌泄露事件以及美国司法部的反垄断证词进行了对比。我还结合了即将出版的《SEO 科学》(The Science of SEO) 中进行的广泛专利和白皮书研究。虽然我所审查的文档中没有谷歌评分算法的具体细节,但它提供了关于存储内容、链接和用户互动数据的丰富信息,以及关于这些数据如何被操作和保存的详尽描述,从而揭示了一系列的特征。

你可能会想把这些广泛地称为“排名因素 (ranking factors)”,但这样说并不精确。确实,很多因素都影响排名,但也有很多不影响。在这里,我将根据自己的广泛研究和这些年谷歌告诉或误导我们的信息,对一些我在初步审查这个庞大数据泄露后发现的最有趣的排名系统和特点进行解读。

虽然“说谎”这个词听起来很严厉,但在这里它是最准确的描述。我不完全责怪谷歌的公开代表保护公司的机密信息,但我确实不满他们试图贬低那些在营销、科技和新闻行业做出了可以验证的发现的人们。对未来的谷歌发言人的一个建议:有时候,最好的回答就是“我们无可奉告”。你的诚信至关重要。当出现像这样的信息泄露和像司法部审判那样的证词时,公众对你们未来的声明的信任将荡然无存。

注意事项

我们都清楚,总会有人试图质疑我基于这次泄露资料所作的分析和结论。他们可能会质疑这些发现的重要性,甚至说“这些我们早就知道了。”因此,让我们在探讨更多精彩内容之前,先明确一些可能的质疑。

  • 时间和背景受限 – 假日周末的时间限制使我只能投入约 12 小时来深入研究这些内容。在此,我非常感激那些匿名的朋友们,他们的见解帮助我迅速了解了情况。类似于我去年报道的 Yandex 泄露案,我没有一个完整的视角。对于 Yandex,我们分析了源代码但缺少背后的逻辑;而这次,我们掌握了一些功能和模块背后的逻辑,却没有源代码。请原谅我现在以较为非结构化的方式分享这些内容,等到我对这些材料有了更深入的理解后,我将提供更有条理的解读。
  • 无评分机制 – 我们不清楚各种特征在后续评分机制中的权重。我们不确定所有可用资源是否都被利用。我们知道某些功能已经过时。除非有明确的说明,我们无法知道具体的应用情况。我们不知道整个流程中的各个环节。现在我们了解了一系列名为排名系统的程序,这些大体符合 Google 的解释、SEO 观察到的现场排名情况及专利申请和信息检索的文献描述。这次泄露让我们对考虑中的内容有了更清晰的认识,这将指导我们在 SEO 中应重视和忽略什么。
  • 这可能是序列文章的开端 – 这篇文章是我对审查材料的初步尝试。随着我继续挖掘更多细节,我可能会发表更多后续文章。我预计这篇文章将激发 SEO 社区竞相解析这些文档,未来几个月我们将共同揭示和重新解读这些信息。
  • 这是最新信息 – 据我所知,这次泄露展示了截至 2024 年 3 月的 Google 搜索内容存储的当前活跃架构。根据提交历史,相关代码于 2024 年 3 月 27 日推出,直到 2024 年 5 月 7 日才被撤销。(预计 Google 的公关人员会否认这一点,但我们就不必过多纠结这个了。)

A screenshot of the repository commits with visual proof that the information was committed on May 7th 2024.
A screenshot of the repository commits with visual proof that the information was committed on May 7th 2024.

  • 相关性不等于因果关系 – 实际上,这一点在此处并不适用,但我还是想确保一切都考虑周全。

API 文档覆盖了 2,596 个模块,其中涉及多达 14,014 个特性,例如以下展示的这些:

API 文档的截图,展示文本内容:GoogleApi.ContentWarehouse.V1.Model.CompressedQualitySignals,这是一条含有被压缩且包含在 Mustang 和 TeraGoogle 中的各文档信号的信息。对于 TeraGoogle, 这些信息被包含在 perdocdata 中,意味着它们可以用于初步的评分过程。注意:在 TeraGoogle 中,这些数据被存储在有限的服务内存(Flash 存储)中,用于庞大数量的文档处理。接下来的 ID 为 43,属性包括:* ugcDiscussionEffortScore (类型:整数,默认值:无) - UGC 页面质量信号,数值放大一千倍后向下取整。* productReviewPPromotePage (类型:整数,默认值:无) - 产品评价页面的推广分数。* experimentalQstarDeltaSignal (类型:数字,默认值:无) - 此字段不在分片间传播,而是在服务时根据实验性 nsr 团队的数据进行填充。此字段的主要用途是供实验性 Q* 组件读取,以便快速实施新的 delta 组件测试(详见 go/oDayLEs)。* productReviewPDemoteSite (类型:整数,默认值:无) - 产品评论的降级/提升信号,数值放大一千倍后向下取整。* experimentalQstarSiteSignal (类型:数字,默认值:无) - 此字段不在分片间传播,而是在服务时根据实验性 nsr 团队的数据进行填充。此字段的主要用途是供实验性 Q* 组件读取,以便快速实施新的站点组件测试(详见 go/oDayLEs)。* exactMatchDomainDemotion (类型:整数,默认值:无) - 页面质量信号,来源于 proto QualityBoost 的字段转换,以节省索引空间。
API 文档的截图,展示文本内容:GoogleApi.ContentWarehouse.V1.Model.CompressedQualitySignals,这是一条含有被压缩且包含在 Mustang 和 TeraGoogle 中的各文档信号的信息。对于 TeraGoogle, 这些信息被包含在 perdocdata 中,意味着它们可以用于初步的评分过程。注意:在 TeraGoogle 中,这些数据被存储在有限的服务内存(Flash 存储)中,用于庞大数量的文档处理。接下来的 ID 为 43,属性包括:* ugcDiscussionEffortScore (类型:整数,默认值:无) - UGC 页面质量信号,数值放大一千倍后向下取整。* productReviewPPromotePage (类型:整数,默认值:无) - 产品评价页面的推广分数。* experimentalQstarDeltaSignal (类型:数字,默认值:无) - 此字段不在分片间传播,而是在服务时根据实验性 nsr 团队的数据进行填充。此字段的主要用途是供实验性 Q* 组件读取,以便快速实施新的 delta 组件测试(详见 go/oDayLEs)。* productReviewPDemoteSite (类型:整数,默认值:无) - 产品评论的降级/提升信号,数值放大一千倍后向下取整。* experimentalQstarSiteSignal (类型:数字,默认值:无) - 此字段不在分片间传播,而是在服务时根据实验性 nsr 团队的数据进行填充。此字段的主要用途是供实验性 Q* 组件读取,以便快速实施新的站点组件测试(详见 go/oDayLEs)。* exactMatchDomainDemotion (类型:整数,默认值:无) - 页面质量信号,来源于 proto QualityBoost 的字段转换,以节省索引空间。

这些模块关联到 YouTube、Assistant、Books、视频搜索、链接、网页文档、爬取架构、一个内部的日历系统,以及 People API 的组件。像 Yandex 一样,谷歌的系统依赖一个庞大的单一存储库(或称“monorepo”)运行,其服务器则在一个共享的环境中工作。这表示所有的代码都汇集于一处,任何网络中的机器都可能成为谷歌系统的一部分。

泄漏的文件详细描述了 API 的各个模块,并把它们按照摘要、类型、函数和属性进行分类。我们主要看到的是各种协议缓冲区(或 protobufs)的属性定义,这些定义通过排名系统进行访问,用以生成 SERPs(搜索引擎结果页面,即谷歌在用户查询后展示的结果)。

遗憾的是,许多摘要中引用了 Go 链接,这些链接是谷歌公司内网中的 URL,用以提供系统各个方面的更多细节。但若没有谷歌的正确登录凭证来访问这些页面(几乎肯定需要是搜索团队的现任成员),我们只能自行解读。

谷歌的 API 文档揭示了其不实之处

谷歌的代表为了控制 SEO 专家的行为,采取了误导性的表述来解释其系统的运作方式。我不愿意用“社会工程”来描述这种行为,因为这个词背负着复杂的历史。我们不如将其称为“操纵感知”。谷歌的公开声明可能并非有意撒谎,而是试图通过误导潜在的垃圾邮件发送者以及许多合法的 SEO 专家,从而混淆他们对影响搜索结果的理解。

以下是我基于谷歌员工的言论和文档中的事实,提供的一些观点,以供您判断:

“我们不认同域名权威的概念”

谷歌的发言人多次声称他们不采用“域名权威”。我一直认为这是一种通过遗漏和模糊表述的误导。

当他们说不使用域名权威时,他们的意思可能是他们不使用 Moz 定义的“域名权威”这一指标。他们也可能指的是不衡量与网站相关的特定主题的权威性或重要性。这种通过语义游戏引起的混淆使他们可以避免直接回答是否计算或使用整站权威度指标的问题。

谷歌搜索团队的分析师加里·伊莱斯(Gary Ilyes)多次重申这一点。

图 1: 该图像是一次 Twitter 对话的截图。对话包括三条推文,讨论了回链对域名权威的影响。推文内容如下:2016 年 10 月 27 日,//Andrew Rodgers (@AndyNRodgers) 发推问:“@JohnMu,一个指向 jpg URL 的回链在算法中的影响是否与静态 URL 相同?@methode”参与度:1 赞,2 转发;他在回复中提问:“对于整体域名权威而言,一个指向 jpg URL 的回链是否和指向网页 URL 的一样有影响?”参与度:1 赞;Gary Illyes (@methode) 回复说:“我们真的没有‘整体域名权威’。不过,带锚文本的文本链接更佳。”时间戳显示为 2016 年 10 月 27 日上午 8:34,地点为印尼 Kebayoran Lama。

加里并不是孤例。约翰·穆勒,一个专注于协调 Google 搜索关系的搜索倡导者,在这段视频中明确表示:“我们没有网站权威分数。”

实际上,在 Google 的压缩质量信号中,有一个基于每个文档存储的功能,它计算了一个名为“siteAuthority” (网站权威) 的特性。

本图像展示了一个技术文档的片段,描述了“siteAuthority”属性。标题:siteAuthority 类型:integer(), 默认值:nil 描述:site_authority: 源自 quality_nsr.SiteAuthority,在 Qstar 中应用。
本图像展示了一个技术文档的片段,描述了“siteAuthority”属性。标题:siteAuthority 类型:integer(), 默认值:nil 描述:site_authority: 源自 quality_nsr.SiteAuthority,在 Qstar 中应用。

我们不确定这个指标是如何计算或在后续评分机制中如何使用的,但我们现在可以确定地说,它确实存在并被应用在 Q* 排名系统中。看来,Google 确实有一个整体的域名权威度。Google 员工可能会说“我们拥有它,但不使用它”,或者“你可能不了解它的含义”,或者……好吧,我说过要“限制评论”的,不是吗?让我们继续。

“我们不用点击量来排名”

这个说法现在可以彻底澄清了。

潘杜·奈亚克在司法部反垄断审判中的证词最近透露了 Glue 和 NavBoost 排名系统的存在。NavBoost 是一个利用点击数据来提升、降低或在 Web 搜索中加强某些结果的系统。奈亚克指出,Navboost 从 2005 年开始使用,之前是用 18 个月的点击数据。这个系统最近改为用 13 个月的数据,并且主要针对网页搜索结果,而 Glue 系统则关联于其他的通用搜索结果。即便在这些信息公开之前,我们已经有了一些专利(包括 2007 年的基于时间的排名专利),这些专利明确指出如何使用点击日志来修改搜索结果。

我们还知道,点击作为衡量成功的一个标准是信息检索领域的最佳实践。Google 已经转向使用机器学习算法,这种算法需要响应变量来优化性能。尽管有如此多的明确证据,但由于 Google 发言人的误导和搜索营销界无批判地重复 Google 公开声明的做法,SEO 社区中仍然存在很大的困惑。

加里·伊利耶斯(Gary Ilyes)多次讨论过这个点击测量的问题。他在一次讲话中强调了谷歌搜索工程师保罗·哈尔(Paul Haahr)在2016 年 SMX West 的演讲里提到的观点,即“在排名中直接使用点击量是不妥的。”

后来,他还在一个讲座上公开批评了 Rand Fishkin(Moz 的创始人兼 CEO,资深 SEO 专家),直言“不论 Fishkin 的新理论如何,逗留时间和点击率等通常都是纯粹的胡说八道。”

Reddit 帖子的截图,帖子是由用户名为 "garyillyes" 的 Gary Illyes 发布,他在回应名为 Lyndon 的用户。这是一串讨论的一部分,获得了 36 个赞、一个奖项以及其他 24 条回复。帖子的文本内容如下:garyillyes OP • 5 年前 嘿 Lyndon!我会迅速回答你,因为我在等飞机,有点无聊(原本计划明天回答问题)。RankBrain 是一个吸引公众关注的机器学习排名组件,它利用历史搜索数据预测用户对未知查询最可能的点击选择。这是一个卓越的工程成就,它在传统算法无法处理的情况下多次帮助我们脱险,例如算法会忽视查询中的 'not'。然而,它通常依赖于结果页面上(有时)几个月前的数据,而非实际着陆页面的数据。逗留时间、点击率(CTR)及 Fishkin 的最新理论,这些通常是无根据的说法。搜索实际上比大多数人认为的要简单。文本中的“逗留时间、点击率(CTR)及 Fishkin 的最新理论,这些通常是无根据的说法。搜索实际上比大多数人认为的要简单。”部分被黄色高亮显示。
Reddit 帖子的截图,帖子是由用户名为 "garyillyes" 的 Gary Illyes 发布,他在回应名为 Lyndon 的用户。这是一串讨论的一部分,获得了 36 个赞、一个奖项以及其他 24 条回复。帖子的文本内容如下:garyillyes OP • 5 年前 嘿 Lyndon!我会迅速回答你,因为我在等飞机,有点无聊(原本计划明天回答问题)。RankBrain 是一个吸引公众关注的机器学习排名组件,它利用历史搜索数据预测用户对未知查询最可能的点击选择。这是一个卓越的工程成就,它在传统算法无法处理的情况下多次帮助我们脱险,例如算法会忽视查询中的 'not'。然而,它通常依赖于结果页面上(有时)几个月前的数据,而非实际着陆页面的数据。逗留时间、点击率(CTR)及 Fishkin 的最新理论,这些通常是无根据的说法。搜索实际上比大多数人认为的要简单。文本中的“逗留时间、点击率(CTR)及 Fishkin 的最新理论,这些通常是无根据的说法。搜索实际上比大多数人认为的要简单。”部分被黄色高亮显示。

事实上,NavBoost (Navboost) 拥有一个完全专注于点击信号的模块。

该模块被定义为用于“Craps 排名系统”的点击和展示信号。如下所述,包括不良点击、优质点击、持续时间最长的点击、未压缩点击和未压缩持续时间最长的点击在内的各种点击都被作为衡量指标。根据 Google 的“基于位置突出性对本地搜索结果进行评分”的专利 (US8046371B2),压缩是一种防止单一大信号主导其他信号的机制。换言之,系统通过规范点击数据来确保不会出现基于点击信号的操纵。Google 员工指出,专利和白皮书中描述的系统并不一定反映实际投入使用的系统,但如果 NavBoost 不是 Google 信息检索系统的核心部分,那么其存在将毫无意义。

本图展示了涉及多个点击相关属性的技术文档。每个属性都明确了其类型和默认值。文本内容如下:坏点击(badClicks)类型:float(), 默认值:nil;点击(clicks)类型:float(), 默认值:nil;好点击(goodClicks)类型:float(), 默认值:nil;展示次数(impressions)类型:float(), 默认值:nil;上次最长点击(lastLongestClicks)类型:float(), 默认值:nil;独角兽点击(unicornClicks)类型:float(), 默认值:nil - 与独角兽用户事件相关的点击子集;未压缩点击(unsquashedClicks)类型:float(), 默认值:nil - 在当前格式中未填充,使用了两种 CrapsClickSignals(压缩/未压缩)。我们正在迁移到一个新的格式,在那里这个字段将被填充。未压缩展示次数(unsquashedImpressions)类型:float(), 默认值:nil - 同上。未压缩的最长点击(unsquashedLastLongestClicks)类型:float(), 默认值:nil - 同上。
本图展示了涉及多个点击相关属性的技术文档。每个属性都明确了其类型和默认值。文本内容如下:坏点击(badClicks)类型:float(), 默认值:nil;点击(clicks)类型:float(), 默认值:nil;好点击(goodClicks)类型:float(), 默认值:nil;展示次数(impressions)类型:float(), 默认值:nil;上次最长点击(lastLongestClicks)类型:float(), 默认值:nil;独角兽点击(unicornClicks)类型:float(), 默认值:nil - 与独角兽用户事件相关的点击子集;未压缩点击(unsquashedClicks)类型:float(), 默认值:nil - 在当前格式中未填充,使用了两种 CrapsClickSignals(压缩/未压缩)。我们正在迁移到一个新的格式,在那里这个字段将被填充。未压缩展示次数(unsquashedImpressions)类型:float(), 默认值:nil - 同上。未压缩的最长点击(unsquashedLastLongestClicks)类型:float(), 默认值:nil - 同上。

这些基于点击的指标也在另一个与索引信号相关的模块中出现。其中一个指标是记录给定文档的“最后一个好点击”的日期。这显示了内容衰减(或流量随时间减少)同样是排名页面未能在其搜索引擎结果页面(SERP)位置上获得预期点击量的表现。

此外,文档把用户比作投票者,他们的点击行为则记录为投票。系统会统计不良点击数,并根据国家和设备对数据进行分类。

系统还记录了每次会搜索中点击时间最长的结果。因此,仅仅进行搜索和点击结果是不够的,用户还需要在网页上停留足够长的时间。长时间点击不仅仅是搜索成功的指标,尽管文档中没有提到“逗留时间”这一功能,长时间点击实际上与之测量的是同一个概念,这与 Google 的声明形成了对比。

多个来源指出,NavBoost 是 Google 最强大的排名信号之一,“Google 最强大的排名信号之一”。根据泄露文件,其中 84 次明确提到了“Navboost”,并且五个模块的标题涉及到 Navboost。还有证据显示,Google 在子域、根域以及 URL 级别进行评分,这明显表明他们对不同网站层级采取不同策略。关于子域和子目录的区别不展开讨论,但我们后续会探讨该系统数据是如何影响 Panda 算法的。

的确,虽然 Google 的文件中没有直接提到“CTR”或“停留时间”,但其核心理念——搜索结果的点击和评估成功搜索会话的指标——已被纳入考虑。这一点毫无疑问,Google 确实将点击行为及其后续的用户行为作为排名算法的一部分。

“不存在所谓的沙盒”

Google 的发言人一直坚称不存在一个根据网站的年龄或信任度低而将其隔离的所谓“沙盒”。John Muller 在一个现已删除的推特中回答了一个关于网站能否排名的问题,明确表示“不存在沙盒。”

这是 Twitter 上两位用户关于新网站是否存在 Google 沙盒的讨论截图。Vijay Kumar (@VijayKumarIM) 在 8 月 19 日的推文:“很高兴听到您的说法......通常新网站摆脱 Google 沙盒需要多长时间?”获得了 1 个点赞。John (@JohnMu) 在同一天回复:“不存在沙盒。”该推文获得了 7 个赞和 3 次转发,回复突出显示了用户的头像和验证标记,表明这是来自认证账号的回应。
这是 Twitter 上两位用户关于新网站是否存在 Google 沙盒的讨论截图。Vijay Kumar (@VijayKumarIM) 在 8 月 19 日的推文:“很高兴听到您的说法......通常新网站摆脱 Google 沙盒需要多长时间?”获得了 1 个点赞。John (@JohnMu) 在同一天回复:“不存在沙盒。”该推文获得了 7 个赞和 3 次转发,回复突出显示了用户的头像和验证标记,表明这是来自认证账号的回应。

在 PerDocData 模块的文档中,指出了一个名为 hostAge 的属性,其专门用于“暂时隔离新产生的垃圾内容”。

结果显示,Rand 早已指出,Google 确实设有一个沙盒。谁会想到呢? 是的,Rand 早已知道

“我们没有利用 Chrome 的任何信息来决定网页排名。”

Google 的 Matt Cutts 曾明确表示,Google 在进行有机搜索排名时,并不采用 Chrome 浏览器的数据。近期,John Mueller 也重申了这一观点。

其中一个涉及页面质量评分的模块,使用了基于 Chrome 的网站访问量作为评估指标。还有一个模块,似乎与生成站点链接有关,也包括了一个关于 Chrome 的特性。

一份泄露的内部演示文稿显示,自 2016 年 5 月以来,Chrome 的数据已被用于搜索优化。简言之,情况就是这样。

虽然 Google 的发言人总是出发点良好,但我们真的能完全信任他们吗?

如果问题涉及到他们的核心机密,答案往往是不行。

我对这里提到的人们没有任何不敬。我确信他们都在尽最大努力,在允许的范围内为社区提供帮助和价值。但这些文件告诉我们,我们应该将他们的话作为参考,同时社区也应继续进行实验,以发现有效的方法。

谷歌排名系统的架构解读

一般来说,我们可能会把“谷歌算法”视为一个单一的大方程,其中包含了多个有权重的排名因素。但实际上,它是由多个微服务组成的复杂系统,在运行时预处理并组合成搜索结果页面。根据文档提及的不同系统,谷歌的排名系统可能超过百种。这些系统可能不全是排名信号,但这也许解释了谷歌所称的 200 个排名信号的由来。

在 Jeff Dean 的演讲《在谷歌构建软件系统及其教训》中,他分享了谷歌初期如何将每个搜索查询发送到 1000 台机器上,在 250 毫秒内得到响应。他还展示了早期系统架构的一个概念图,图中的 Super Root 像是谷歌搜索的大脑,负责发送查询并在最终整合所有结果。

杰出的研究工程师 Marc Najork 最近展示的生成式信息检索模型,揭示了谷歌搜索的 RAG 系统(即搜索生成体验/AI 概述)。这个模型通过不同的数据存储和服务器来处理搜索结果的各个层次。

此外,谷歌告密者 Zach Vorhies 泄露的幻灯片显示了谷歌内部不同系统之间的联系。这些系统都有文档提及。

通过这些高层次的模型,我们可以开始理解这些组件是如何相互作用的。从文档看来,这些组件似乎是建立在谷歌的 Spanner 之上,一个能够实现内容存储和计算的无限扩展的架构,将全球网络的计算机视为一个整体。

固然,仅仅通过文档来整理出所有系统之间的复杂联系确实有一定难度,但是Paul Haahr 的简历为我们揭示了一些重要排名系统的具体作用。以下,我将介绍一些我所熟悉的系统,并按其功能进行分类。

爬取

  • Trawler – 这是一个网络爬取系统,它设有爬取队列,可以控制爬取速度,并能够识别网页的更新频率。

索引

  • Alexandria – 这是核心的索引系统。
  • SegIndexer – 这个系统负责在索引中对文档进行分层。
  • TeraGoogle – 这是一个为长期存于硬盘的文档设立的次级索引系统。

渲染

  • HtmlrenderWebkitHeadless – 这是一个用于渲染 JavaScript 页面的系统。有趣的是,它是以 Webkit 而不是 Chromium 来命名的。文档中提及了 Chromium,表明 Google 最初可能采用了 Webkit,并在无头浏览器 Chrome 推出后切换到了 Chromium。

处理

  • LinkExtractor – 这是一个从网页中提取链接的系统。
  • WebMirror – 用于处理网页规范化和避免重复内容的系统。

排名

  • Mustang – 这是主要的评分、排名和服务系统。
    • Ascorer – 这是在进行任何重新排名调整之前,用于评估网页排名的主要算法。
  • NavBoost – 这是一个基于用户点击行为日志的重新排名系统。
  • FreshnessTwiddler – 这是一个根据文档的新鲜度进行重新排名的系统。
  • WebChooserScorer – 这个系统负责定义在摘要评分中使用的特征名称。

服务

  • Google Web Server – GWS 是 Google 前端与用户交互的服务器。它负责接收并向用户展示数据。
  • SuperRoot – 这是 Google 搜索的中枢,负责向 Google 的服务器发送指令,管理数据的重新排名以及结果的展示处理。
  • SnippetBrain – 这是一个用于生成搜索结果摘要的系统。
  • Glue – 这个系统通过分析用户行为来整合搜索结果。
  • Cookbook – 这是一个用于实时生成信号的系统。

正如我所述,尽管这些文档描述了许多系统,但某些系统的具体功能,如 SAFT 和 Drishti,还不够明确。

Twiddlers 是什么?

网上关于 Twiddlers 的资料不多,因此在这里详细解释一下会有助于我们更好地理解文档中提到的各种 Boost 系统。

Twiddlers 是一种排名调整功能,它在主搜索算法 Ascorer 完成后运行。它们的工作原理类似于 WordPress 中的过滤器和操作——在内容呈现给用户之前进行调整。Twiddlers 能够调整文档的检索评分或更改其排名。很多现场实验和我们所熟知的系统都采用了这种机制。正如一位前谷歌员工所示,Twiddlers 在谷歌的多个系统中扮演着关键角色:

Twiddlers 还能提供类别限制,例如,可以通过限制结果的类型来推动多样性。比如,作者可能决定在特定的搜索结果页面中只显示 3 篇博客文章。这有助于在页面格式使排名变得毫无希望时提供清晰的判断依据。

当 Google 表述 Panda 并非核心算法的一部分时,这可能意味着它最初是作为一个重新排序的提升或降级计算的 Twiddler 启动的,随后被纳入主要的评分机制。这类似于服务器端和客户端渲染的区别。

据推测,所有带 Boost 后缀的功能均采用 Twiddler 框架。文档中列出了一些 Boost,包括:

  • NavBoost
  • QualityBoost
  • RealTimeBoost
  • WebImageBoost

这些名称本身就很直观。

我还审阅了一个讨论 Twiddlers 更详细的内部文档,而这篇文章似乎表明作者看到的文档与我看到的是相同的。

关于 SEO 的关键启示

让我们直接了解你最关心的信息。Google 有哪些我们不知道或不确定的操作,这些操作如何影响我的 SEO 策略?

在继续之前请注意,我始终旨在向 SEO 行业介绍新概念,而不是为你的具体情况提供具体解决方案。如果你需要针对性建议,你应该聘请 iPullRank 为你提供 SEO 服务。否则,你总能从中获取足够的信息来发展自己的应用案例。

Panda 的工作机制

Panda 推出时众说纷纭。它是基于机器学习的吗?它依赖用户的反馈信号吗?为什么我们需要更新或者刷新才能恢复?它的影响是整站的吗?为什么我的某个子目录的流量会下降?

Panda 在 Amit Singhal 的领导下发布。Singhal 对使用机器学习持保留态度,因为机器学习的可观测性较弱。实际上,有一系列针对 Panda 的站点质量专利,但我这里要重点介绍的是一个描述不多的专利:“排名搜索结果。” 这个专利明确了 Panda 实际上远比我们认为的简单。它主要通过用户行为和外部链接相关的分布式信号来构建一个评分修正器,这种修正器可以应用在整个域、子域或子目录级别。

“系统从独立链接和参考查询的数量中,为资源组生成一个修正因子(步骤 306)。例如,修正因子可以是该组独立链接数与参考查询数的比率。即,修正因子 (M) 可表示为:

M=IL/RQ,

其中 IL 是该资源组的独立链接数,RQ 是该资源组的参考查询数。”

所谓的独立链接实际上是我们通常说的链接根域,而参考查询则涉及更多细节。专利中这样定义:

“对于某个特定资源组,参考查询可能是之前提交过的、被归类为指向该资源组某资源的搜索查询。归类某个特定的之前提交的搜索查询为指向该资源组的某资源,包括确定该搜索查询包含的一个或多个术语已被认定为指向该资源组的资源。”

现在我们可以访问这些文件,明显地看到参考查询来自于 NavBoost。

这意味着 Panda 的更新仅是更新了类似核心网页生命力计算那样的查询滚动窗口。这也表明,Panda 的链接图更新并非实时进行。

虽然重复提及可能有些冗余,但另一项 Panda 专利——网站质量评分,也提出了一个分数概念,即参考查询与用户选择或点击的比率。

核心观点是,如果你希望自己的网页继续保持高排名,就需要通过扩大搜索查询范围,增加成功点击率,并提升链接的多样性。从理论上说,优质的内容自然能够达到这个效果。更多地吸引合适的访客体验,会向谷歌表明你的网页值得有更高的排名。你应当关注这些方面,以便从最近的“有益内容更新”中快速恢复过来。

作者特性非常关键

关于 E-E-A-T,已经有不少讨论。由于衡量专业知识和权威性较为模糊,许多 SEO 专家对此持怀疑态度。在了解向量嵌入技术之前,我曾认为作者身份标记不足以成为网络规模上的有效信号。

尽管如此,谷歌确实明确存储了文档关联作者的信息:

他们还检查页面上的实体是否同时是文章的作者。

结合了这些文档中深入的实体与嵌入映射,很明显谷歌对作者进行了全面的评估。

文档中提到了多种算法降级手段。这些描述虽然简短,但值得注意。我们之前讨论了 Panda 算法,以下是我遇到的其他一些降级手段:

  • 锚点不匹配 – 当链接的目标与其本身不一致时,Google 会在其算法中对这种链接进行降级处理,因为 Google 希望链接的两端内容都具有相关性。
  • 搜索结果页降级 – 这是一个信号,显示基于搜索结果页面观察到的因素而进行的降级,这可能意味着用户对该页面不够满意,通常是通过点击率来判断。
  • 导航体验降级 – 这种降级可能针对那些导航体验差或用户体验不佳的页面。
  • 精确匹配域名降级 – 2012 年底,Matt Cutts 宣布精确匹配的域名将不再像以往那样获得优势,具体的降级措施也随之实施。
  • 产品评价降级 – 虽然没有具体的信息,但它被记为一种降级,可能与 2023 年针对产品评价的最新更新有关。
  • 地域降级 – 有迹象表明,被归类为“全球性”的页面或“超全球性”页面可能会受到降级,这显示 Google 努力将页面与其地理位置关联,并据此进行排名。
  • 色情内容降级 – 这种降级较为直接明了。
  • 其他链接降级 – 我们将在下一节详细讨论。

所有这些潜在的降级措施都是为了制定有效的策略,但根本上还是需要创造优质内容,提供卓越的用户体验,并努力打造品牌。

链接依然重要

尽管有声音称链接的重要性有所下降,但我没有发现任何能够支持这一说法的证据。处理这些信息更多的是在评分机制本身,而不是信息的存储方式。因此,设计特征以深入理解链接网络的工作是非常重要的。

索引层级影响链接的价值

Google 通过一个称为 sourceType 的指标揭示了页面索引位置与其价值之间的大致关联。简单来说,Google 的索引系统分为多个层级,最重要的、频繁更新和被访问的内容存储在闪存中。较不重要的内容则存放在固态硬盘上,偶尔更新的内容放在传统硬盘中。

总的来说,索引层级越高,链接的价值就越大。被视为“新鲜”的页面同样也被认为是高质量的。理想情况下,你的链接应该来自这些新鲜或处于顶层的页面。这也部分解释了为什么从高排名页面和新闻页面获取链接会有更好的排名效果。这样一来,数字公关再次变得很酷了!

链接垃圾邮件的速度信号

关于锚文本垃圾邮件突增的监测,Google 设立了一套完整的指标系统。通过一个名为 phraseAnchorSpamDays 的特征,Google 能够有效地衡量垃圾邮件链接的生成速度。

这种方法可以方便地识别网站是否在发送垃圾邮件,以及有效抵制负面 SEO 攻击。对于持怀疑态度的人,Google 可利用这些数据对比常态与当前的链接趋势,简单地排除那些异常链接。

Google 分析链接时仅考虑 URL 最近的 20 次变更

我之前提到过,Google 的文件系统能够像 Wayback Machine 一样存储页面的历史版本。我的理解是,Google 永久保留它所索引的内容。这也是为什么你不能仅通过重定向页面到不相关的目标来期待链接权重转移的原因之一。

相关文档进一步表明,Google 保存了他们所见过的页面的所有变更记录。

当检索 DocInfo 以进行数据比较时,Google 仅考虑页面的最新 20 个版本。

这可以让你知道,要在 Google 中开始一片新的篇章,你需要更改并索引页面多少次。

所有页面都考虑主页的 PageRank

每个文档都关联有自己的主页 PageRank(最近种子版本)。这通常作为新页面的临时替代指标,直到它们发展出自己的 PageRank。

这表明,直到新页面的 PageRank 计算出来之前,网站权威度(siteAuthority)可能也作为一个临时指标使用。

主页信任度

Google 会根据对一个主页的信任程度来评估其链接的价值。

你应始终重视链接的质量和相关性,而非其数量。

字体大小影响重要性

2006 年我开始从事 SEO 时,我们会加粗或下划线文本,或增大某些文本的字体大小,以突出其重要性。尽管我曾对此表示怀疑,但现在我发现 Google 确实在跟踪文档中的术语平均加权字体大小。

链接的锚文本也采用同样的跟踪方式。

Penguin 减少站内链接

在许多锚文本相关模块中,“本地”指同一网站。这表明,某些站内链接可能没有被计入统计。

未提及取消链接(Disavow)

尽管取消链接数据可能存储在别处,但在此 API 中并未特别提到。由于质量评估者数据可以直接访问,这暗示取消链接数据与核心排名系统分离。

我一直认为取消链接是一种众包功能工程,用来训练 Google 的反垃圾邮件系统。这些数据不在“线上”表明这种看法可能是正确的。

关于链接的话题还有很多可以讨论的,如 IndyRank、PageRankNS 等,但不言而喻,Google 的链接分析非常精确,远超过我们的链接索引。现在是一个重新考虑链接建设策略的好时机,基于你所了解的所有信息。

文档截断问题

Google 会统计每个文档中的 token 数量,以及正文总词数与不同 token 数的比例。根据文档,Mustang 系统中对于一个文档能够处理的 token 有一个最大限制,这提醒作者应优先展示最关键的内容。

短内容的原创性评估

根据 OriginalContentScore,短篇内容的评分依据其原创性。这解释了为什么内容的长度并不总是决定其质量的关键。

此外,还有一个评估关键词填充的得分机制。

页面标题与搜索查询的匹配

文档提到了一个 titlematchScore,说明了页面标题与搜索查询的匹配程度依然是 Google 重视的一个评价指标。

把关键词放在标题前部依旧是一种有效的做法。

无字符数限制

Gary Ilyes 曾明确表示,SEO 界关于元数据的最佳字符数是一个误区[链接]。目前没有任何指标来衡量页面标题或摘要的字符长度。文档中唯一的字符计数指标是 snippetPrefixCharCount,用于确定哪些内容可以作为摘要的一部分。

这进一步证实了我们的测试结果:虽然长标题可能不利于吸引点击,但对于提升搜索排名却很有帮助。

日期的重要性

Google 特别重视内容的更新度,多次尝试将日期信息与页面内容关联:

  • bylineDate – 页面上明确标注的日期。
  • syntacticDate – 从 URL 或标题中提取的日期。
  • semanticDate – 基于页面内容推断的日期。

确保在结构化数据、页面标题和 XML 站点地图中使用一致的日期非常关键。如果 URL 中的日期与页面其他部分的日期不一致,可能会降低内容的表现。

页面的域名注册信息被存储

长久的谣言认为谷歌作为域名注册商影响了搜索算法,现在这已经成为一个公开的事实。谷歌在综合文件级别上保存了最新的域名注册信息。

如先前所述,这可能被用来确定新内容的临时测试区域。同样,对于那些换了所有者的旧域名,谷歌也可能采取类似措施。我推测,随着最近推出的过期域名滥用政策,对此类信息的依赖程度已经增强。

以视频为中心的网站有特别的处理方式

如果网站上超过一半的页面含有视频内容,该网站就被视为以视频为中心,将采取特别的处理策略。

针对重要金融生活信息的页面有特别的评分系统

谷歌有一套分类系统,专门为涉及健康和新闻的重要金融生活信息 (YMYL) 页面评分。

谷歌还会对新的或少见的查询进行预测,以判断它们是否属于重要金融生活信息类别。

最终,这些信息在数据块级别进行评分,显示出整个系统是基于数据嵌入技术构建的。

存在黄金标准的文件

虽然具体意义不明,但描述中提到了人工标记与自动标记的对比。这可能与质量评估有关,尽管谷歌表示这不影响搜索排名。这部分的真正含义可能仍是个谜。 🤔

网站嵌入技术评估页面主题的相关性

在接下来的文章中,我会更详细地讨论嵌入技术。值得注意的是,谷歌特别通过向量化页面和网站,并比较这些向量,来评估页面内容是否偏离了网站的主题。

网站的专注分数反映了网站对单一主题的专注程度,而网站半径则显示了页面内容相对于网站核心主题的偏离程度。

谷歌可能故意打压小型网站

谷歌设有一个特定标记用以区分“小型个人网站”。虽然这类网站并没有一个明确的定义,但基于我们所了解的信息,谷歌完全有能力通过某种调整手段来提升或抑制这些网站的排名。

考虑到有益内容更新对小企业造成的巨大冲击,谷歌竟使用此功能进行干预,实在令人不解。

我的疑问

尽管可以继续深入探讨,但先让我们暂停一下。同时,我认为其他人也将深入研究这一泄露信息并得出各自的结论。目前,我想提出几个我们都应该思考的问题。

有益内容更新是否又称为 Baby Panda?

在压缩质量信号中,有两处提到了“baby panda”。Baby Panda 是一个在初始排名之后进行调整的算法。

文档中提到它是基于 Panda 算法之上的,但没有提供更多信息。

普遍看来,有益内容更新与 Panda 的行为特征相似。如果它基于参考查询、链接和点击等因素建立,那么在你改进内容之后,这些因素就是你需要关注的重点。

NSR 是指神经语义检索吗?

有许多模块和属性的名称中包含了 NSR。这些大多与网站的内容块和数据嵌入有关。谷歌此前已经提到,神经匹配是其改进搜索的一个重点。我猜测,NSR 代表神经语义检索,这与语义搜索紧密相关。在某些情况下,他们还提到了与“站点排名”相关。

我非常希望有个敢于冒险的谷歌员工能访问 go/NSR,并匿名告诉我“你猜对了”。

行动建议

正如我所言,我没有具体的建议,但以下是一些战略性的建议。

  1. 向 Rand Fishkin 致歉 — 自我在 PubCon 上发表“Everything Google Lied to Us About”演讲以来,我一直在努力消除 Rand 在 NavBoost 事件中的不良影响。Rand 曾无私地帮助我们的行业提升多年,无论是在谷歌还是 SEO 圈内,他都受到了很多批评。虽然有时候他的做法不尽完美,但他始终以一颗诚挚的心,努力提升我们行业的地位和质量。他在点击实验的结论、多次证明 Google Sandbox 存在的尝试、显示 Google 如何区别对待子域的案例研究以及长期被低估的信念中,都是正确的。他还将相关文件分享给我,进行了这次分析。现在是时候在 Threads 上向他表达敬意
  2. 创作优质内容并有效推广 — 我虽然在开玩笑,但同时我也是认真的。谷歌一直强调这一建议,我们常常因为认为它不具可操作性而抗拒它。对一些 SEO 专家而言,这确实超出了他们的控制范围。但审视 Google 的优势功能后不难发现,制作优质内容并针对目标受众进行推广,无疑会在这些指标上产生最大的正面影响。尽管通过链接和内容特征的度量可以取得显著成效,但想要在 Google 中长期获得成功,你必须创作持续有竞争力的内容。
  3. 重启行业相关性研究 — 通过结合点击流数据和特性提取,我们对 Google 用于构建排名的许多特性有了更深入的理解。是时候恢复针对特定行业的相关性研究了。
  4. 进行测试和学习 — 从众多可见性和流量图表中,你应该知道不能完全信赖 SEO 中的任何信息。这次泄露进一步证明了你需要采取实际行动,通过实验找出适合自己网站的策略。单靠观察一些轶事性的评论是无法确切了解 Google 的运作机制的。如果你的组织还没有为 SEO 制定实验计划,现在是个启动的好时机。

我们确信自己的做法

一个重要的启示是:SEO 专家确实知道他们在做什么。 在多年被误解之后,揭开事实的面纱,我们欣喜地发现自己的观点一直是正确的。尽管这些文件透露了谷歌运作的一些细节,但这些并不足以使我在战略上彻底改变做 SEO 的方式。

对于那些愿意深挖的人,这些文件主要是确认资深 SEO 专家长期倡导的观点:了解你的目标群体,明确他们的需求,创建最佳产品来满足这些需求,确保产品技术上易于获取,并不断推广直到获得较高的排名。

对于那些在 SEO 领域感到迷茫的人,继续尝试各种方法,不断学习,并努力拓展业务。没有我们,谷歌也无法完成他们的工作。