最常见的误操作,是把 robots.txt 当成“删除网页”或“控制收录”的开关。它实际表达的是抓取许可:告诉爬虫哪些路径不希望被抓取。它不能可靠地移除已收录页面,也不能保证页面一定被收录。多人协作时,只要有人把“禁止抓取”和“禁止索引”混为一谈,就可能误封整站、误伤资源文件,甚至让已收录页面长期留在结果里。
准备修改前,先把目标写清楚。要阻止搜索引擎抓取某个目录,用 robots.txt 的 Disallow 是合适的;要让已经收录的页面从搜索结果中消失,应使用页面级 noindex,并确保该页面仍可被抓取,否则 noindex 可能读不到。要移除整站或大量页面,优先考虑服务器返回 404、410 或使用平台提供的移除工具,而不是只写一行 Disallow: /。
另一个准备误区是认为“写了 robots.txt,页面就不会出现在搜索结果里”。实际上,如果其他网站链接了该 URL,搜索引擎仍可能仅凭链接信号将其收录为无摘要结果。判断方法:在搜索框查询该 URL,看是否仍有结果;若有,检查页面是否可抓取、是否带 noindex,而不是继续加 Disallow。
第一,路径匹配误解。Disallow: /admin 会匹配 /admin、/admin/ 以及 /administrator 等以该字符串开头的路径,而不只是某个目录。若要精确限制目录,通常写 Disallow: /admin/。第二,通配符与结尾符号误解。* 表示任意字符,$ 表示 URL 结尾,但不同爬虫对语法的支持并不完全一致,不能假设所有引擎行为相同。
第三,误封 CSS、JavaScript 和图片。若这些资源被 Disallow,爬虫可能无法正确渲染页面,影响对页面内容的理解。第四,把站点地图地址写进 robots.txt 就以为会被收录。站点地图只是发现 URL 的辅助线索,不保证收录,也不保证排名。第五,认为 HTTPS 或 robots.txt 能解决安全问题。HTTPS 只加密传输,不保证站点无漏洞;robots.txt 是公开文件,不能当作访问控制手段。
多人协作时,最关键的一步是:任何 robots.txt 变更都走代码评审,并在合并前用测试工具或搜索引擎的 robots.txt 测试功能验证具体 URL 的匹配结果。不要直接在生产环境手改。
验证时至少检查四类 URL:首页、重要栏目页、被限制的目录页、CSS 或 JS 资源。对每个 URL 确认:是否被目标爬虫允许抓取、是否返回正常状态码、是否被页面级 noindex 影响。若发现重要页面被误封,先恢复允许抓取,再观察搜索结果变化;不要同时改多处规则,否则无法判断哪一步生效。
还要区分“可能原因”和“已经定位的原因”。页面未收录可能是 robots.txt 阻止、noindex、 canonical 指向他处、内容质量不足或抓取预算有限,不能仅凭一条 Disallow 就断定原因。检查项包括:服务器日志中爬虫是否访问、页面是否可公开访问、robots.txt 是否返回 200、规则是否误匹配。
维护误区是“设置一次就不用管”。站点改版、目录迁移、临时活动页下线时,旧规则可能误伤新路径。建议每次上线前跑一遍差异检查:新增或删除的路径是否仍符合当前抓取策略;被 Disallow 的路径是否包含需要被索引的页面;站点地图中的 URL 是否与 robots.txt 规则冲突。
若需要移除已收录内容,维护动作应是:先确认页面可被抓取,再部署 noindex,待搜索引擎重新抓取并移除结果后,再考虑是否用 robots.txt 限制抓取。顺序颠倒会导致 noindex 无法被读取。不同搜索引擎的支持情况须分别核查,不能用一个引擎的表现推断另一个。
下一步:列出当前 robots.txt 中所有 Disallow 规则,逐条标注“阻止抓取的原因”和“是否影响索引移除目标”,把无法说明原因的规则提交给负责人确认后再决定保留或删除。