识别配置互相冲突,核心方法是把影响“抓取—索引—展示”的规则逐条列出,找同一对象上方向相反的指令。例如 robots.txt 禁止抓取某目录,页面却用 meta robots 要求 index;或者站点地图提交了 URL,robots.txt 又整体屏蔽了爬虫。判断冲突不能只看单个文件,要把 robots.txt、meta robots、X-Robots-Tag、canonical、站点地图、服务器状态码放在同一张表里对照。
不要凭感觉说“没收录”。用 site: 查询只能作为粗略线索,不同搜索引擎的语法与结果差异很大,必须分别核查。更可靠的做法是查服务器日志中的爬虫访问记录、看搜索引擎站长平台里的抓取与索引报告,再用 URL 检查类工具看单页状态。常见现象包括:页面长期不出现、出现的是另一个 URL、标题描述与预期不符、抓取频次突然下降。
把这些现象对应到配置层:
冲突的本质是“一个信号说允许,另一个信号说拒绝”,或者“两个信号指向不同 URL”。逐项比对时,重点看以下组合。
Disallow: /a/,而 /a/ 页面写 index,follow。注意:robots.txt 禁止抓取后,爬虫可能读不到页面里的 meta 指令,因此页面上的 index 无法生效。robots.txt 的限制不等于可靠的索引移除,被禁止抓取的 URL 仍可能因外链被索引。多人协作时,返工往往来自“各改各的”。建议先建一张表,每行一个 URL,列为:HTTP 状态码、robots.txt 是否允许、meta robots、X-Robots-Tag、canonical 目标、是否在站点地图、期望索引结果。填写时用实际抓取结果,不要凭记忆。
可执行步骤:
X-Robots-Tag。<meta name="robots"> 和 <link rel="canonical"> 的值。修正原则:先统一“是否允许抓取”,再统一“是否允许索引”,最后统一“以哪个 URL 为准”。改动后记录修改人和时间,避免多人同时改同一文件。
配置修改后,爬虫不会立刻重新抓取。复查要分两步:先确认服务器返回的内容已经是新配置,再等爬虫重新访问后看索引状态。可以用日志确认爬虫是否再次抓取目标 URL,用站长平台的 URL 检查工具请求重新抓取。若多日无变化,回到对照表,检查是否还有未清理的旧规则,例如 CDN 或反向代理层额外添加的响应头。
判断是否真正解决的依据是:同一 URL 在 robots.txt、meta robots、X-Robots-Tag、canonical、站点地图五个位置上的信号方向一致,且实际抓取返回的状态码与预期相符。HTTPS 只解决传输加密,不保证页面安全无漏洞,也不保证收录或排名,不要把它当作收录问题的答案。
下一步:挑一个当前收录异常的 URL,按上面的对照表逐项填写,先找出方向相反的那一行,再决定改哪个文件,并把修改记录同步给协作同事。