本文由 莫潇羽@无忆研习社(www.wuyi.wiki)撰写,转载请注明出处。
快速摘要
搜索引擎的链接评估从未跳出三大经典框架——PageRank 看链接图的全局重要性,HITS 看「枢纽—权威」的双向印证,Hilltop 看主题领域里的「专家投票」。这三套算法不是历史名词,而是 Google 和 Bing 当下排名体系的底层骨架。
2024 年 5 月那次震动整个 SEO 圈的 Google 内部文档外泄,清清楚楚地列出了 RawPageRank、PageRank2、PageRank_NS、FirstCoveragePageRank 等多个 PageRank 变体仍在线上运行;Google Director Elizabeth Tucker 在 2025 年也明确把 PageRank 称为「Google 经典排名信号之一,最贴近权威性」。HITS 的「枢纽—权威」思想活在内链规划与支柱页面里;Hilltop 的「专家文档」概念则演化为 E-E-A-T 中「专题权威」的判定逻辑。
Bing 那边的口味有点不一样:更看重域名年龄、.edu/.gov 后缀、精确锚文本、社交信号。同一个网站要在 Google 和 Bing 两边都吃到自然流量,就得明白这三套算法的精神在两个引擎里被翻译成了不同的偏好。
这篇长文会把原理、公式、随机游走、阻尼系数、专家集合、双分数迭代,以及对应到内链规划、外链获取、内容建设、网站架构的实操办法,挨个讲清楚。想看完整拆解,往下翻。
一、链接为什么是搜索引擎的命门
要把这三个算法看明白,得先回到一个最朴素的问题:搜索引擎到底在为什么排序而焦虑?
互联网的本质是一张超文本网络。早期搜索引擎的做法很笨,把网页内容抓回来,做个倒排索引,谁的关键词密度高、谁的标题里包含查询词,就把谁排在前面。这种纯文本匹配的玩法,在网页数量没几万的时候还能凑合,但很快就崩了。因为只要懂一点 HTML 的人都能往页面里堆砌关键词,把无关页面伪装成相关页面——这就是搜索引擎史上最早的「关键词作弊时代」。
我自己刚开始研究搜索原理的时候,最大的困惑就是:既然内容可以被作者任意控制,那搜索引擎凭什么相信任何一段文字是真实有价值的?答案后来想通了:不能只听一个人说什么,要看其他人怎么评价他。
这就是「链接」被发现的意义。一个网页指向另一个网页的超链接,本质上是一次「公开背书」。如果 A 站愿意把自己的访客往 B 站引导,意味着 A 站站长在某种程度上认可 B 站这一页的价值。这种「外部背书」是难以伪造的——你可以在自己的页面里写一万次「我是世界第一」,但你没法逼别人在他们的页面里也这样推荐你。
斯坦福那两个研究生,Larry Page 和 Sergey Brin,在 1996 年前后正是因为看穿了这层关系,才有了 PageRank 的思想原型。差不多同一时间,康奈尔大学的 Jon Kleinberg 在 IBM Almaden 研究所做访问学者的时候,提出了 HITS 算法。再加上 1999 到 2000 年期间在加州的 Krishna Bharat 提出了 Hilltop。这三个算法是搜索引擎链接分析时代的三大支柱,它们的提出时间几乎踩在同一个三年窗口里,这不是巧合,而是当时整个学术圈对「如何用图结构给海量文档排序」这个问题集中爆发的回应。
1.1 链接的三种属性
在往下走之前,把「链接」这个东西的属性摆清楚,后面看算法才不会绕。任何一条超链接至少携带了三种信息:
- 结构信息:谁指向谁,形成有向图。
- 文本信息:锚文本本身就是源页面对目标页面的「标签描述」。
- 上下文信息:链接所处段落、所在主题、所在站点的整体调性。
PageRank 主要吃的是结构信息,几乎不看主题。HITS 在结构信息基础上引入了角色区分(枢纽 vs 权威)。Hilltop 则把主题与锚文本的相关性直接嵌进了筛选机制。三种算法本质上是从三个不同维度去解读同一张链接图——这是后面所有比较的起点。
1.2 为什么链接信号在 AI 时代仍然没死
很多人以为大模型时代了,谁还看链接。这是天大的误解。Google 2024 年那批被外泄的内部文档里,关于链接的字段密密麻麻:siteAuthority、anchorMismatchDemotion、linkScore、homePageInfo,各种维度都在用。Bing 那边更直白,微软在公开的 Webmaster Guidelines 里就明说:「the number, quality, and relevance of links pointing to your pages will continue to be a strong signal」。
为什么?因为大模型本身也需要一个「可信源排序」机制,才能决定引用谁。而当下最成熟、最难作弊的可信源排序逻辑,恰恰还是基于链接图的那一套。链接不再是唯一信号,但它依然是「最难伪造的群体共识表达」。这个底层属性,在 AI 时代反而更稀缺。
我做站这么些年的体会是:文本可以被 AI 批量生成,流量数据可以被刷,但要让一堆真实存在的、互不相干的高质量站点同时主动指向你,这个事 AI 没法替你完成。链接的稀缺性反而被强化了。
二、PageRank:链接图的奠基性算法
PageRank 是这三个算法里名气最大的,也是被误解最深的。市面上大量博客把它描述成「数链接数量」,这是非常表层的理解。真正想用好 PageRank 的思想,得搞懂它的三个核心要素:随机游走模型、迭代收敛、阻尼系数。
2.1 PageRank 的核心思想:随机游走
设想这样一个场景:互联网上有个虚拟的「随机冲浪者」,他打开一个页面,然后在这个页面上的链接里随便点一个跳走,到了新页面再随便点一个,如此往复。经过足够长的时间之后,这个冲浪者出现在某个页面上的概率,就是这个页面的 PageRank 值。
这个模型的精妙之处在于:它把「网页的重要性」直接定义成了一个概率分布。概率高的页面,意味着无论你从哪里开始游走,最终都更容易落到它上面——这恰恰对应了我们直觉上的「重要」二字。
但这里有两个工程上的坑必须填:
- 死胡同:有些页面没有任何出链,冲浪者走到这里就卡死了。
- 小圈子:有几个页面互相链接,但不指向外面,冲浪者一旦进入就出不来,整个游走概率会被这个小圈子吸干。
为了解决这两个问题,Page 和 Brin 引入了一个工程化的修正:阻尼系数(damping factor)。
2.2 阻尼系数与 PageRank 的标准公式
阻尼系数通常记作 d,经典取值是 0.85。它的意义是:冲浪者在每一步,有 85% 的概率沿着当前页面的链接跳走,有 15% 的概率「腻了」,直接跳到全网随机一个页面重新开始。这个「腻了就随机跳」的机制叫 teleportation,它保证了整张图永远是连通的,游走永远不会卡死。
加入阻尼系数后,PageRank 的递推公式长这样:
PR(p) = (1 - d) / N + d * Σ [ PR(i) / OutLinks(i) ]
参数解释:
- PR(p):页面 p 的 PageRank 值。
- d:阻尼系数,经典取 0.85。
- N:全网页面总数。
- i:所有指向页面 p 的源页面。
- OutLinks(i):源页面 i 的总出链数量。
- Σ:对所有指向 p 的源页面求和。
这个公式的核心要义可以翻译成大白话:一个页面的重要性,等于所有指向它的页面的重要性,按这些源页面的出链数量平均分配后,再加上一个固定的"基础保底分"。出链多的源页面,每条链分到的权重就小;出链少的源页面,每条链都金贵。
2.3 迭代计算:为什么它能收敛
PageRank 是一个递归定义——要算 A 的分数得知道 B 的分数,而 B 的分数又依赖于 C、D、E……怎么解?
答案是迭代。给每个页面赋一个初始值(通常是 1/N),然后用上面的公式算一轮新值,再用新值算下一轮,反复迭代。数学上可以证明,只要图是强连通的(阻尼系数刚好保证了这一点),这个迭代过程一定会收敛到一个唯一的稳定分布。这个稳定分布就是最终的 PageRank。
实际工程中,Google 早期的实现差不多迭代 50 到 100 轮就能拿到一个足够稳定的解。换算到现在的全网规模,这个计算量大得吓人——这也是为什么 Google 早期投入了那么多基础设施去做分布式图计算。
下面这段伪代码可以更直观地表达迭代过程,新手对照着看就懂了:
def pagerank(graph, d=0.85, max_iter=100, tol=1e-6):
N = len(graph.nodes)
PR = {node: 1.0 / N for node in graph.nodes} # 初始化
for iteration in range(max_iter):
new_PR = {}
for node in graph.nodes:
# 基础保底分
rank_sum = (1 - d) / N
# 来自所有入链的贡献
for source in graph.in_neighbors(node):
out_count = len(graph.out_neighbors(source))
if out_count > 0:
rank_sum += d * PR[source] / out_count
new_PR[node] = rank_sum
# 判断是否收敛
delta = sum(abs(new_PR[n] - PR[n]) for n in graph.nodes)
PR = new_PR
if delta < tol:
break
return PR
这段代码不是给你拷贝去跑生产环境的,但它把 PageRank 的本质骨架交代得很清楚——一个不停传递权重的迭代过程,直到全网每个页面的得分稳定下来。
2.4 阻尼系数为什么是 0.85
很多人对 0.85 这个数字有种神秘崇拜,觉得是天书。其实它就是 Page 和 Brin 在原始论文里做实验定的一个经验值。后来有不少学术研究讨论过这个值的合理性——有人提出 0.7 在某些场景下更合理,因为当下用户更容易「跳出」一条阅读路径;有人觉得 0.9 更适合学术引用网络。但对于通用网页排序,0.85 至今仍然是工业界的事实标准。
阻尼系数小,意味着 teleportation 的成分大,结果会更倾向于把权重均匀地分给所有结点,链接图结构的影响被稀释。阻尼系数大,意味着冲浪者更愿意一路顺着链接走,结果会更突出那些处于链接图核心位置的「权威结点」。0.85 是这两种倾向的折中。
记住这层物理意义,后面你看待自己网站的内链结构就会多一个视角:你站内每个页面的「冲浪者跳出概率」越低(也就是出链质量越高、相关性越强),网站的 PageRank 越容易在内部高效流动。
2.5 PageRank 在 Google 内部的多个变体
很多人以为 Google 早就把 PageRank 扔了。这是被「绿条消失」误导得最深的一群人。2016 年 Google 公开关掉了工具条上显示的 PageRank 数字,大量 SEO 从业者就此宣布「PageRank 已死」。
事实根本不是这样。
2024 年 5 月,Google 内部一份本来应该保密的 Content API Warehouse 文档意外公开,SEO 圈炸了锅——里面赫然列着多个 PageRank 的变体字段:
|
字段名 |
解释 |
|
RawPageRank |
原始 PageRank 计算结果 |
|
PageRank2 |
PageRank 的第二代变体 |
|
PageRank_NS |
Nearest Seed PageRank,基于种子结点的变体 |
|
FirstCoveragePageRank |
首次发现页面时的 PageRank 快照 |
|
PageRank0 |
基础版本 |
|
ToolbarPageRank |
那个被「废弃」的工具条 PageRank 居然还活着 |
这意味着 Google 内部至少同时跑着 5 到 6 个不同口径的 PageRank,分别服务于不同子任务:有的用于初步抓取调度,有的用于规范化(canonical)选择,有的用于种子信任评估。所谓「PageRank 已死」就是个误读——它只是不向公众显示了,但底层还在不停转。
更有意思的是,2025 年 Google 产品管理总监 Elizabeth Tucker 在公开场合点名说:「PageRank 是 Google 的经典排名信号之一,最贴近权威性这个维度」。能把这种话从内部讲出来,说明它在排名体系里的份量从未真正下降过。
2.6 reasonable surfer:PageRank 的进化版
原始 PageRank 有一个被诟病已久的缺陷:它假设冲浪者在当前页面上的所有链接里等概率随机点一个。但真实世界根本不是这样——人会更倾向点正文里的链接,而不是页脚的版权链接;会更愿意点醒目的导航,而不是被隐藏在角落里的次级链接。
为了修正这一点,Google 在 2004 年申请了一项专利,把它叫做 Reasonable Surfer Model(合理冲浪者模型)。这个模型在原始 PageRank 的基础上,给不同位置、不同形式、不同语境下的链接赋予了不同的「被点击概率」。
下面这张表是我自己整理的一些经验性的概率倾向,不是 Google 官方给出的数值,但能帮你理解模型的精神:
|
链接位置 |
相对点击概率 |
传递的 PageRank 权重 |
|
正文首段内的上下文链接 |
高 |
高 |
|
正文中后段嵌入的链接 |
中等偏高 |
中等偏高 |
|
侧边栏推荐链接 |
中等 |
中等 |
|
文末「相关阅读」列表 |
中等偏低 |
中等偏低 |
|
页脚的网站地图、版权链接 |
低 |
低 |
|
被 nofollow 标记的链接 |
仅作弱提示 |
几乎为零 |
这就是为什么同样是 DA 80 的网站给你一条链接,放在正文段落里和放在页脚版权链接里,价值能差出几十倍。你做外链建设的时候,如果不看链接出现的具体位置就只看「链接数量」或「域名权重」,等于把 reasonable surfer 这个进化层完全无视了。
莫潇羽@无忆研习社 自己操作过的多个站点都验证过这一点:从同一个高权重站点拿到两条链接,一条嵌在正文长段落里,一条挂在页脚资源列表里,几个月后通过实验工具回测,前者对目标页排名的拉动效果至少是后者的 5 倍以上。这就是 reasonable surfer 在背后干活的结果。
2.7 站内 PageRank 流动:被严重低估的内部资产
PageRank 不只是衡量外部链接的工具,它在站内同样适用——而且站内 PageRank 流动是绝大多数中小站点被严重低估的内部资产。
想象一下你的网站是一个内部管道系统。首页通常因为被大量外链指向,持有最高的 PageRank。你站内的每一条内链,都是一次「权重的内部转移」。如果你的内链结构混乱,要点页面没有被合理地引用,首页的高 PageRank 就被白白消耗在了无关页面上;如果你的某些页面是「死胡同」(几乎没有有意义的内链指向它,也几乎不向外指),它就是站内的孤岛,搜索引擎会觉得这个页面对网站整体无足轻重。
下面这张 Mermaid 图展示了一个内链权重流动的典型范本:
graph LR
A[首页 PR=1.0] --> B[支柱页1 PR=0.5]
A --> C[支柱页2 PR=0.5]
A --> D[支柱页3 PR=0.5]
B --> E[长尾文章1]
B --> F[长尾文章2]
B --> G[转化落地页]
C --> H[长尾文章3]
C --> I[转化落地页]
D --> J[长尾文章4]
G -.-> B
I -.-> C
E -.-> F
F -.-> E
这张图里有几个关键设计:
- 首页的权重通过有限的几个支柱页面分发出去,不是直接散乱地指向几十个末端页面。
- 支柱页和长尾文章之间有清晰的层级关系,形成 1→3→N 的金字塔。
- 转化落地页接受来自支柱页的高权重传递,并且通过虚线箭头反向引用回支柱页,形成回流。
- 同一支柱下的长尾文章之间有内部互链,保证主题内部的权重在自己人之间循环,而不是漏到主题外。
我自己折腾下来,凡是按这个范式重构过内链结构的站点,3 到 6 个月内都会出现一波明显的整体收录量和长尾流量回升。不是因为做了什么花哨的事,就是因为站内的 PageRank 流动变顺畅了——核心页面被持续浇灌,边缘页面也能拿到自己应得的那一点点权重,不再处于「饿死」状态。
2.8 PageRank 的稀释问题
最后这一节专门讲一个被很多人忽视但又特别要命的细节:PageRank 是有「总量守恒」性质的,链接越多,每条链接稀释得越厉害。
回到公式 PR(i) / OutLinks(i)——一个页面的 PageRank 在传递时,会被它的出链总数平均分摊。如果一个页面持有 PR=10 的权重,它有 1 个出链,那这条出链可以传递接近 10 的权重(经过阻尼系数衰减后约 8.5);如果它有 100 个出链,每条出链只能传递 0.085。这就是为什么资源汇总型页面、链接农场的链接价值非常低——稀释太严重。
实战中怎么用这个原理?两层应用:
第一,自己的页面尽量控制出链数量。一个长文里的外链如果超过 20 个,就要好好审视一下是不是该精简。每一条出链都是在把你自己的 PageRank 漏出去给别人。当然完全不出链也不对,搜索引擎会觉得你不愿意分享,反而扣分。健康的范围我个人经验是:正文长度每 1000 字,外链不超过 3 到 5 条。
第二,追求高质量外链时,优先看源页面的出链密度。一篇 5000 字的深度长文,通篇只有 3 个参考链接,你能拿到其中一条,这一票顶得过资源页面里 50 个出链中的 49 倍。这就是为什么真正聪明的外链建设永远去打那些「干净的引用」,而不是堆数量。
PageRank 的部分就讲到这里。下一章我们换个视角,看看 Kleinberg 提出的 HITS 算法是怎么用「枢纽—权威」双角色把链接图玩出另一种花样的。
三、HITS:枢纽与权威的双角色互证
如果说 PageRank 是从「全网投票」的角度给每个页面一个全局分数,那 HITS 算法做的事情就完全不同——它在一个查询主题的小范围内,把页面分成两种角色:枢纽(Hub)和权威(Authority),让这两种角色互相印证、互相加分。
HITS 是康奈尔大学的 Jon Kleinberg 教授在 1997 到 1998 年间提出来的,全名叫 Hyperlink-Induced Topic Search,翻译过来是「超链接诱导的主题搜索」。这个名字本身就把它和 PageRank 的差异点明白了——HITS 是主题相关的,PageRank 是主题无关的。
3.1 枢纽与权威:一个直觉的类比
理解 HITS 最好的方式不是看公式,是想象一个学术圈的场景。
某个研究领域里,有两种人特别重要。一种是「领域内的大宗师」,他们写的论文被反复引用,每篇都是核心成果,这就是「权威」。另一种是「特别懂行情的综述作者」,他们自己未必发了多少原创成果,但他们的综述论文能精准地把所有重要原创工作梳理一遍、引用得当,这就是「枢纽」。
好的枢纽,会引用很多好的权威。好的权威,会被很多好的枢纽引用。 这是一个循环定义,但正因为是循环定义,才能用迭代的方式从一团乱麻里抽离出真正的核心结点。
放到 Web 上:
- Authority(权威页面):就是关于某个主题的高质量原创内容页,比如某项技术的官方文档、某个领域的深度研究报告。
- Hub(枢纽页面):就是某个主题的高质量资源整合页,比如「最佳工具合集」「精选教程导航」「行业地图」这一类页面。
HITS 在计算的时候,给每个页面打两个分数:
- 一个权威分(authority score):衡量它作为「被引用对象」的价值。
- 一个枢纽分(hub score):衡量它作为「推荐者」的价值。
3.2 HITS 的迭代计算逻辑
HITS 的计算过程也是迭代,但比 PageRank 复杂一点,因为它要同时维护两个分数。
整个算法的更新规则可以用两句话概括:
- 权威分更新:一个页面的权威分,等于所有指向它的页面的枢纽分之和。
- 枢纽分更新:一个页面的枢纽分,等于所有它指向的页面的权威分之和。
数学表达式长这样:
authority(p) = Σ hub(q), q 是所有指向 p 的页面
hub(p) = Σ authority(q), q 是所有 p 指向的页面
每跑一轮就把所有页面的权威分和枢纽分都更新一遍,然后做归一化(防止分数发散),再跑下一轮,直到收敛。
下面这段伪代码可以帮你看清骨架:
def hits(graph, max_iter=50, tol=1e-6):
nodes = list(graph.nodes)
auth = {n: 1.0 for n in nodes}
hub = {n: 1.0 for n in nodes}
for iteration in range(max_iter):
# Step 1: 更新权威分
new_auth = {}
for n in nodes:
new_auth[n] = sum(hub[src] for src in graph.in_neighbors(n))
# Step 2: 更新枢纽分
new_hub = {}
for n in nodes:
new_hub[n] = sum(new_auth[dst] for dst in graph.out_neighbors(n))
# Step 3: 归一化
auth_norm = (sum(v*v for v in new_auth.values())) ** 0.5
hub_norm = (sum(v*v for v in new_hub.values())) ** 0.5
new_auth = {n: v/auth_norm for n, v in new_auth.items()}
new_hub = {n: v/hub_norm for n, v in new_hub.items()}
# 判断收敛
delta = sum(abs(new_auth[n] - auth[n]) + abs(new_hub[n] - hub[n]) for n in nodes)
auth, hub = new_auth, new_hub
if delta < tol:
break
return auth, hub
注意这里有一个和 PageRank 截然不同的细节:HITS 不是在全网上跑的。它的标准做法是:
- 先用关键词检索,拉一批和查询主题相关的「种子页面」(base set)。
- 把这些种子页面指向的页面和指向它们的页面也拉进来,形成一个聚焦子图(focused subgraph)。
- 只在这个聚焦子图上跑迭代。
这就是为什么 HITS 被称为「主题相关」的算法——它不在乎全网最权威的页面是哪个,只在乎给定主题下哪些页面是枢纽、哪些是权威。
3.3 HITS 和 PageRank 的本质区别
把 HITS 和 PageRank 放一起对比,有几个本质差异必须分清楚,这对实战极其关键:
|
维度 |
PageRank |
HITS |
|
计算范围 |
全网 |
查询主题相关的子图 |
|
主题敏感性 |
主题无关 |
主题相关 |
|
每个页面的分数 |
一个分数(PR) |
两个分数(权威分 + 枢纽分) |
|
计算时机 |
离线、定期更新 |
理论上每次查询时计算(实际工程上有优化) |
|
抗作弊能力 |
单一结点难以撬动全局 |
主题子图小,作弊空间存在但有限 |
|
工程成本 |
一次计算长期使用 |
单次查询成本较高 |
很多人没意识到的一点是:HITS 真要原汁原味地用到生产环境,计算成本是相当大的——每次用户查询都要构建子图、再跑迭代,这在 Google 这种全球查询规模面前几乎不现实。所以 HITS 在工业级搜索引擎里,从来没有像 PageRank 那样作为「主算法」存在过。但它的「枢纽—权威」思想,被吸收进了 Google 后来的多个排名模块里,以及很多专题搜索、垂类搜索的内部排序逻辑里。
更要紧的是,HITS 揭示了一个 PageRank 没有覆盖的角度:一个页面的价值,不只是「被多少人推荐」,还包括「它推荐了什么」。这个角度在内容站运营里特别值钱,我下面会展开讲。
3.4 枢纽页面为什么是中小站点的战略缓冲带
在一个红海行业里直接和大站拼「权威页面」,周期长到让人崩溃。一篇真正能成为行业权威的深度文章,往往需要数月的内容创作、半年到一年的传播沉淀,才能积累到足够的引用。对中小站来说,这个时间窗口往往等不起。
但是「枢纽页面」给了一条迂回路径。你不必一上来就做大宗师,可以先做那个「最懂行情的综述作者」。
举个我自己见过的例子。某个细分领域里,有家中型站点完全没法和头部大厂拼原创深度——它的写作团队就两三个人,根本生产不出对标级别的研究内容。但他们做了一件事:针对这个领域的几个核心子话题,各做了一个「资源中心」,挨个把全网最好的相关文章、工具、论坛讨论、官方文档,精挑细选并配上自己的解读。这些资源中心页面,过了半年多就开始被同行业的多个权威站点反向引用——因为大家发现,要给读者推荐入门资料的时候,这家网站的资源中心整理得最干净、最不带广告污染。
结果是什么?这家中型站点凭借几个枢纽页面,先在 HITS 意义上拿到了高 hub score,然后顺势把站内其他页面的整体信任度都拉了起来。当搜索引擎认为你善于发现和组织优质内容的时候,它会顺带认为你站内的原创内容也大概率有价值——这是一种「信任溢出」效应。
3.5 枢纽页面的内容标准
但有一个大坑必须提醒——Google 现代算法里对「内容单薄(thin content)」的判定非常严格,纯粹的链接罗列页面会被直接打成低质量。要让枢纽页面活下来,必须满足下面几个标准:
- 每一条推荐都要附上原创解读:你为什么推荐这个资源?它解决了什么具体问题?适合什么阶段的读者?不能只贴标题和链接。
- 要有自己的分类和筛选逻辑:不能是一锅乱炖,要按某种内在逻辑(如难度分级、应用场景、技术栈)组织起来。
- 要定期维护:失效链接要及时清理,新的优质资源要补进来。一个三年没更新的资源页,搜索引擎会判定它过时。
- 要有「编辑视角」的体现:在前言或穿插段落里,把你对这个领域的整体判断、推荐理由、个人偏好讲出来。这种「人味儿」是区别于机器抓取页面的关键。
我自己做过的事情是,在每个枢纽页的开头写一段 300-500 字的"领域导读",把这个细分领域当下的格局、几条主要技术路线、争议点讲清楚。然后下面再分类列资源,每条资源带 2-3 句话的批注。这种结构既满足了「资源整合」的功能,又拒绝了「单薄内容」的判定。
3.6 HITS 思想在内链结构里的应用
HITS 的「枢纽—权威」思想,在站内有一个非常优雅的应用,就是 Topic Cluster(主题集群) 结构。这套方法这几年在 SEO 圈被反复鼓吹,但很多人不知道它的底层灵感正是来自 HITS。
主题集群的标准结构是这样:
graph TD
P[支柱页 Pillar Page<br/>主题总览+索引枢纽]
P --> S1[支撑页 Cluster 1<br/>子话题1深度内容]
P --> S2[支撑页 Cluster 2<br/>子话题2深度内容]
P --> S3[支撑页 Cluster 3<br/>子话题3深度内容]
P --> S4[支撑页 Cluster 4<br/>子话题4深度内容]
S1 -.->|反向引用| P
S2 -.->|反向引用| P
S3 -.->|反向引用| P
S4 -.->|反向引用| P
S1 <-->|横向互链| S2
S2 <-->|横向互链| S3
S3 <-->|横向互链| S4
这个结构里:
- 支柱页是 Hub:它把所有相关子话题串起来,本身不一定追求深度,但要求覆盖广。
- 支撑页是 Authority:每个支撑页是某个子话题的深度内容,是该子话题的权威候选。
- 支撑页之间横向互链:让权威之间形成相互背书,而不是各自孤立。
- 支撑页反向引用支柱页:把分散在各支撑页的权重,部分回流到支柱页,让支柱页本身也有机会拿到一些「权威分」。
这种结构在我自己经手的项目里反复验证过有效——只要主题足够聚焦、支撑页的内容质量过关,通常 3 到 4 个月就能看到支柱页和支撑页同时上排名的现象。这不是巧合,是 HITS 类逻辑在底层起作用的直接表现。
莫潇羽@无忆研习社这边的几个垂直栏目,目前都在按这套范式重构。最早一批改造完的栏目,长尾流量已经稳定在原来的 2.5 倍以上,而且收录的稳定性也明显提升——这是「枢纽—权威」相互加固之后,网站整体在搜索引擎眼里的可信度被推上了一个新台阶。
四、Hilltop:专家文档与主题权威的算法骨架
Hilltop 是这三个算法里在大众认知里最低调的,但对当下 Google 排名体系影响最深、最持久的一个。这话说出去可能有人不服,但如果你认真读过 Krishna Bharat 的原始论文,再对照 Google 后续几次大的核心更新,就会发现 Hilltop 的精神几乎贯穿了 Google 这二十年来对「权威性」的所有判定逻辑。
4.1 Hilltop 解决的核心问题
PageRank 有个致命的局限,Krishna Bharat 在 1999 到 2000 年期间就看穿了:PageRank 算的是「全局重要性」,但完全不在乎主题相关性。
举个例子。假设有一个高 PageRank 的科技博客,主要写软件评测,偶然有一篇文章里顺嘴提到了「最佳健身计划」这个短语。在原始 PageRank 的口径下,这个页面在「最佳健身计划」这个查询下的得分,可能比一个专业健身网站还高——只因为它在全网的全局权重高,虽然它在「健身」这个主题上完全不算权威。
这是 PageRank 的「主题污染」问题。
Bharat 当时的思路是:与其给所有页面一个全局分数,不如先识别出「领域内的专家页面」,然后只让这些专家页面给目标页投票。这就是 Hilltop 的核心创新——专家文档(Expert Documents)。
4.2 什么是「专家文档」
Hilltop 论文里对专家文档的定义非常严格,大白话翻译过来是:
- 专门针对某个主题的页面,主题聚焦度高,不是杂烩。
- 页面里包含大量指向相关资源的链接,而且这些链接的锚文本明显围绕同一主题。
- 页面所在的网站和被推荐的目标网站之间没有直接利益关系(non-affiliated),不能是同一家公司的关联站,不能是付费推广关系。
- 页面本身不是商业销售导向,而是内容指引导向。
通过这些严格条件筛出来的页面,就是 Bharat 所定义的「专家」。这些专家文档构成一个特殊索引,被称为「专家集合」(expert corpus)。
4.3 Hilltop 的两阶段算法
Hilltop 的整个算法过程分为两个阶段,逻辑非常清晰:
第一阶段:从专家集合里找候选专家
用户输入查询词后,先在专家集合(注意是预先建好的专家索引,不是全网)里检索,找出哪些专家文档和这个查询主题最相关。相关性的判定主要看三个位置的关键词匹配:
- 专家文档的标题
- 专家文档里的段落小标题(section headings)
- 专家文档里链接的锚文本
这三处的关键词命中,基本能判定一个专家文档对该主题的覆盖度。
第二阶段:让候选专家给目标页投票
把第一阶段筛出来的相关专家文档拿出来,看它们指向了哪些目标页面。这些目标页面的「Hilltop 分数」,就是来自这些专家的「主题相关」投票。投票的权重还会根据每条链接的锚文本与查询主题的匹配度做调整——锚文本越精准,投票分量越大。
把整个过程画成图大致是这样:
flowchart TD
Q[用户查询: 关键词 K]
EI[专家文档索引<br/>预建立的专家集合]
R[相关专家文档子集<br/>主题与K高度相关]
T[目标页面候选集<br/>被相关专家指向的页面]
F[最终排名<br/>基于专家投票的权重排序]
Q --> EI
EI --> R
R --> T
T --> F
这套机制把「主题权威」和「全局重要性」做了切割——一个页面想在 Hilltop 这套口径下排名靠前,关键不是被多少站点引用,而是被多少"领域内的真专家"引用。
4.4 Hilltop 的真实历史与 Google 的关联
Krishna Bharat 后来去了 Google,并把 Hilltop 的思想带进了 Google 的排名体系。一些值得记住的关键时间点:
- 1999-2000:Bharat 在 DEC Systems Research Center 期间提出 Hilltop。
- 2001:Bharat 和 Mihaila 发表正式论文《Hilltop: A Search Engine based on Expert Documents》。
- 2003 年 2 月:Google 收购了 Hilltop 相关专利,主要用于 Google News 的排名。
- 2003 年 11 月:著名的 Google 「Florida 更新」,SEO 圈普遍认为这次更新部署了 Hilltop 的核心机制,大量靠堆砌外链上来的商业页面集体掉排名。
- 2008:相关美国专利 7346604 正式授予,标题是「Method for ranking hypertext search results by analysis of hyperlinks from expert documents and keyword scope」。
Bharat 在 Google 内部后来又发展出一个叫 LocalRank 的算法,被普遍认为是 Hilltop 的进阶版——它的核心思想依然是「让主题相关的高分页面之间互相加权」。
这二十多年里,Google 公开承认 Hilltop 在跑的次数不多,但每一次大的「权威性核心更新」,从 Panda 到 Penguin,再到后来的 E-A-T、E-E-A-T、Helpful Content Update,你都能看到 Hilltop 精神的延续——搜索引擎在反复强调:链接必须来自主题相关的、非关联的、有真实编辑判断的源头,数量本身不重要。
4.5 E-E-A-T 与 Hilltop 的精神延续
Google 这几年一直在公开层面强调 E-E-A-T(Experience、Expertise、Authoritativeness、Trustworthiness)——经验、专业、权威、可信。我个人的解读是:这四个维度里的「权威性」(Authoritativeness),几乎就是 Hilltop 思想在 2020 年代的官方话术包装。
E-E-A-T 在评价权威性的时候,关注的几个点恰恰对应了 Hilltop 的核心要素:
|
Hilltop 的判定要素 |
E-E-A-T 的对应维度 |
|
专家文档是主题聚焦的非关联站 |
内容来源是否是该领域真专家(独立第三方判断) |
|
锚文本与主题相关 |
链接和提及的上下文是否真正讨论该主题 |
|
非商业导向的资源页 |
是否有明显的利益冲突、是否是「广告软文」 |
|
多个独立专家共同推荐 |
多个独立可信源的交叉验证 |
两套框架本质上在讲同一件事——一个页面是不是真权威,不能由它自己说了算,要看真懂行的第三方怎么看待它。Hilltop 是这个思想的算法表达,E-E-A-T 是这个思想的策略表达。
4.6 Hilltop 思想在外链建设中的实战指导
明白了 Hilltop 的底层逻辑,外链建设里的很多「看起来反常识」的现象就解释得通了。
为什么 DA 高的网站给的链接,有时候反而没效果:因为那个 DA 高的网站本身不是「专家文档」——它写的内容五花八门,既不主题聚焦,也没有清晰的领域归属。这种站点在 Hilltop 口径下根本进不了「专家集合」,它给的链接当然传不了什么主题权威。
为什么有些指标平平的小站点链接反而能拉动排名:因为那个小站点可能是某个细分领域里的「古董级」专家页面——主题极度聚焦、维护多年、纯靠热爱在写,从不接广告,这种页面就是 Hilltop 论文里描述的最标准的「expert document」。哪怕它整体流量不大,在搜索引擎的专家集合里它的分量重得吓人。
为什么链接交换互推这种玩法收益越来越低:因为相互链接的两个站点本质上是「关联方」,Hilltop 的核心要求就是「non-affiliated」——关联方之间的链接根本不计入有效投票。Google 现代算法在识别「链接互推圈」上的能力已经非常强,你以为换的是优质外链,其实在算法眼里这些链接的权重几乎归零。
我自己十几年下来,对外链建设这件事的最大领悟可以浓缩成一句话:与其追求"链接数量",不如思考"谁是我这个领域的 Hilltop 专家"。如果你的网站不能进入这些专家的视野、不能被他们自然引用,那你拿再多其他来源的链接,在「主题权威」这个维度上都是空转。
4.7 怎么让自己的网站成为「专家文档」
反过来想——如果 Hilltop 这套逻辑是真的,那做内容的人最有价值的目标不是「拿到更多外链」,而是「让自己的网站本身成为某个细分领域的专家文档」。一旦你成了别人眼里的专家,被引用就是自然而然的事。
要让搜索引擎把你判定为「专家文档」,有几个必须满足的条件:
- 主题聚焦度足够高:整个网站围绕一个明确的主题展开,不要东写一篇旅游、西写一篇美食。可以有边缘话题作为辅助,但核心主题必须清晰。
- 内容深度足够:每一篇文章都做到该问题在公开网络上的最佳答案之一,不要满足于「介绍了基本概念」这种水平。
- 持续维护多年:专家文档的判定里,「时间沉淀」是一个不容易被作弊绕过去的要素。一个稳定输出 3 年以上的垂直站,天然就比新站更有专家相。
- 少广告、不堆联盟:专家文档的判定排除商业关联站点。如果你的页面满屏都是广告联盟链接、affiliate 跳转,Hilltop 类逻辑会自动把你过滤掉。
- 被同领域其他独立站点自然提及:这是结果不是原因,但反过来推动你要做出值得被自然提及的内容。
无忆研习社这边一直在朝这个方向走——宁可慢一点,也要每一篇都做成"这个细分话题下一搜就能找到的最佳答案"之一,而不是去拼数量。这个策略短期内见效慢,但拉长到三五年看,它对应的恰恰是 Hilltop 类逻辑下最稳定的那种权重——因为时间在你这一边,你的内容慢慢积累被引用的痕迹,最终会变成搜索引擎口中那个「主题领域里的专家」。
五、三大算法的对比与协同:一张图看穿底层共性
把 PageRank、HITS、Hilltop 单独拆完,接下来必须把它们放一起对比,才能看清各自的角色和它们之间的协同关系。这一章是整篇文章的「枢纽结点」,前面的原理铺垫和后面的实战应用都从这里分叉。
5.1 三大算法的核心要素对照表
下面这张对照表是我自己反复看了多次原始论文之后整理出来的,把三个算法在七个关键维度上拉通比对:
|
维度 |
PageRank |
HITS |
Hilltop |
|
提出者 |
Larry Page & Sergey Brin |
Jon Kleinberg |
Krishna Bharat & George Mihaila |
|
提出时间 |
1996-1998 |
1997-1999 |
1999-2000 |
|
计算范围 |
全网 |
主题相关子图 |
主题专家集合 |
|
主题敏感性 |
主题无关 |
主题相关 |
主题且专家相关 |
|
核心数据结构 |
单一权重值 |
双值(hub + authority) |
专家文档索引 + 锚文本匹配 |
|
关键创新 |
阻尼系数 + 随机游走 |
枢纽/权威互相加强迭代 |
专家文档筛选 + 非关联性约束 |
|
主要应用场景 |
全局重要性评估、内链权重 |
主题聚类、内容枢纽识别 |
权威页面识别、E-E-A-T 判定 |
|
工程成本 |
离线一次计算 |
单查询成本高 |
专家索引维护成本 |
|
抗作弊性 |
中等(易受链接农场冲击) |
中等(易受人工构造枢纽攻击) |
较高(非关联性约束难以伪造) |
把这张表读熟,基本就能在任何搜索引擎相关的算法讨论里判断对方在说哪一层、有没有跑偏。
5.2 三者的内在共性:都是「图上的特征值问题」
虽然三个算法表面上做法不同,但本质上它们都是图论里的"特征值问题"——给一张有向图,通过迭代去找到这张图的某种稳态分布。
- PageRank 求的是邻接矩阵(经过列归一化和阻尼系数修正)的主特征向量。
- HITS 求的是 L·Lᵀ 和 Lᵀ·L 这两个矩阵的主特征向量(L 是邻接矩阵)。
- Hilltop 不是纯特征值问题,但它的核心机制——「在专家子集上做加权投票」——本质上也是在子图上跑一个简化版的权重传播。
这个共性意味着什么?意味着任何针对图结构的优化,都会被这三个算法同步感知到——不存在「我的链接结构对 PageRank 友好但对 HITS 不友好」这种事。一个站点的内链结构如果真的合理,在三个算法的眼里都会得到正向反馈。
5.3 协同关系:Google 怎么把它们拼起来用
虽然 Google 从未公开承认过具体的算法组合方式,但根据 2024 年的内部文档泄露、Google 工程师历年的公开发言、以及多个研究学者的逆向推测,大概可以拼出一个轮廓:
flowchart TB
Q[用户查询] --> A[关键词解析与意图识别]
A --> B[召回层:倒排索引 + 向量检索]
B --> C[初步候选集]
C --> D[PageRank 类信号<br/>评估每个候选的全局重要性]
C --> E[HITS/主题集群信号<br/>评估候选在主题子图中的角色]
C --> F[Hilltop/E-E-A-T 信号<br/>评估候选是否被专家认可]
D --> G[综合排名模型<br/>RankBrain/BERT/MUM]
E --> G
F --> G
G --> H[最终 SERP]
也就是说,这三种算法在 Google 现代体系里不是"二选一",而是"叠加使用"——分别在不同的子任务里给同一个候选页面打分,然后由更高一层的综合模型把这些分数融合起来。
这套体系的鲁棒性很高——你只在一两个维度上做优化、其他维度不动,很难撬动整体排名。只有在三种算法的口径里都拿到正向分数,页面才会真正稳定地往上走。这就是为什么 SEO 这件事越来越难「靠一招吃饭」——单点优化的天花板越来越低,需要的是系统性、多维度的整体提升。
5.4 这三个算法的"共同敌人":链接作弊
最后值得拎出来讲一下:这三个算法在面对各种链接作弊手段时的表现,某种程度上也决定了它们在现代搜索引擎里的"分工"。
|
作弊手段 |
PageRank 的脆弱性 |
HITS 的脆弱性 |
Hilltop 的脆弱性 |
|
链接农场 |
高(被早期 SEO 滥用) |
中(需要构造主题相关的农场) |
低(非关联性约束直接拦截) |
|
私人博客网络(PBN) |
高 |
中 |
中(若 PBN 内容主题聚焦,可能蒙混) |
|
链接交换互推 |
中 |
中 |
低(关联站点之间的链接被忽略) |
|
评论垃圾链接 |
已被 nofollow 等机制基本拦截 |
低 |
低 |
|
黑客入侵注入链接 |
高(短期内见效) |
中 |
中 |
这就是为什么 Google 后期越来越倚重 Hilltop 类逻辑——它对链接作弊的天然抵抗力最强。Penguin 算法、SpamBrain 这些反作弊系统的底层判断,本质上都在做和 Hilltop 类似的事:识别哪些链接来源是「真专家、非关联、有真实编辑判断」的,把那些不符合这个标准的链接通通忽略或扣分。
理解这一层,你对外链建设的优先级就会发生根本性变化——不是去打那些最容易拿到的