创建免费账号 登录

检测

SEO 检测 爬虫 AI 可见度 网站对比

研究

Keyword Explorer 网站宕机了吗? 全部 SEO 工具76

工具

页面 SEO11
元标签分析器搜索结果摘要预览标题结构检测图片替代文字检测Open Graph 与社交预览检测结构化数据验证器Canonical 标签检测链接分析hreflang 检测Favicon 检测无障碍检测工具
技术 SEO11
全站检测(爬虫)robots.txt 测试工具XML 站点地图检测重定向检测批量 HTTP 状态检测HTTP 响应头检测失效链接检测可索引性检测移动端适配检测JavaScript SEO 检测Cookie 与跟踪器扫描
速度与性能11
页面速度测试Core Web Vitals 检测服务器响应时间(TTFB)测试页面大小检测Gzip 与 Brotli 压缩测试HTTP/2 和 HTTP/3 检测CSS 压缩工具JavaScript 压缩工具图片压缩与 WebP 转换器HTML 压缩工具网站碳排放计算器
内容与关键词8
关键词密度检测关键词建议工具字数统计可读性检测文本与 HTML 比例检测网址 Slug 生成器大小写转换器重复内容检测
生成器10
元标签生成器robots.txt 生成器结构化数据生成器Open Graph 生成器XML 站点地图生成器重定向生成器(.htaccess 与 Nginx)hreflang 标签生成器UTM 推广网址生成器llms.txt 生成器Favicon 生成器
域名与安全14
SSL 证书检测安全响应头检测DNS 查询WHOIS / 域名查询域名年龄查询混合内容检测网站 IP 与主机查询Ping 测试 – 网站在线吗?网站技术检测SPF、DKIM 和 DMARC 检查工具DNS 传播检查工具黑名单检查工具网站正常运行时间监控开放端口检测
AI 搜索与 AI 写作11
AI 搜索就绪度检测AI 标题与元描述生成器AI 常见问题与结构化数据生成器AI 内容简报生成器AI 内容优化器AI 页面 SEO 评审AI 搜索意图与页面匹配AI 竞品内容缺口AI 内容检测器AI 替代文本生成器AI 标题生成器

学习

SEO 指南 SEO 问题指南 价格

偏好设置

主题
技术 SEO

canonical 标签详解:用正确的方法解决重复内容

重复的 URL 无处不在:跟踪参数、筛选条件、http 与 https 版本。canonical 标签告诉搜索引擎应该收录哪个版本。下面介绍如何正确使用它们。

你网站上的同一个页面,很可能可以通过不止一个 URL 访问。跟踪参数、排序选项、会话 ID、带 www 和不带 www、结尾斜杠、打印版本,每一种都会产生一个重复页面。搜索引擎必须决定收录并显示哪个版本。

canonical 标签就是你告诉它们自己偏好的方式。

什么是 canonical 标签

canonical 标签是页面 <head> 中的一个 link 元素:

<link rel="canonical" href="https://example.com/shoes/trail-runner-x">

它的意思是:“这个 URL 是这些内容的主要版本,请把信号集中到这里。”搜索引擎会把重复的 URL 归为一组,并选择一个规范 URL显示在结果中。你的 canonical 标签是这一选择中的一个强烈提示;但重要的是,它只是提示,而不是命令。

为什么重复页面很重要

重复内容很少受到惩罚,它是技术问题而不是垃圾内容问题。但重复页面仍然会带来麻烦:

  • 信号分散:链接和其他信号分散在多个 URL 上,而不是集中在一个 URL 上
  • 错误的 URL 获得排名:显示的可能是带跟踪参数或筛选条件的 URL,而不是干净的 URL
  • 抓取浪费:爬虫把时间花在获取重复页面上,而不是新内容上

在每个页面上使用自引用 canonical

每个可收录的页面都应该有一个指向自身的 canonical 标签:

<!-- 在 https://example.com/guides/composting 页面上 -->
<link rel="canonical" href="https://example.com/guides/composting">

