一条外链到底算一条还是多条,取决于你在报表里把它规范化到什么程度。只要 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 写法映射到计数单位

下面这张表可以直接贴在报表说明里。它按"写法差异"给出建议的计数单位,以及为什么。
| 两种链接写法的差异 | 是否指向同一资源 | 建议的计数单位 |
|---|---|---|
| http 与 https | 通常是同一资源 | 规范化后合并 |
| scheme 或 host 大小写不同 | 规范视为等价 | 规范化后合并 |
| 路径大小写不同(/Page 与 /page) | 视为不同 URL | 不合并,但要排查服务器行为 |
| 末尾多一个斜杠 | 取决于服务器,可能不同 | 先自查再定 |
| 多一个查询参数(sort、utm、ref、sid) | 内容相同,属别名 | 规范化后合并 |
| 百分号编码写法不同 | 规范视为等价 | 规范化后合并 |
| 只差一个 #锚点 | 同一资源 | 合并为一条 |
| 多级 301 跳转到同一页 | 最终是同一资源 | 按最终 URL 合并 |
Google 对规范化的力度也分档。Google 对指定规范 URL 的几种方式的强弱排序把重定向和 rel="canonical" 都列为强信号,把"写进站点地图"列为弱信号。报表的计数单位最好跟这个强弱对齐:你用 rel="canonical" 声明过是同一页的,就该合并;你连规范化标签都没写、只靠服务器跳转的,就先别合并。
怎么把这件事做成可执行的动作
- 在报表里加一列"计数单位"。三档写死:字符串级、规范化级、规范页级。同一张表可以同时输出三个数字,不要只留一个。
- 先做一次自站 URL 归一化扫描。把你自己站点会被外部链接到的地址导出,按上面那张表逐类归并,得到一份"我到底有多少个对外地址"的清单。
- 对每个参数做取舍判断。不改变内容、只是为了统计用的参数,从你的外链请求里去掉;必须保留的,声明该页的规范 URL。参数越多,外部链接落到哪一档就越不可控。
- 和采购方谈价时先对齐口径。把"字符串级一条还是规范页级一条"写进条款,再谈数量。
这一层的具体动作,和站内那篇讲工具统计口径为什么对不上的分析是同一件事的两端:那边解释差异从哪来,这边定你用哪一档。参数多的站点还要配合分页与规范的处理方式一起看,不然合并口径会前后不一致。
什么时候这套口径不适用
- 你的页面确实要按参数区分内容时。同一个列表页按
?city=渲染不同城市,是真实差异,合并会掩盖问题。 - 服务器对路径大小写返回不同内容时。这时候
/Page与/page是两条真链接,合并口径会替你隐藏一个技术缺陷。 - 只有你自己一个数据源时。三档口径来自不同工具的归一化逻辑,单一工具内部的"引用域"划分可能不按 RFC 3986 走,跨工具对不齐是正常的。这条正好可以参照外链权重的站内传导里的落点页判断顺序。
怎么验证你选的口径是对的
用同一个落点页做小样本对照,不要全站推。挑 5 个已知被外部链接过的页面,把每页的原始链接 URL 手工列出来,分别按三档口径数一遍,再和工具显示的三个数字对齐。三个数字里凡是能手工复现的那一档,才是你能在合同和汇报里用的口径。对齐之后再看整体:如果某一档的合并比例异常高(大量 URL 只差一个参数或一个锚点),说明问题不在计数,在你的 URL 设计或链接请求格式上,该改的是那边。