处理重复或冲突信号的核心,是让百度蜘蛛在同一个页面上只看到一套一致的信息:同一个网址只返回一个规范版本,同一个内容只指向一个主页面,抓取规则、站点地图、内链和页面上的canonical彼此不打架。多人协作时,先把这些信号列成可交付的清单,再分配责任和验收标准,比反复提交网址更有效。
从结果倒推,一个页面要能被百度正常抓取和判断,至少需要四类资料:
这四类资料如果由不同的人维护,冲突几乎必然出现。例如运营在sitemap里提交了带参数的URL,前端在页面上写的canonical却是不带参数的版本;或者robots.txt禁止了某个目录,但内链仍然大量指向该目录下的页面。百度蜘蛛遇到这种矛盾,可能减少抓取或选择错误的版本,最终表现为该收录的页面没有收录,或者多个重复页面互相竞争。
不要笼统地说“信号不一致”,要拆成能逐条核对的检查项:
其中第4项需要特别说明:robots.txt的抓取限制不等于可靠的索引移除。禁止抓取某个URL,只是阻止百度蜘蛛获取该页面内容,并不能保证它从索引中消失;如果其他页面大量链接该URL,它仍可能以无描述的形式出现在结果中。因此,用robots.txt处理重复内容通常不是好办法,更合适的是用canonical或301跳转明确主版本。
把检查项对应到具体角色,可以减少返工:
验收时不要只看“提交成功了”。可以执行一个具体步骤:从sitemap中随机抽取若干URL,逐个在浏览器中打开,查看地址栏最终停留的URL是否与canonical一致;再查看该URL是否被robots.txt禁止。如果最终URL与canonical不同,或者被禁止抓取,就说明存在冲突信号,需要回到对应责任人修改。
假设某商品页可以通过两个URL访问:/product?id=123和/product/123。如果两个都返回200,且页面上没有canonical,百度可能分别抓取并判断为重复内容。处理方式是:让/product?id=123301跳转到/product/123,页面canonical写/product/123,sitemap只提交/product/123,内链也统一指向它。完成后,用上述抽取检查法验证:打开带参数的URL,应看到地址变为不带参数的版本;查看页面源代码,canonical应与最终URL一致。
适用条件是:两个URL内容确实相同,且你已确定哪个是主版本。如果两个页面内容有实质差异,比如不同颜色或不同规格,就不应该合并,而应各自保留独立URL和独立canonical。判断结果是:信号一致后,百度蜘蛛只需处理一个版本,重复抓取和冲突判断会减少;但收录仍取决于页面质量、抓取预算和百度自身的判断,不保证一定收录或排名。
从你负责的站点中选10个重要页面,按上面的检查项逐条记录:最终URL、canonical、sitemap是否包含、robots.txt是否允许、内链指向是否一致。把不一致的项按责任角色分派修改,修改后重新抽查同一批页面,直到五项信号指向同一个主URL。这个动作可以直接落地,也能作为多人协作时的交付验收依据。