这样,即使有人链接到 https://example.com/guides/composting?utm_source=newsletter,页面仍然会告诉搜索引擎哪个 URL 才是真正的那个。

Canonical 标签检测

检查页面的规范网址、能否正常访问,以及是否与其他信号冲突。

打开Canonical 标签检测

什么时候让 canonical 指向其他地方

当内容确实相同或几乎完全相同时,让 canonical 指向另一个 URL:

  • 参数变体:/shoes?sort=price → /shoes
  • 内容相同的产品变体,例如放在不同 URL 上的颜色选项(仅当它们确实几乎完全相同时)
  • 转载内容:如果你的文章在另一个网站上转载,对方可以添加指向你原文的跨域 canonical
  • 指向主页面的打印版或 AMP 版本

不要用 canonical 把一个页面指向另一个仅仅主题相似的页面。对于明显不同的页面之间的 canonical,Google 很可能会忽略。

canonical、301 重定向与 noindex 的区别

用法 适用情况
301 重定向 旧 URL 不应再被访问,页面已永久迁移。用户和爬虫都会被带到新 URL。
canonical 标签 两个 URL 都需要继续为用户工作(筛选、跟踪参数、变体),但只应收录其中一个。
noindex 页面应完全不出现在搜索结果中,并且没有首选的对应页面(内容单薄的标签页、站内搜索结果)。

不要把 noindex 和指向另一个页面的 canonical 一起使用。这两个信号相互矛盾:一个说“丢掉这个”,另一个说“把这个当作那个的副本”。

最佳实践

  1. 使用包含协议的绝对 URL:https://example.com/page,而不是 /page
  2. 每个页面一个 canonical。 多个相互冲突的 canonical 可能会全部被忽略
  3. 指向一个正常、可收录、返回 200 的页面,绝不要指向重定向、404 或带有 noindex 的页面
  4. 与你首选的协议和主机保持一致(https,以及一致地使用带 www 或不带 www)
  5. 保持信号一致:内部链接、站点地图 URL、hreflang 和重定向都应使用规范 URL
  6. 把它放在初始 HTML 的 <head> 中。 由 JavaScript 添加的 canonical 可能会较晚被处理,甚至被遗漏
  7. 分页页面(第 2、3 页……)通常应该把 canonical 指向自身,而不是第 1 页,否则只出现在后面页面上的条目可能会丢失

多语言网站的 canonical

每个语言版本都应该有一个指向自身的 canonical,并配合列出所有语言版本的 hreflang 标签。把法语页面的 canonical 指向英语页面,等于告诉 Google 法语页面是重复页面,它可能会从法语搜索结果中消失。

HTTP 标头版本

对于 PDF 等非 HTML 文件,你可以在 HTTP 标头中发送 canonical:

Link: <https://example.com/whitepaper>; rel="canonical"

Google 为什么可能忽略你的 canonical

Google 在选择规范网址时会权衡多个信号,包括重定向、内部链接、站点地图、HTTPS 和 hreflang。在以下情况下,它可能会选择另一个 URL:

  • 内部链接大多指向另一个版本
  • canonical 的目标页面会重定向或返回错误
  • 这些页面实际上并不重复
  • canonical 从 HTTPS 指向 HTTP

Search Console 的网址检查工具会同时显示“用户声明的规范网址”和“Google 选择的规范网址”,让你能看到两者何时不一致。

常见的 canonical 错误

  • 每个页面的 canonical 都指向首页(一个可能让排名全军覆没的模板错误)
  • 上线后 canonical 仍指向测试或开发域名
  • 解析错误的相对 URL
  • 迁移后 canonical 指向已重定向的 URL
  • 所有分页页面都指向第 1 页
  • 带有大量跟踪参数流量的页面缺少 canonical

全站抓取会列出所有设置了 canonical 的页面,让你快速发现规律。

全站检测(爬虫)

抓取整个网站,找出失效页面、重复标题、缺失标签和内容单薄的页面。

