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,同一页面就会被分配两个短链接,点击统计也会被分散。
从 SEO 角度看,URL 规范化不当会引发重复内容问题。当同一内容可通过多个 URL 访问时,搜索引擎难以判断哪个是正式版本,导致搜索排名分散。使用 canonical 标签 (<link rel="canonical">) 明确指定正式 URL 是最可靠的对策。
RFC 3986 定义了 URI 的语法规范,规范化规则也基于此。但在实际操作中,仅靠 RFC 的严格规范化往往不够,还需要根据 Web 服务器配置 (末尾斜杠处理、www 有无等) 制定站点特有的规范化规则。相关书籍可在 Amazon 搜索 中查阅。