规范 URL (Canonical URL) 是指当同一内容存在多个 URL 时,向搜索引擎声明「请把这个 URL 作为正式页面收录」的机制。它通过 HTML 的 `<link rel="canonical">` 标签来指定。
需要规范 URL 的典型情况有 4 种:HTTP 与 HTTPS 都可以访问的情况;带 www 与不带 www 的地址同时存在的情况;带 UTM 参数的 URL 被大量生成的情况;移动版与电脑版使用不同 URL 的情况。如果放任不管,搜索引擎就会把同一内容识别为不同页面,导致评价被分散,产生「重复内容问题」。
常见的误解是「只要设置了 canonical 标签,重复页面就会自动被重定向」,但这是错误的。canonical 标签终究只是给搜索引擎的提示,对用户的浏览器不会产生任何影响。要在物理层面阻止对重复 URL 的访问,必须与 301 重定向配合使用。
在短链接与规范 URL 的关系上,不推荐把短链接本身设置为 canonical URL。短链接是经过重定向的中间地址,正确的做法是把最终落地页的 URL 设置为 canonical。Google 官方表示,会把重定向目标的 URL 视为 canonical。
canonical 标签设置错误会对 SEO 造成严重影响。如果把错误的 URL 指定为 canonical,本应被收录的页面就会从搜索结果中消失。设置之后,请务必用 Google Search Console 的「URL 检查」工具确认 Google 所识别的 canonical URL。