robots.txt是网站根目录下的纯文本文件,用来告知搜索引擎爬虫哪些页面允许抓取、哪些页面应避开。配置得当可节省抓取配额、减轻服务器负担,防止隐私页面进入搜索结果。掌握它的解析逻辑和常见误区,是站点日常运维的必备技能。
爬虫访问站点时,会先请求该文件。若文件缺失或为空,爬虫默认可抓取所有公开链接。文件遵循“顺序读取”和“最精确匹配”原则:爬虫从上往下逐行解析,并为每个User-agent选择最精确匹配的规则组,而不是直接套用通配符规则。
路径匹配区分大小写,例如/User/与/user/是两个不同的目录。需要强调的是,robots.txt仅作为“请求式”约束,并不具备强制力。若内容确实敏感,务必依赖账号认证、IP白名单或服务器端权限控制来真正封禁访问。
以下示例覆盖几种常见的应用场景,请根据项目目录结构调整后再使用。
配置完成后,可通过访问“域名/robots.txt”来检查是否正确输出。注意搜索引擎通常会缓存该文件,规则修改后,往往需要等待数小时甚至两天才会完全生效。
上线新规则后,除了直接访问文件确认格式,还可借助搜索引擎的站长后台(如Search Console的robots测试工具)模拟抓取,确认目标页面是否符合预期。建议定期检查抓取统计中的异常404,排查是否因规则误配导致重要页面被屏蔽。若改动后收录量明显下降,优先回滚最近一次修改并等待重新抓取。
小提示:robots.txt适合管理流量,不适合管理机密。涉及用户数据、后台操作页等,务必在应用层做好鉴权。
不能。robots.txt只能阻止爬虫抓取,但若页面被外部链接引用,搜索引擎仍可能以“仅URL”形式展示在结果中。若要彻底阻止收录,应使用noindex元标签或响应头。
生效时间取决于搜索引擎的重新抓取周期,通常为数小时至48小时不等。个别搜索引擎会延长缓存时间,建议修改后耐心观察,并通过站长工具提交重新抓取请求加速更新。
标准协议仅支持以“*”结尾的路径匹配,不支持正则表达式。某些搜索引擎(如Google)允许有限制的通配符“*”和“$”锚定,但其他引擎未必兼容,跨搜索引擎使用时建议保持规则简洁通用。
合理配置robots.txt能够提升抓取效率、保护敏感路径,但需注意它的非强制属性,并遵循顺序匹配与精确优先原则。建议每次修改后备份旧版本,使用验证工具检查格式,再结合抓取报告观察效果。优先让静态资源保持可访问,敏感数据靠权限体系来守护,才能真正发挥这份文件的价值。