看到重复内容,不要第一反应就是删除。
重复内容有不同类型:有的是同一内容出现在多个 URL,有的是多篇文章服务同一个搜索意图,还有的是模板页大面积相似。处理方法完全不同。
先分类,再决定 canonical、合并、重写还是保留。
先区分三种重复
1. URL 重复
同一内容有多个 URL,例如:
- 带参数和不带参数;
- 带斜杠和不带斜杠;
- http 和 https;
- www 和非 www;
- 打印版、分页版、排序版。
这类问题优先看 canonical、重定向、站内链接和 sitemap 是否一致。
2. 意图重复
两篇文章标题不同,但都在回答同一个问题。
例如“SEO 标题怎么写”和“SEO 标题模板怎么写”可能可以分工:前者讲原则和判断,后者给模板和案例。如果两篇都讲同样内容,就会互相削弱。
3. 模板重复
大量页面结构相同,只替换城市、产品、行业或年份。
这类问题不能只靠 canonical 解决。核心是页面是否有真实差异和独立价值。
canonical 不是万能解法
Google 会用多个信号选择规范 URL。官方文档把重定向、rel="canonical" 和 sitemap 都列为 canonicalization 信号,其中重定向和 canonical link 是强信号,sitemap 是弱信号。
但这些都不是“强制命令”。如果页面内容、内链、sitemap 或其他信号互相冲突,Google 可能选择不同的 canonical。
所以 canonical 适合表达偏好,不适合掩盖混乱的信息架构。
不同场景怎么处理
| 场景 | 推荐动作 | 说明 |
|---|---|---|
| 参数 URL 重复 | canonical 到主 URL,站内链接统一 | 避免把参数页放进 sitemap |
| 新旧 URL 都能访问 | 301 到新 URL | 用户和搜索引擎都应去同一地址 |
| 两篇文章意图相同 | 合并成更强页面 | 保留更强 URL,处理旧 URL |
| 两篇文章意图相近但可分工 | 重写定位和内链 | 明确一个讲概念,一个讲模板或案例 |
| 模板页只有变量不同 | 增强差异或限制索引 | 没有独立价值就不要批量放开 |
| 多语言或多地区相似 | canonical + hreflang 要一致 | 不要把所有语言指向同一个语言页 |
合并内容时要注意什么
合并不是复制粘贴。
好的合并流程:
- 选出主页面;
- 比较两篇文章覆盖的查询;
- 保留真正有价值的段落、表格、案例;
- 删除重复解释;
- 更新标题、描述和内部结构;
- 设置旧 URL 的跳转或 canonical;
- 更新站内链接;
- 观察合并后查询覆盖和点击变化。
如果只是把两篇文章拼接在一起,页面可能变长,但未必更有用。
重写适合什么时候
当两篇内容看似重复,但背后的用户任务可以分开,就适合重写。
例如:
- “关键词聚类怎么做”讲判断方法;
- “关键词地图怎么做”讲把词分配到页面;
- “内容排期怎么做”讲发布时间和生产节奏。
它们都和关键词有关,但任务不同。此时要做的是明确边界,而不是合并。
三类读者的盲点
SEO 新手常见盲点是看到重复就想删除,忽略页面可能还有外链、历史数据或用户价值。
有一定经验的人知道 canonical,但容易把它当成所有重复内容的解决方案。
更资深的人需要区分技术重复、意图重复和模板重复,并让 canonical、重定向、内链和 sitemap 信号一致。
一个重复内容排查表
| 字段 | 填什么 |
|---|---|
| duplicate_type | URL 重复 / 意图重复 / 模板重复 |
| primary_url | 希望保留的主 URL |
| affected_urls | 受影响 URL 列表 |
| query_overlap | 查询是否重叠 |
| user_task | 用户任务是否相同 |
| action | canonical / 301 / 合并 / 重写 / noindex |
| follow_up | 更新内链、sitemap、监控 GSC |
处理重复内容的目标,是让用户和搜索引擎都能看清:哪个页面应该代表这个主题。