URL 去重实战:把看似不同的链接合并成同一条
末尾斜杠、域名大小写、参数顺序、utm 跟踪参数会让同一个页面变成好几条链接。本文讲清楚怎么先规范化再做链接去重,整理书签、抓取结果和 SEO 清单都用得上,全程本地处理。
URL 去重实战:把看似不同的链接合并成同一条
整理一份链接清单时,最让人头疼的不是数量,而是重复。两条 URL 字面上不一样,落到浏览器里却打开同一个页面。直接按字符串去重,重复项一条都消不掉;肉眼一条条比,几百条就看花眼。要把这件事做对,得先想明白:什么样的两个 URL 算同一个。
为什么看似不同的 URL 是同一页
同一个页面被写成多种形态,常见有这么几类:
- 末尾斜杠:
https://toolora.info/blog和https://toolora.info/blog/指向同一处。 - 域名大小写:域名部分大小写不敏感,
Toolora.INFO等于toolora.info,但路径大小写通常敏感,不能一起折叠。 - 协议差异:
http://和https://版本多数指向同一篇内容。 - 参数顺序:
?a=1&b=2和?b=2&a=1查询结果完全一样,只是写法不同。 - utm 跟踪参数:
?utm_source=weibo&utm_medium=post是给统计用的,对页面本身没有影响,去掉后是同一个地址。
字符串比对看到的是这些表面差异,于是把它们当成不同的链接保留下来。真正要比的,是规范化之后的形态。
规范化:去重之前必做的一步
链接去重的核心,是先把每条 URL 折叠成统一写法,再拿这个统一形态去比。一套实用的规范化顺序是这样:
- 域名转小写,路径大小写保持原样。
- 去掉末尾多余的斜杠(根路径
/除外)。 - 剥掉 utm 系列和其他纯跟踪参数。
- 把剩下的查询参数按字母排序。
- 统一协议(按你的需要决定是否把 http 并入 https)。
走完这五步,前面那些只是写法不同的链接就会收敛成同一个值。这时候再去重,重复项才真正对得上。顺序不能乱:先排序参数、再删跟踪参数、再去末尾斜杠之后做比较,得到的结果才稳定,不会因为参数顺序不同而漏判。
一个真实的输入输出例子
把下面这几行粘进 URL 链接去重工具:
https://toolora.info/zh/t/url-normalizer/
https://toolora.info/zh/t/url-normalizer
https://Toolora.info/zh/t/url-normalizer/?utm_source=weibo
http://toolora.info/zh/t/url-normalizer/
https://toolora.info/zh/blog/
前四行其实是同一个页面:带末尾斜杠的、不带斜杠的、域名大写加 utm 的、http 协议的,规范化之后全部折叠成 https://toolora.info/zh/t/url-normalizer/。第五行是另一个地址。输出就剩两条:
https://toolora.info/zh/t/url-normalizer/ 重复 4 次 首次出现 第 1 行
https://toolora.info/zh/blog/ 重复 1 次 首次出现 第 5 行
带末尾斜杠和不带斜杠的同一个 URL,去重成了一个,并且保留了重复次数和首次出现的行号,方便回头核对数据从哪来。
三个常见场景
整理书签。 浏览器导出的书签里塞满同一篇文章的不同入口:一次从首页点进去、一次从搜索结果点进去,参数尾巴各不相同。规范化后去重,一篇文章只剩一条干净链接。
抓取去重。 爬虫抓回来的列表里,分页参数、排序参数、会话 id 会让同一个页面出现几十次。先剥掉无关参数再去重,能大幅压缩待处理的 URL 数量,省下后续请求。
SEO 自查。 同一个页面有多个可访问 URL,会稀释权重、制造重复内容。把站点地图导出和爬取结果合并去重,能看清楚到底有多少个真实页面,哪些是需要做规范标签或重定向的变体。
我自己的用法
我每周整理外链清单时,会把好几份来源不同的导出合并到一起:有的来自后台导出,有的是手动复制的网页,有的从客服记录里抠出来。来源不同,同一个链接的写法千奇百怪。我习惯先用工具规范化再去重,保留行号那一列,这样万一某条链接对不上,我能立刻翻回原始文件查是哪份导出带进来的,而不是删完才发现误删。这一步看着琐碎,省下的核对时间相当可观。
本地处理,链接不外传
这类清单里常夹着内部地址、带 token 的链接、客户相关的 URL。整个解析、规范化、去重和导出都在浏览器这个标签页里完成,不发往任何服务器。需要更细的拆分时,可以配合 URL 规范化工具 先统一格式,再回到去重这一步。导出时如果要留审计线索,记得下载带行号的 CSV 或 Markdown,而不是只复制最终列表。
链接去重不是简单的字符串比对,而是先把同一个页面的各种写法收敛成一个,再做比较。把规范化这一步做扎实,重复项自然现形。
Made by Toolora · Updated 2026-06-13