大多数人谈排名,默认有个”固定排名”摆在那儿:”我这页排第 5″——好像”第 5 名”是个被存住、会随时间累积或流失的状态。没有这回事。排名不是被存起来的状态,是查询时现算出来的结果:每一次搜索,都是拿这页当下的信号,去和竞争者重新打一次分。
这一条看着抽象,却是个能逐条对消 SEO 民间说法的底层——301 会丢排名、停留时长是因子、新鲜内容有加权、个性化很重,大半都建立在”排名是个被存住的固定值”这个错觉上。更要紧的是,它直接解释了一个实战里反复出现的现象:为什么短期靠大规模动作冲上来的量,过一阵都会崩。
一、排名是”关系”,不是”属性”
一个文档不”拥有”排名。排名只在三者同时给定时才有定义:一条具体查询、一组同台竞争的文档、一个上下文(地区、设备、语言、时间)。同一个 URL,对查询 A 排第 2、对查询 B 排第 40——它有多少条能召回它的查询,就有多少个不同的名次。
所以”排名”在物理上就没法存:不存在一个”排名值”可以写在哪里存住。能存的只有输入(各类信号),排名是这些输入在查询那一刻被组合出来的输出。这一句是后面所有结论的根。
二、两段式架构:索引时存,查询时算
Google 把工作切成两段,分界线就是”这件事依不依赖具体查询”。
索引时(离线、按文档、与查询无关)。 用户还没搜就已在做的:抓取、解析、渲染,抽出内容与链接;建倒排索引(把”词 → 含该词的文档列表”建好,这是检索能成立的前提);预算并存储与查询无关的信号——PageRank(整张链接图上离线算的特征向量)、各类质量分与垃圾分、页面级静态特征。这些之所以能提前算,正因为它们不随你搜什么而变;算一次存着,查询时直接取。按泄露文档,这些按文档存放在 PerDocData / CompositeDoc / CompressedQualitySignals 等容器里,索引系统对应 Alexandria / SegIndexer(分层索引)、TeraGoogle(已处理语料的服务存储)。
查询时(在线、按查询、依赖查询)。 用户一搜才发生这一串:
- 查询理解:解析、同义扩展、判定意图,决定拿什么去匹配。
- 召回:用倒排索引把含查询词的文档拉出来,从全库一下收窄到候选集;现代检索还叠加语义/向量召回,不只靠字面词匹配。
- 打分(初排):对每个候选现算一个分,由两类东西组合——与查询相关的相关性(这页对这条查询答得好不好:经典 IR 的 BM25,到如今的语义/向量匹配),和与查询无关的信号(PageRank、质量分,索引时就存好的)。按泄露文档,这步由 Mustang(主打分/排序/服务系统)承担,Ascorer 是核心排序算法。
- 重排:NavBoost 按”这条查询”的点击数据(13 个月窗口的
goodClicks/badClicks/lastLongestClick)调整顺序——它本就是按 (查询 × 文档) 聚合的,庭审里 Nayak 描述的”从上万收敛到数百”就是这层早期过滤;Twiddlers(重排函数)再叠加加权/降权/多样性约束。 - 组装 SERP。
三、为什么必须这么分
延迟是硬约束:几百亿文档要在零点几秒内出结果,不可能把所有东西都等到查询时算。于是凡是与查询无关的(权威、质量)离线算好存着,凡是依赖查询的(对这条查询的相关性)只能等查询来了现算。这个分工就是整套架构存在的理由,也是 Brin & Page 1998 那篇原始论文里”IR 相关性打分 + PageRank 权威”组合的延续。
一个能体现这条分界之精细的例子是 Topic-Sensitive PageRank(Haveliwala 2002):它把”按主题的 PageRank 向量”在离线预算好,查询时只做一件轻活——拿这条查询的主题分布,把那些预算向量组合成一个对当前查询敏感的权威分。重活在索引时,查询时只是廉价合成。连”权威”这一维都遵守同一条分界。
四、存量与流量
把上面收成一对概念:
- 存量 = 被存的:倒排索引条目、每文档的权威与质量信号、NavBoost 那份按 (查询 × 文档) 累积的点击数据。它们持久存在。
- 流量 = 排名:查询时把存量信号和这条活查询现场组合出来的结果。每次查询重算一遍,它本身不被存。
NavBoost 是最容易混的点:它的点击数据是存量(按查询-文档存着),但只有当那条查询真的被搜时,这份数据才被取出来、进入这一次的现算。所以连最”行为”的信号,也不是钉在 URL 上的一个静态名次,而是查询时被查表、被应用的输入。
而且存量不是页面级的单一维度,是多尺度叠起来的。 同一套信号在好几个尺度上各算一份:页面级(这页的相关性、页面 PageRank/URL Rating、按 (查询 × 页) 的 NavBoost,存在 PerDocData);主题/栏目级(在这个主题上多强,而非整站多强——Haveliwala 2002 的 Topic-Sensitive PageRank 把权威按主题条件化,泄露文档里也有 siteFocus 类话题聚焦与按栏目的质量信号);站点级(siteAuthority、站级质量、主机级 NavBoost——泄露分析点明 NavBoost 数据在 host 层用于评估整站质量)。页面之下还有段落/chunk 级(Google 2020 官宣的 passage ranking),之外还有横跨的实体级(Knowledge Graph 信号)。即:段落 ⊂ 页面 ⊂ 栏目/主题 ⊂ 站点,外加实体。
关键是这些层不是各自独立相加,而是高层修正低层:站级质量差,会把整站每一页一起往下压;主题契合度,决定你的权威在”这条查询的主题”上能兑现多少。效果上像相乘——一个好页放在弱站、或放进跑题的主题域,天花板就被锁死,单页再强也顶不上去。这也正是 Authority × Relevance 的展开:两个乘数本身都是多尺度的(站权威 × 主题权威 × 页权威;站的主题相关 × 页相关 × 段落匹配),各自在多尺度上叠乘。要标一条边界:字面的”×”是心法、不是公开的公式——现代排序是 Mustang 里学出来的非线性函数,各尺度怎么加权是学出来的;能坐实的只有两点,各层非独立、且高层以修正/天花板的方式作用于低层。这也让”积累”成了多尺度的:你垫高的不只是单页,是栏目权威和站级质量,而这两层会回乘到它名下的每一页。
五、这个模型解释了什么,也顺手破了什么
一旦接受”排名 = 查询时对存量现算”,一串现象和一串民间说法同时有了答案。
同一查询、结果不同。 查询时的打分吃的是”查询 + 上下文”,上下文一变,现算就变。但要校一个常见的过度归因:真正占大头的是地区 / 语言 / 设备,不是个性化。地区是最大的单一上下文;设备会改权重,且 NavBoost 的点击数据本就按设备切片(移动 vs 桌面)。而基于搜索历史的个性化比大家以为的小得多——它是服务时的视图层重排,只在你这边单方面展示,不改文档的存量、不改它对人群的基线竞争位;很多人把”换浏览器/换号结果不同”归到个性化,实际多半是地区、cookie、设备、SERP 功能差异,外加索引本身在变、Google 在跑实验。要分清:地区/语言不是个性化,它给不同人群算出的是各自的真名次。
“长期占位”不是被钉住,是反复算赢。 某些站长期稳居前列,看着像固定状态,其实每次查询都在重算、只是输入优势太大,反复算出同一名次。稳定来自持久的输入领先,不是有个被存起来的坑位——没有谁”拥有”位置,只是暂时没被超过。让它”黏住”的有三层:多尺度存量领先(上节那几层——页面、主题、站点各层都领先,且高层回乘到每页)、点击反馈环(排前→得点击→NavBoost 强化→续排前,这个既有位置的自我强化,DOJ 庭审里正是 Google 内部担忧的点;SEO 圈把这个固化效应叫”祖父化”,是 Shaun Anderson 等分析者的命名,概念有庭审背书、标签属二手)、以及查询本身的低波动。三者哪一项松动,”固定状态”立刻散。
“新鲜内容有加权”是 myth,QDF 是条件化特例。 不存在”新发或改个日期就普涨”这回事;evergreen 查询里权威与相关压倒一切,改日期糊弄不动。真正成立的只有两块:其一,QDF(Query Deserves Freshness)——只在”查询本身要新鲜”(新闻、热点、时效)时新鲜才进权重,Singhal 当年公开讲过,泄露文档里也有新鲜度/日期字段;它是条件化的,稳定查询不吃这套。其二,新页那种”偶尔波动上”,是机制不是奖励:NavBoost 要观测点击才能给页定位,新页没有观测数据,于是 Google 把它临时放上去采样、看反应再落位,采完就按真实反应回落。此外,稳定域里有些查询带轻度新鲜敏感——不是有”新鲜加权”,而是答案本身随时间变(如 “best X 2025”),页一旦真过时,对这条查询的相关性就掉;这是相关性侵蚀,不是新鲜度奖励。
新内容为什么难排。 同一机制的直接推论:新页存量极小(没外链→低 PageRank、没沉淀的 NavBoost、弱实体),查询时现算的输入就那么点,在有竞争的查询里压不过既有页。能上的口子只有三个——低竞争(小存量也够赢弱场)、QDF(查询自己要新鲜)、或那段采样测试窗。三个都不在,新页就是难排。
为什么大规模动作冲上来的量,过一阵会崩。 这是同一底层最有实战价值的推论。没有固定排名可以”抢到手”——每条查询都从存量重算——所以任何没有真实存量垫底的上涨,都只是暂时跑在评估前面,迟早被重算拉回。批量铺内容、批量买链、激进操纵常能制造一波短期上涨:要么是新页的采样窗(Google 临时放上去取数据),要么是某些信号被一时抬高、尚未被核减。但接下来有三股力量陆续追上——NavBoost 在它的窗口里收集真实点击,批量低质内容拿不到 good clicks / 长点击,被下调;规模化内容滥用与链接垃圾被识别核减(批量链接贬值、批量薄页被标记),而且大量低质页会拖低站点级质量、坏页把整体往下带;周期性重评 / 核心更新把站级质量重跑一遍,往往就是不该得的涨幅清零那一刻。三股力量到位后,重算把名次落回真实存量撑得起的位置,甚至更低(激进操作本身可能触发降权)。上涨之所以崩,正因为它底下没有积累起来的存量,只有一段被高估或被操纵的输入。
所以结论很直接:排名要积累,流量也要积累。 没有固定排名可抢,就没有”一波做上去”的捷径;能留下的只有真实垫高的存量——权威、质量、被真实需求验证的交互。存量是慢变量,这正是为什么稳的增长是积累出来的,而大规模动作的量来得快、也崩得快。
301″丢排名”不成立。 这是同一底层最有用的一条推论:既然排名是查询时现算的,根本没有”排名”这个存量可丢,只有喂给打分的信号会不会随规范化合并过去。干净 301 到等价目标,权威合并、相关性随内容、交互随文档,信号都在,下次同样的查询进来照样现算出同样的名次。大家”看到”的掉量是重处理的窗口,不是信号损失——Google 在重抓旧 URL、把信号并到新 URL、在索引里传播,期间名次会晃,并齐后自己回来。把”处理需要时间”误读成”301 把排名弄丢了”,正是把排名当成 URL 静态属性的那个范畴错误。
六、心智模型一换,做法就换
把排名当成一个被存住的固定值,你会去做一堆没有着力点的事:盯页面停留时长、靠改日期蹭新鲜、为换号看到的差异焦虑、指望一波大规模动作”做上去”。把它当成查询时对存量的现算,优化对象就清楚了:做厚那些与查询无关、能预存的信号(权威、质量、实体),以及做强页面对目标查询的相关性。 前者是存量,后者决定这条查询上的现算结果;而存量是慢变量,只能积累、抢不来。
这一条之所以”几乎很少人知道”,是因为它不在任何单篇官方文档里被一句话讲明——它要从经典 IR 的索引/检索分工、原始架构论文、庭审对 NavBoost 的描述、泄露文档的系统名一起拼出来。但拼出来之后,它是能把一整片民间说法逐条对消的那个底层。评估任何一条”X 会影响排名”的主张,先回到这里问一句:它垫高的是哪一项真实存量,还是只动了表层、或只是在评估追上来之前抢跑。前者会留下,后者会崩。排名是积累出来的,流量跟着排名走——这一条没有捷径。
独立Google SEO专家,ylsseo.com创始人,基于Google专利、IR与API Leak解读排名机制,中文SEO启蒙第一人。