识别配置互相冲突,核心方法是把影响百度收录量的几类设置逐项列出,再检查它们对同一批 URL 给出的指令是否一致。只要出现“一个地方允许抓取、另一个地方禁止抓取”或“一个地方要求收录、另一个地方要求移除”,就属于冲突。冲突不一定立刻让收录量下降,但会让百度 spider 在面对同一 URL 时得到矛盾信号,最终表现为该收录的页面没收录、该移除的页面仍留在索引里。
与百度收录量直接相关的配置通常分布在四个层面,识别冲突时要按 URL 维度对齐,而不是按文件维度看:
冲突常出现在这些层面的交叉处。例如 robots.txt 允许抓取 /old/,但该目录下页面的 meta robots 写着 noindex,同时站点地图又把 /old/ 下的 URL 全部提交。这时百度能抓取,却收到“不要索引”的页面指令,站点地图却在推荐收录,三方信号不一致。
很多人认为只要在 robots.txt 里写 Disallow,百度收录量就会相应减少。这个理解不准确。robots.txt 的抓取限制不等于可靠的索引移除:被禁止抓取的 URL 仍可能因为外链、历史记录等原因留在索引中,而且由于 spider 无法抓取页面,它反而看不到页面上的 noindex,移除请求可能长期无法生效。
所以判断配置是否冲突时,不能只看 robots.txt 是否禁止,还要看这个 URL 是否已经存在于索引、是否有其他入口指向它,以及页面级指令是否可被抓取到。
把待检查的 URL 按下面的组合归类,能较快看出问题所在。以下判断基于百度对抓取与索引的一般处理逻辑,不涉及具体阈值:
noindex + 站点地图提交:冲突。应决定是保留并索引,还是移除并停止提交。noindex:看似双重否定,实际 spider 抓不到页面,noindex 可能不被读取,移除效果不可靠。X-Robots-Tag: noindex + 页面 meta 允许索引:冲突,且响应头通常优先于页面内 meta,应按响应头为准调整。这张表的作用是暴露矛盾,不是预测收录结果。百度是否收录还受内容质量、重复度、链接关系等因素影响,配置一致只是必要条件之一。
按下面顺序操作,可以把“可能冲突”逐步缩小到“已经定位的冲突”:
发现冲突后通常有两种处理方向,选择取决于页面是否还有保留价值:
方案一:统一为允许收录。适用于页面内容仍有搜索需求、外链或内链指向它、且不存在重复页面问题的情况。做法是让 robots.txt、meta、canonical、站点地图都指向“可抓取可索引”。判断结果是该 URL 应逐步进入或保留在索引中。
方案二:统一为移除。适用于页面已下线、内容重复或不再希望被搜索展示的情况。注意不要只靠 robots.txt 禁止抓取,因为抓取限制不等于可靠的索引移除。更稳妥的顺序是先允许抓取、让页面返回 noindex 或 404/410 状态,待索引移除后再考虑是否禁止抓取。判断结果是该 URL 应逐步从索引中消失。
两种方案不能混用。同一批 URL 里一部分按方案一、一部分按方案二时,要分别记录,避免改完 robots.txt 后忘记同步 meta 或站点地图,造成新的冲突。
现在就选一个近期收录量异常的子目录,按上面的检查步骤抽取 5 条 URL,逐条记录 robots.txt、meta robots、X-Robots-Tag、canonical 和站点地图状态,先确认冲突是“可能原因”还是“已经定位的原因”,再决定统一为允许收录还是统一为移除。