处理重复或冲突信号的核心做法是:先确认搜索引擎实际抓到了哪个版本,再判断重复来自站内还是站外,最后用规范化信号收敛,而不是同时提交互相矛盾的指令。下面是一份可执行清单,每项都说明查什么、怎么查、结果说明什么。
要查的是:目标 URL 是否被抓取、被索引,以及索引的是哪个版本。怎么查:在搜索引擎的站长工具里用 URL 检查功能看抓取状态;再用 site: 查询确认实际收录的是带参数、带 www 还是不带 www 的版本。结果说明什么:如果收录的是另一个版本,说明冲突出在规范化信号上,而不是内容本身;如果完全没被抓取,先排查 robots.txt 是否屏蔽,但要记住 robots.txt 的抓取限制不等于可靠的索引移除,被屏蔽的页面仍可能因外链被收录。
要查的是:<link rel="canonical"> 指向、站点地图里的 URL、内链指向、hreflang 指向是否一致。怎么查:打开同一页面的源代码,逐项比对这四个位置写的 URL 是否完全相同,包括协议、域名、尾斜杠和大小写。结果说明什么:只要有一处指向不同版本,搜索引擎就可能把它当作两个页面处理。常见冲突是 canonical 指向 A 版,而站点地图提交的是 B 版,这时应统一到同一个首选版本,再重新提交站点地图,但站点地图不保证收录。
要查的是:重复内容的来源。怎么查:用带引号的整句搜索,看还有哪些域名或本站哪些 URL 出现同样内容;再检查分页、筛选参数、打印页、会话 ID 是否生成了大量近似 URL。结果说明什么:站内参数重复优先用 canonical 和参数处理规则收敛;站外复制则要看对方是否加了指向你的链接,有则可能帮你确认原版,无则只是分散信号。不同搜索引擎对 canonical 的支持程度须分别核查,不能假设一处设置全平台生效。
/robots.txt,看目标路径是否被 Disallow。被屏蔽说明抓取受限,但不要把它当成移除收录的手段。假设一个例子:某页面同时存在 example.com/a 和 example.com/a?ref=1,两者都返回 200,canonical 都指向自己。这就是典型的自指冲突。把带参数版本的 canonical 改为无参数版本,并在内链中只使用无参数地址,是可直接执行的收敛步骤。适用条件是参数不影响页面实质内容;如果参数确实对应不同内容,就不应合并。
要查的是:修改后搜索引擎是否把首选版本作为展示版本。怎么查:重新抓取首选 URL,观察一段时间后的 site: 结果和搜索结果展示的 URL。结果说明什么:如果展示 URL 逐步统一到首选版本,说明信号已收敛;如果仍是旧版本,检查是否还有未改的内链或外链在指向旧版。HTTPS 不保证安全无漏洞或排名,它只是协议层信号,不要把它当作解决重复问题的办法。整个处理过程应以证据为准:先定位是抓取问题、规范化问题还是外链问题,再决定改哪一处,避免同时下多个互相冲突的指令。
下一步:从上面清单中选出你已确认存在冲突的那一项,只改这一处并记录修改前后的 URL,等重新抓取后再判断是否需要动下一项。