判断这些 URL 是否真的是重复
规范化 URL(canonical)是针对重复或近似重复页面的代表地址。当目标页面包含引用页面的重复内容或其超集时,使用 canonical link relation 是合适的。它不是用来隐藏不同产品、有用筛选、文章或地区版本的手段。
问自己:如果由候选 URL 来代表该地址,访客是否会失去重要内容、选择或完成任务的能力?如果会,请将其保持为独立页面并改进其内容或本地化。如果不会,选择一个稳定的 URL,并记录其协议、主机、路径、末尾斜杠及参数规则。
为每个首选的、可索引的 HTML 页面添加自引用的 canonical,即便目前没有明显重复也要如此。
仅当两个页面返回相同的主要内容时,才将必要的重复(例如带分析参数的路由)指向首选 URL。
当旧 URL 应该消失时使用重定向
当旧路径、已退役主机或 HTTP 版本不应再作为访客或爬虫的目标时,应使用服务器端的永久重定向(301)。Google 将重定向视为强烈的规范化信号,并建议在弃用重复项时使用重定向。
当两个 URL 都必须返回内容但其中一个应该在搜索中代表该集群时,使用 rel=canonical。canonical 标签不会改变访客的地址或移除其他路由。目标页面应返回成功(非重定向)且不再对外 canonical 到别处。
将旧的 HTTP URL 直接发送到最终的 HTTPS URL,并在其它所有地方使用该 HTTPS URL。
robots.txt、URL 移除和 noindex 并不能表达首选副本。noindex 是用来阻止页面被搜索索引的。
发布一个明确的注释
对于 HTML,在 head 中放置一个绝对的 rel=canonical 注释。查看交付的源代码,而不仅仅是 CMS 的设置:主题、插件、边缘规则或 JavaScript 可能会替换该值。Google 建议在 HTML 源中提供它,并确保 JavaScript 不会更改它。
对于非 HTML 文档(例如 PDF),在适当时使用 HTTP Link 响应头来声明 canonical。避免 HTML 与响应头之间的冲突。目标必须可访问、不能返回 4xx,并且不能是重定向或链式重定向的 URL。
每个资源仅发布一个 canonical 目标;多个目标会使偏好不明确。
在模板、CDN、CMS 或路由变更后抓取样例页面和响应头,确认最终的 canonical 目标。
让支撑信号保持一致
在导航、面包屑、正文链接和生成的 feed 中,内部链接指向首选 URL。站点地图中只放入你希望在搜索中显示的 URL。虽然站点地图是较弱的信号,但当它与重定向和注释一致时会起到加强作用。
在站点地图中生成与 canonical 相同主机、协议和斜杠风格的完整合格(fully qualified)URL。移除被重定向和带参数的重复项。在永久链接、域名、语言或电商变化后测试自动生成的站点地图。
将指向跟踪、遗留或备用主机 URL 的链接替换为所选的 canonical。
让 HTTPS 重定向、canonical 目标、站点地图和链接保持一致;证书或 HTTPS→HTTP 的错误会发出冲突信号。
根据用途处理参数、分页和语言
参数并不自动意味着重复。分析参数可能不改变内容,而筛选与排序可能改变结果集。测试代表性组合。保留任何对购物车、登录、同意或配置必需的参数;canonical 不能破坏访客流程。
不要将每个分页页面都 canonical 到第 1 页:后续页面通常包含第 1 页没有的内容。对于语言或国家版,若存在相同语言的页面则将其命名为 canonical,并对替代版本使用 hreflang。canonical 不是替代本地化设计的手段。
记录哪些筛选是独立的落地页、哪些只是重复的重新排序,以便产品和工程在变更时保持一致。
仅当全览页是可用的内容超集时才使用它;在选择之前测试其加载与导航。
用已索引与实时证据排查冲突
在 Search Console 中检查受影响的 URL,并比较 Google 已索引的选择 canonical 与你声明的值。也检查候选目标。已索引报告反映的是 Google 上次处理的结果;实时测试有助于查看当前抓取、渲染的页面、响应头与资源,但无法预测最终的 canonical 选择。
如果值不一致,考虑 Google 是否选了更合适的代表。否则追踪重定向、HTML 与 HTTP 响应头注释、渲染输出、链接、站点地图条目、hreflang 与内容相似性。修复不一致、记录变更并等待重新评估。
检查模板、响应头、主机路由与安全变更。无法解释的跨域 canonical 或重定向应启动安全调查。
将交付的源代码与 CMS 设置及响应头进行比较;插件或平台规则可能会输出不同值。
将 canonical 检查纳入 SIU 发布加固流程
在域名、HTTPS、CDN、CMS、模板或目录发布之前,抽样检查首页、内容页与商品页、一个带参数的路由、一个语言版本、一个遗留 URL 与已发布文档。记录状态、最终 URL、canonical 目标、站点地图包含情况以及一个内部链接示例。
让修复可回滚:捕获当前映射、只更改一组规则、验证受影响路由并保留回滚计划。这有助于通过在变更期间保护稳定的公共路径来主动优化可用性;它不提供故障检测或保证被索引。
在营销与工程之间分配 canonical 规则,并记录每次更新背后的模板、重定向、站点地图或平台变更。
在发布工单中附上一小段发布前后 URL 与响应头样例,以便更快修复。
