网站收录

站内重复内容:同一篇内容出现在多个 URL,索引里该留哪一版

同一篇内容常常能通过多个 URL 打开:列表页输出全文、打印版、标签聚合页、带跟踪参数的地址。本文先帮你区分真重复与模板相似,再按“定主版本—统一内链—给规范信号—收口次要版本”的顺序处理,并说明 canonical、noindex 与 robots.txt 各自能做什么、不能做什么。

网站收录

站内重复内容:同一篇内容出现在多个 URL,索引里该留哪一版

先分清:重复是真重复,还是看起来像

站内出现多个可访问的相似 URL,不等于都要清理。先按重复程度分组,再决定动作,能避免把本来正常的页面误伤。

  • 完全重复:同一段正文,通过不同 URL 都能完整打开,例如详情页的打印版、AMP 版、带会话或跟踪参数的版本。
  • 近似重复:正文一致,但标题、面包屑、侧栏推荐不同。最典型的是列表页把摘要换成了全文输出。
  • 模板相似:不同内容套同一模板,页头页脚一致但正文各不相同。这类一般不算重复内容,不需要处理。

真正需要收口的是前两类。第三类如果动了,反而可能切断正常的页面发现路径。

常见的重复来源

  • 列表页、标签页、聚合页直接输出全文,导致同一篇文章有多个完整版本。
  • 打印版、移动版、纯文本版等并存的旧模板地址。
  • 筛选、排序、分页参数被组合出大量可访问 URL。
  • 推广链接里的跟踪参数,让同一页面带上不同后缀。
  • 测试域名、旧域名、http 与 https、带与不带 www 同时可访问。
  • 商品或内容的多个分类路径,都能到达同一个详情页。

这些来源里,有些可以在模板层一次性解决,有些只能逐类收口,成本差别很大,值得先排序。

处理顺序:先定主版本,再给信号

  1. 确定主版本。选一个结构稳定、以后不会再改的 URL 作为规范版本,其余都算副本。
  2. 统一站内链接。导航、面包屑、内链、分页链接都指向主版本。内链是最直接的信号,比标签更早生效。
  3. 加 canonical。让副本页面在页面级声明主版本地址。这一步是建议,不是命令。
  4. 收口次要版本。对确实不需要进索引的版本,用 noindex 标记;前提是这些页面允许被抓取,否则标记读不到。
  5. 清理 sitemap。站点地图只保留主版本,不要把副本一并提交。
canonical 是提示而不是指令。搜索引擎仍可能根据自己的判断选择另一版作为展示版本,所以不要把它当成删除按钮,也不要用它来掩盖内容质量问题。

几个容易做错的点

  • noindex 页面被 robots.txt 挡住。抓取被拦后,页面上的 noindex 也无法被读取,两边信号会互相抵消。
  • 用 canonical 处理站外转载。跨域场景下它只能表达意愿,最终以对方是否配合为准。
  • 分页页全部 canonical 到第一页。这可能让后续列表里的新 URL 更晚被发现,通常不是好选择。
  • 只改模板不改数据。旧参数地址仍在服务端返回 200,抓取时照样能访问到完整内容。

怎么复查有没有收住

  • 在站点后台的页面报告里关注“重复网页,搜索引擎选择的规范网页与用户指定的不同”这一类提示,它是判断信号是否被采纳的直接入口。
  • 用站点查询粗看副本地址是否还留在索引里,注意查询结果只是粗略样本,不适合当精确计数。
  • 看服务器日志,确认爬虫的抓取重心是否已经转移到主版本。
  • 索引更新存在延迟,改动后给自己留出数周的观察窗口,中途反复改信号只会让判断更乱。

小结

站内重复的处理逻辑并不复杂:先按重复程度分组,选出唯一的主版本,用内链把权重和发现路径集中过去,再用 canonical 和 noindex 做补充说明。真正容易出问题的地方,往往是信号之间互相打架,以及改完之后没有复查究竟哪一版留在了索引里。