处理重复或冲突信号,核心不是“把页面都提交一遍”,而是先判断冲突发生在哪一层:是同一内容有多个URL,还是页面同时给出互相矛盾的索引指令。时间和人手有限时,优先处理“同一内容多URL”和“robots.txt与页面指令冲突”这两类,因为它们最容易让搜索引擎在错误URL上建立索引,或让本该收录的页面长期不收录。
重复信号指多个URL指向相同或高度相似的内容,例如带参数与不带参数、带尾斜杠与不带尾斜杠、HTTP与HTTPS同时可访问。冲突信号指页面上的指令互相矛盾,例如一个页面既被robots.txt禁止抓取,又设置了noindex,或者canonical指向A,但站内链接和站点地图都指向B。
常见误解是:只要提交了站点地图,重复和冲突就会自动消失。实际上,站点地图只是发现URL的线索,不保证收录,也不能替代canonical或重定向。另一个误解是:HTTPS就等于安全无漏洞或排名更好。HTTPS是传输层要求,不解决内容重复,也不保证排名。
时间和人手有限时,可以按下面的顺序排查。判断依据是:该问题是否影响多个页面、是否让搜索引擎抓到错误版本、是否阻断正确版本被抓取。
site:查询、日志或抓取工具找出带参数、带大小写、带www与非www同时可访问的版本。假设某商品页可通过/p/123和/p/123?color=red访问,两版内容几乎相同。若canonical都指向不带参数的版本,且内部链接统一使用不带参数版本,重复信号会明显减少。若canonical指向带参数版本,而站点地图提交不带参数版本,就形成冲突,需要统一到一个首选URL。
选择依据是:旧URL是否还需要保留独立访问价值。
不要对同一组页面同时使用301和canonical指向不同目标,这本身就是冲突信号。也不要把canonical当成“投票”,它只是提示,不是强制指令。
下面每一项都可以直接执行,并给出判断结果。
robots.txt:目标URL是否被Disallow。若被禁止,先解除,再观察抓取与索引状态。<meta name="robots">:是否同时出现noindex和index,或noindex与canonical并存。若noindex是刻意设置,canonical不应再指向该页。不同搜索引擎对canonical、noindex、robots.txt的支持和优先级可能不同,需要分别核查。例如,有的搜索引擎可能更依赖站点地图和内部链接来判断首选版本,有的则更依赖canonical。因此,处理冲突信号时,不要只改一个标签就结束,要同时让robots.txt、canonical、站点地图和内部链接指向同一个首选URL。
选一个最重要的内容目录,列出该目录下所有可访问URL,标出每个URL的canonical目标、站点地图是否包含、内部链接指向哪个版本。只要这三项不一致,就先统一它们。统一后再提交站点地图,并通过抓取工具或日志观察目标URL是否被抓取。若仍不收录,再检查内容质量、抓取预算和服务器响应,而不是继续堆叠重复的索引指令。