内容去重和 Canonical 标签的正确用法
📖 第四章:内容营销篇 · 第 63 问
你可能没有"抄袭"任何人,但你的网站上很可能已经存在大量重复内容——同一篇文章通过不同 URL 被访问,搜索引擎不知道该收录哪个,最终所有版本的排名都被稀释。Canonical 标签就是解决这个问题的核心工具。
什么是重复内容?
重复内容不一定是"抄袭",更多是技术原因导致同一内容有多个 URL:
| 产生原因 | 示例 |
|---|---|
| HTTP/HTTPS 共存 | http://example.com/page 和 https://example.com/page |
| www 与非 www | www.example.com/page 和 example.com/page |
| URL 参数 | /product?color=red 和 /product?color=red&ref=banner |
| 分页内容 | /article 和 /article?page=1 |
| 移动端独立 URL | m.example.com/page 和 www.example.com/page |
| 打印页/AMP 版本 | /article/print 和 /article |
百度如何处理重复内容
百度会从多个重复 URL 中选择一个作为"代表"进行索引,其他版本会被过滤或降权。但百度的判断不一定准确——它可能选了你不想要的那个版本。主动使用 Canonical 标签,就是告诉百度:“请以这个 URL 为准。”
注意: 百度官方文档明确表示支持 Canonical 标签,但处理速度可能不如 Google 及时。
Canonical 标签的正确语法
在 HTML 的 <head> 部分添加:
<link rel="canonical" href="https://www.example.com/preferred-url" />
使用规则
- 必须放在
<head>中:放在<body>中无效 - 使用绝对 URL:写完整的
https://www.example.com/path,不要用相对路径 - 每页只能有一个:多个 canonical 标签会导致全部被忽略
- 指向可访问页面:不要指向 404 或被 robots.txt 屏蔽的页面
自引用 Canonical 的重要性
即使页面没有重复版本,也建议加上指向自身的 Canonical 标签:
<!-- 在 https://www.example.com/blog/seo-tips 页面上 -->
<link rel="canonical" href="https://www.example.com/blog/seo-tips" />
为什么? 防止未来被人恶意添加参数传播(如 ?utm_source=xxx),也防止搜索引擎因抓取参数变化而产生困惑。
常见错误
❌ 错误一:Canonical 指向错误页面
把分类页 A 的 canonical 指向了分类页 B,导致 A 完全从搜索结果消失。
❌ 错误二:在分页内容上滥用
把第 2、3、4 页全部 canonical 到第 1 页——这会导致后续页面的内容无法被索引。分页应使用 rel="next/prev"(百度支持)或保持各页独立索引。
❌ 错误三:Canonical 与 robots 冲突
页面被 robots.txt 禁止抓取,但又设了 canonical——爬虫根本看不到这个标签。
❌ 错误四:跨域 Canonical 误用
把自己网站的页面 canonical 到别人的网站,等于"放弃"了这个页面的所有排名权重。
301 重定向 vs Canonical:怎么选?
| 场景 | 推荐方案 |
|---|---|
| 旧 URL 永久弃用 | 301 重定向 |
| 两个 URL 都需要用户能访问 | Canonical 标签 |
| HTTP 迁移到 HTTPS | 301 重定向 |
| 带参数和不带参数的同一页 | Canonical 标签 |
| 网站改版换域名 | 301 重定向 |
简单原则: 如果用户不需要访问旧 URL,用 301;如果两个 URL 都有存在的必要(比如筛选参数),用 Canonical。
如何审查网站的重复内容
- 百度搜索框检测:搜索
site:yoursite.com + 文章标题关键句,看是否有多个结果 - 使用爬虫工具:Screaming Frog、5118 等工具可以批量检测重复 Title 和重复内容页
- 百度搜索资源平台:查看"索引量"与实际页面数的差异,差距大说明有大量页面未被索引(可能是重复导致)
- 服务器日志分析:观察百度蜘蛛是否在重复 URL 上浪费抓取配额
💡 实操建议
- 全站部署自引用 Canonical:这是成本最低、收益最确定的 SEO 基础操作,让开发在模板层面统一加上即可
- 参数型重复优先处理:在百度搜索资源平台的"参数配置"功能中,标记无意义参数(如 session ID、追踪码),告诉百度忽略这些参数
- 每月做一次重复内容审计:用爬虫工具扫描全站,重点关注相似度超过 80% 的页面对,决定是合并、加 Canonical 还是差异化改写
本文是《中文非付费营销100问》系列的一部分。查看完整目录 →
