最常见的误解是把 robots.txt 的 Disallow 当成“删除页面”或“禁止收录”的开关。实际上它只是一份抓取建议:告诉爬虫哪些路径不必抓取,并不等于把已收录页面从索引中移除,也不保证页面不会出现在搜索结果里。误把它当移除工具,往往会导致该抓的页面被挡住、不该出现的页面仍然出现。
Disallow 的作用是限制抓取,而不是删除索引。如果某个网址已经被收录,仅添加 Disallow 并不能让它从搜索结果中消失;有些搜索引擎在无法抓取页面时,仍可能保留旧标题、旧摘要或仅显示网址。
适用条件与判断结果:如果目标是“不让用户通过搜索进入某页面”,应优先考虑页面级 noindex(在页面可被抓取的前提下),或使用平台提供的移除工具处理已收录网址。若只写 Disallow,常见结果是抓取被挡、索引状态却未按预期变化。
抓取和索引是两个环节。把整站或整目录 Disallow 后,爬虫可能无法读取页面上的 noindex 指令,反而让已收录内容缺少更新依据。对希望彻底退出索引的页面,通常需要先允许抓取、让爬虫看到 noindex,再在确认生效后考虑是否收紧抓取。
可执行检查:
robots.txt 按路径前缀匹配,一个字符错误可能扩大到整站或整个语言目录。例如把 Disallow: / 误写成想限制某个子目录,结果会阻止全站抓取;把 Disallow: /private 写成 Disallow: /private-page,则可能只挡住一个页面而非整个目录。
处理方式:修改前先复制原文件,用测试工具验证具体网址是否被允许或阻止。检查项包括:目标路径、是否区分大小写、是否误加通配符、是否遗漏末尾斜杠。判断结果应以“测试某个完整网址”为准,而不是只看规则行是否顺眼。
robots.txt 只表达抓取偏好;站点地图只是提交网址线索。两者都不保证页面被收录、排名或获得流量。若页面本身质量低、重复、无法访问或需要登录,即使规则写得再宽松,也可能不被索引。
对比依据:把“抓取统计”“已编入索引的网址数”“站点地图提交量”分开看。抓取量上升不等于索引量上升;站点地图提交成功也不等于页面已收录。发现差异时,先检查页面是否可公开访问、是否有 noindex、是否返回正常状态码,再判断是否需要调整 robots.txt。
robots.txt 不是访问控制手段。它不能保护敏感目录,也不能替代登录验证、权限校验或防火墙。把后台、备份文件、配置文件的路径写进 Disallow,只是告诉遵守规则的爬虫不要抓,恶意抓取者仍可能直接请求。
正确处理:对不应公开的内容,使用服务器端认证、IP 限制或将其移出网站根目录。robots.txt 只作为抓取管理的补充,不能作为唯一防线。判断是否安全,应实际请求目标网址,确认未登录状态下返回的是拒绝访问,而不是页面内容。
第一步,明确目标:是减少抓取压力、阻止某类参数网址,还是让页面退出索引。第二步,列出受影响的具体路径,避免使用过宽规则。第三步,在测试工具中验证允许与阻止结果。第四步,发布后观察抓取统计和索引状态,若目标未达成,回到“抓取限制”与“索引控制”两个层面分别排查。
下一步建议:先找出当前 robots.txt 中影响范围最大的一条规则,用完整网址做一次允许/阻止测试,再决定是保留、收窄还是改用页面级索引控制。