跳至正文
外链与链接建设 · Google SEO

一条链接算一条还是多条:URL 变体的计数问题

// / / 光算科技

一条外链到底算一条还是多条,取决于你在报表里把它规范化到什么程度。只要 URL 字符串不完全相同,多数工具就先记成不同的一条;是否合并,取决于你有没有把它们归到同一个计数单位上。所以"这批外链是 60 条还是 12 条"这个问题没有唯一答案,只有"你按哪种口径数的"这个明确问题。

先把 URL 拆成规范里说的那几个部分

判断两条 URL 是不是同一个东西,起点是 URI 的语法结构。按照 RFC 3986 对 URI 等价与比较的规则,判断依据是字符串比较,再按 URI 方案自身的定义补充规则。同一节还写明,这些比较方法的设计目标,是在尽量减少漏判(把等价的判成不同)的同时严格避免误判(把不同的判成等价)。这解释了为什么不同工具对同一批链接给出的条数会不一样:它们停在比较梯子的不同档位上。

RFC 3986 列出的"语法归一化"包含三件事:大小写归一化、百分号编码归一化、去掉点段。文中给的示例是 example://a/b/c/%7Bfoo%7D 与 eXAMPLE://a/./b/../b/%63/%7bfoo%7d,按语法归一化可以被认为等价。Google 自己的 URL 结构说明把这一点讲得更直白:URL 结构最佳实践里对大小写与参数的处理要求,scheme 和 host 不区分大小写,而 /APPLE 与 /apple 被当作两个各自有内容的不同 URL;同一页面的多套筛选参数、被称作"引荐参数"或"会话 ID"的附加参数,会造出大量指向相同内容的 URL。

还有一个常被算错的点:RFC 3986 在等价判断一节还说明,当 URI 比较的目的是"选择或避免一次网络动作"时,片段组件(即 # 之后的部分)应当被排除在比较之外。所以 /a 与 /a#pricing 在"该不该再取一次内容"这个意义上是同一个地址。

把 URL 写法映射到计数单位

同一篇文章的六种 URL 写法分别落在哪一档计数单位:字符串级记成六条,规范化级合并为两条,canonical 级合并为一条
原创示意:图中为同一篇文章的六种 URL 写法与三档计数单位的对应关系,不是真实数据或后台截图。

下面这张表可以直接贴在报表说明里。它按"写法差异"给出建议的计数单位,以及为什么。

两种链接写法的差异是否指向同一资源建议的计数单位
http 与 https通常是同一资源规范化后合并
scheme 或 host 大小写不同规范视为等价规范化后合并
路径大小写不同(/Page 与 /page)视为不同 URL不合并,但要排查服务器行为
末尾多一个斜杠取决于服务器,可能不同先自查再定
多一个查询参数(sort、utm、ref、sid)内容相同,属别名规范化后合并
百分号编码写法不同规范视为等价规范化后合并
只差一个 #锚点同一资源合并为一条
多级 301 跳转到同一页最终是同一资源按最终 URL 合并

Google 对规范化的力度也分档。Google 对指定规范 URL 的几种方式的强弱排序把重定向和 rel="canonical" 都列为强信号,把"写进站点地图"列为弱信号。报表的计数单位最好跟这个强弱对齐:你用 rel="canonical" 声明过是同一页的,就该合并;你连规范化标签都没写、只靠服务器跳转的,就先别合并。

怎么把这件事做成可执行的动作

  1. 在报表里加一列"计数单位"。三档写死:字符串级、规范化级、规范页级。同一张表可以同时输出三个数字,不要只留一个。
  2. 先做一次自站 URL 归一化扫描。把你自己站点会被外部链接到的地址导出,按上面那张表逐类归并,得到一份"我到底有多少个对外地址"的清单。
  3. 对每个参数做取舍判断。不改变内容、只是为了统计用的参数,从你的外链请求里去掉;必须保留的,声明该页的规范 URL。参数越多,外部链接落到哪一档就越不可控。
  4. 和采购方谈价时先对齐口径。把"字符串级一条还是规范页级一条"写进条款,再谈数量。

这一层的具体动作,和站内那篇讲工具统计口径为什么对不上的分析是同一件事的两端:那边解释差异从哪来,这边定你用哪一档。参数多的站点还要配合分页与规范的处理方式一起看,不然合并口径会前后不一致。

什么时候这套口径不适用

  • 你的页面确实要按参数区分内容时。同一个列表页按 ?city= 渲染不同城市,是真实差异,合并会掩盖问题。
  • 服务器对路径大小写返回不同内容时。这时候 /Page 与 /page 是两条真链接,合并口径会替你隐藏一个技术缺陷。
  • 只有你自己一个数据源时。三档口径来自不同工具的归一化逻辑,单一工具内部的"引用域"划分可能不按 RFC 3986 走,跨工具对不齐是正常的。这条正好可以参照外链权重的站内传导里的落点页判断顺序。

怎么验证你选的口径是对的

用同一个落点页做小样本对照,不要全站推。挑 5 个已知被外部链接过的页面,把每页的原始链接 URL 手工列出来,分别按三档口径数一遍,再和工具显示的三个数字对齐。三个数字里凡是能手工复现的那一档,才是你能在合同和汇报里用的口径。对齐之后再看整体:如果某一档的合并比例异常高(大量 URL 只差一个参数或一个锚点),说明问题不在计数,在你的 URL 设计或链接请求格式上,该改的是那边。