识别配置互相冲突,核心是找“同一个抓取或收录决定被两处以上规则同时约束”的地方。最常见的冲突组合是 robots.txt 禁止抓取、页面 meta robots 允许收录、站点地图又提交了该 URL。判断方法不是逐项看谁对,而是按“抓取入口→页面指令→提交入口→最终结果”顺序做一次交叉比对,先处理会直接阻断抓取的规则,再处理只影响收录展示的规则。
robots.txt 管的是抓取,不是收录。它写 Disallow: / 时,搜索引擎可能不再抓取页面,但已收录的 URL 未必立刻消失。此时如果站点地图里仍提交该 URL,或者页面 meta robots 写着 index,follow,就构成典型冲突:一个入口说别来抓,另一个入口说欢迎收录。
执行步骤:
Disallow 和 Allow 行,标出被禁止的目录或文件。判断结果:如果该页面确实需要收录,应移除针对它的抓取禁止,或把它从站点地图中撤下;如果它本来就不该被抓取,则保留禁止,并接受它可能无法通过自然抓取被收录。
页面内的 meta robots 和 canonical 也会互相冲突。例如一个页面写 noindex,canonical 却指向自己;或者 A 页面 canonical 指向 B,B 页面又写 noindex。前者会让页面被明确排除在索引之外,后者会让“想合并权重”的目标页面本身不可收录。
检查项:
noindex 和指向自身的 canonical。适用条件:当页面内容重复度高、需要合并信号时,canonical 才有意义;如果页面本身要独立参与收录,就不应再对它加 noindex。两者同时存在时,优先按“是否要让这个 URL 出现在结果中”做取舍,而不是两个都留。
站点地图、内部链接、外链都算发现入口,但它们不保证收录。冲突常出现在:站点地图提交了被 robots.txt 禁止的 URL,或内部链接大量指向 noindex 页面。前者是“让搜索引擎发现一个不让抓的地址”,后者是“把抓取预算导向不打算收录的页面”。
一个可执行的短例子(假设):某分类页在 robots.txt 中被 Disallow: /tag/ 禁止,但站点地图仍包含 /tag/seo/,同时该页 meta robots 为 index,follow。此时最省时间的处理不是改 meta,而是先决定这个 tag 页要不要被抓取;若不要,就从站点地图移除并保留禁止;若要,就放开 robots.txt 并复查 canonical。
处理完后不要只看单个页面。取一组代表性 URL,包括首页、栏目页、详情页、分页和筛选页,逐项核对:
不同搜索引擎对 robots.txt、meta robots 和 canonical 的支持细节可能不同,应以各自官方文档为准分别核查。复查时若发现某 URL 仍被禁止抓取,就不必再纠结它为何没被收录,先解决抓取入口。
下一步:从站点地图中导出全部 URL,与 robots.txt 的禁止规则做一次批量比对,把“被禁止又被提交”的 URL 列成清单,按是否需要收录逐条处理。