跳至主要内容
短.be

URL 规范化 (写法统一)

将表示形式不同但指向同一资源的多个 URL 转换为统一标准格式的处理。对防止重复内容至关重要。

2026年8月21日 · 约 1 分钟阅读

短链接

URL 规范化 (URL Normalization / URL Canonicalization) 是将指向同一网页的多种 URL 写法统一为一种标准格式的处理。例如「http://Example.COM/page/」「https://example.com/page」「https://example.com/page/index.html」可能都指向同一页面,但搜索引擎会将它们视为不同的 URL。

需要统一的主要元素包括:协议 (http → https)、主机名大小写 (Example.COM → example.com)、末尾斜杠 (统一有无)、默认端口号的去除 (:443 或 :80)、百分号编码的统一 (%7E → ~)、无关查询参数的去除、路径规范化 (/a/../b → /b) 等。

对于短链接服务而言,URL 规范化是核心技术。在存入数据库前对用户输入的 URL 进行规范化,可以避免同一页面生成多个短链接。如果将「https://example.com/page」和「https://example.com/page/」视为不同 URL,同一页面就会被分配两个短链接,点击统计也会被分散。

反过来,规范化做得过头会把不同的页面当成同一个 URL。最容易出问题的是去除查询参数。utm_source 这类计测用参数去掉后仍会到达同一页面,但 ?id=123、?page=2 这种决定显示内容的参数一旦去掉,就会跳到完全不同的页面。与其猜测哪些参数必须保留,不如用白名单逐一列出「可以去掉的参数」。末尾斜杠也要同样谨慎,因为有些服务器对 /page 和 /page/ 会返回不同内容,所以应在确认实际响应后再决定规范化的范围。

从 SEO 角度看,URL 规范化不当会引发重复内容问题。当同一内容可通过多个 URL 访问时,搜索引擎难以判断哪个是正式版本,导致搜索排名分散。使用 canonical 标签 (<link rel="canonical">) 指明正式版本是基本的对策。但 canonical 只是给搜索引擎的信号,并不保证一定被采纳。Google 在按影响力强弱列举正规化手段时,把重定向排在 canonical 标签之前。因此若要确实收敛到一个 URL,应先用重定向统一访问路径,再配合 canonical 标签。

RFC 3986「Uniform Resource Identifier (URI): Generic Syntax」在定义 URI 语法的同时也规定了规范化。把协议名和主机名转为小写、把百分号编码的 unreserved 字符 (字母数字与 - . _ ~) 还原为原字符 (%7E → ~)、省略协议的默认端口、解析路径中的 ../,都属于该规范之内的处理。而是否统一为 https、是否带 www、末尾斜杠向哪一侧统一,并不由 RFC 决定。这些写法未必指向同一资源,需要由站点方针和 Web 服务器配置来定,并用重定向统一到其中一种。

分享到 XHatena

这篇文章对您有帮助吗?

相关术语

相关文章

常见问题

URL 末尾应该加斜杠吗?
两种都可以,但全站必须统一。不统一的话,搜索引擎会将同一页面识别为不同 URL,导致 SEO 评分分散。通常通过重定向统一到其中一种形式。
带 www 和不带 www 哪个正确?
技术上都正确,但需要全站统一使用一种,并将另一种设置重定向。选择不带 www 的网站不少,但已经在用 www 的网站没必要强行更改。切换本身要新增重定向并替换外部链接,只要全站已经统一,保持现状即可。
短链接服务会对 URL 进行规范化吗?
规范化的范围因服务而异。像主机名小写化这类不会改变 URL 解释的处理被广泛采用,但是否连末尾斜杠、查询参数排序也一并统一,则取决于具体实现。把 http 改写为 https 的处理需要谨慎对待,因为目标站点若不支持 https,跳转就会直接失效。

把知识用到真实链接上

免费缩短网址