打开全站检测(爬虫)

canonical 的场景与示例

跟踪参数

一个邮件简报链接指向 https://example.com/guide?utm_source=newsletter。页面的自引用 canonical https://example.com/guide 告诉搜索引擎应收录哪个 URL,因此来自简报链接的信号会集中到干净的 URL 上。

排序和筛选

/shoes?sort=price-asc 以不同顺序显示与 /shoes 相同的商品。把排序后的版本的 canonical 指向 /shoes。对于能产生真正不同且有价值页面的筛选条件(比如有搜索需求的 /shoes/red),使用自引用 canonical,把它们当作真正的页面对待。

结尾斜杠和大小写

/guide 和 /guide/ 在技术上是不同的 URL,/Guide 和 /guide 也是如此。选择一种格式,把另一种重定向过来,并保持 canonical 一致。

产品变体

一件有五种颜色的 T 恤,每种颜色都有自己的 URL,除了颜色名称外文字完全相同,这时可以把 canonical 指向主产品 URL。如果每种颜色都有可观的搜索需求(“红色亚麻衬衫”),并且有不同的内容和图片,就让每个颜色页面以自己的 canonical 被收录。

转载文章

你发布了一篇文章,合作网站转载了它。请对方添加指向你原文的 canonical,或者至少添加一个清晰的回链。Google 表示会尽量显示它认为最合适的版本,而那并不总是原文,所以 canonical 很重要。

大规模检查 canonical

在大型网站上,canonical 问题通常来自模板。通过抓取,你可以:

  1. 列出所有 canonical 指向其他 URL 的页面
  2. 按规律对它们分组(是所有分页页面?还是所有产品变体?)
  3. 检查每种规律是否是有意为之
  4. 找出指向重定向、错误或带有 noindex 页面的 canonical

然后与 Search Console“网页索引编制”报告中的“重复网页,Google 选择的规范网页与用户指定的不同”进行比较,这说明你声明的 canonical 与其他信号不一致。

主流平台中的 canonical

  • WordPress:核心功能会在单篇文章和页面上添加自引用 canonical;SEO 插件会将其扩展到归档页,并允许你逐页覆盖
  • Shopify:自动添加 canonical,包括把产品系列中的产品 URL 规范到主产品 URL
  • Wix 和 Squarespace:自动添加 canonical,并提供自定义选项
  • 自行开发的网站:根据路由逻辑生成 canonical,确保它始终符合首选的 URL 格式

要点总结

  • canonical 标签告诉搜索引擎,在重复内容中哪个 URL 是主要版本。
  • 每个可收录的页面都应该有一个使用绝对 URL 的自引用 canonical。
  • canonical 是强烈的提示,而不是命令;要保持重定向、内部链接和站点地图一致。
  • 页面迁移时使用 301,重复页面必须保持可访问时使用 canonical,要完全排除页面时使用 noindex。
  • 绝不要让 canonical 指向重定向、错误或带有 noindex 的页面,也不要跨语言指向。
  • 在 Search Console 的网址检查工具中比较声明的规范网址和 Google 选择的规范网址。

常见问题

canonical 标签会传递链接权重吗?

在合并信号方面,Google 对待被采纳的 canonical 很像对待重定向,所以指向重复页面的链接通常会让规范 URL 受益。

重复内容会受到惩罚吗?

不会。Google 不会惩罚普通的重复内容,只是从中挑选一个版本来显示。惩罚只针对蓄意欺骗性的复制或采集。

应该给标签页和分类页设置指向其他页面的 canonical 吗?

通常不应指向其他页面。如果它们有用,就用自引用 canonical 让它们被收录。如果它们内容单薄,可以考虑改用 noindex。

可以跨域使用 canonical 吗?

可以。跨域 canonical 是受支持的,适用于转载内容,或者同一产品在你自己的多个网站上销售的情况。

canonicalduplicate contentindexing

检测你自己的网站

免费运行 55+ 项检查,每个问题都有修复方法。

免费检测

继续阅读