处理百度收录中的重复或冲突信号,核心做法是:先确认百度实际抓取和收录的是哪个URL版本,再让站内所有信号指向同一个首选版本。重复信号通常来自同一内容可通过多个URL访问,冲突信号则来自canonical、robots、站点地图、内链等位置给出的指示互相矛盾。判断依据应以百度搜索资源平台中该URL的抓取、收录状态,以及百度实际返回的搜索结果为准,而不是只看自己页面里的声明。
重复信号指同一篇内容存在多个可访问地址,例如带与不带www、带与不带结尾斜杠、参数顺序不同、大小写不同。这些URL各自都能打开,百度可能分别抓取,也可能只选其中一个展示。
冲突信号指多个位置对“哪个是首选URL”给出不同答案。常见冲突包括:页面A的canonical指向B,但B的canonical又指回A;内链大量指向非首选版本,而站点地图只提交首选版本;某个版本被robots.txt禁止抓取,却在站点地图中被提交。冲突本身不会直接导致惩罚,但会让百度难以确定唯一版本,表现为收录分散、替换缓慢或搜索结果中出现的URL与预期不一致。
观察:先收集证据,不要急着改配置。用百度搜索资源平台的抓取诊断或URL收录查询,分别检查每个候选URL;用site:查询观察百度当前选了哪个版本;用服务器日志或平台抓取记录确认百度实际抓取了哪些URL。把候选URL、HTTP状态码、canonical目标、是否被robots禁止、是否在站点地图中列成一张表。
判断:找出信号不一致的位置。如果多个URL返回200且内容相同,属于重复信号;如果canonical、内链、站点地图、robots指向不同版本,属于冲突信号。注意一个现象可能有多种解释:例如首选版本未被收录,可能是抓取被限制,也可能是canonical指向了另一个版本,还可能是该URL本身从未被内链或站点地图暴露,需要逐项排除,不能只凭单一现象下结论。
处理:确定一个首选URL,然后让各信号统一。可执行的步骤是:
canonical是否指向自身,且全站同一内容只保留一个canonical目标。robots.txt没有误封首选版本或它依赖的资源;如需移除收录,应使用合适的移除方式,抓取限制不等于可靠的索引移除。复查:修改后不要立即期待结果。先确认首选URL返回200、canonical自指、站点地图可访问,再通过平台重新提交或触发抓取。之后定期复查百度实际展示的URL是否收敛到首选版本。站点地图提交不保证收录,301和canonical的生效也需要时间。
假设某商品页既可通过/product?id=123访问,也可通过/product/123访问,两个地址都返回200且内容相同。内链指向参数版本,站点地图提交静态版本,页面canonical又写成参数版本。此时百度收到三个不同指向,可能分别抓取两个URL。
处理方式是选定静态版本为首选,把参数版本301到静态版本,canonical改为静态版本自指,内链和站点地图统一为静态版本。复查时观察百度是否仍抓取参数版本,以及搜索结果中展示的URL是否逐步变为静态版本。如果参数版本仍被频繁抓取,再检查是否有外部链接或站内旧链接继续指向它。
上述方法适用于同一站点内、内容基本相同的多个URL。如果两个URL内容差异较大,不应强行合并,而应各自保留并明确canonical。如果重复来自其他站点采集或转载,站内调整无法直接控制对方页面,只能先确保自身首选版本清晰、可抓取、有内链支持。
判断处理是否有效,看三点:百度抓取的URL是否向首选版本集中;搜索结果中出现的URL是否与首选版本一致;平台中首选版本的抓取和收录状态是否稳定。若长时间没有变化,回到观察步骤重新收集证据,确认是否存在遗漏的冲突信号,而不是反复修改同一处配置。
下一步可以打开百度搜索资源平台,导出近期抓取数据,把出现频次最高的非首选URL列出来,逐个检查它的canonical、内链和重定向设置。