robots.txt 是网站根目录下一个纯文本文件,用于向搜索引擎爬虫说明哪些内容可以抓取、哪些内容应该回避。正确配置它能有效节省抓取额度、降低服务器压力,并防止私密页面被收录。但这个文件看似简单,语法细节和执行逻辑并不直观,配置失误反而可能拖累站点的收录和排名表现。
搜索引擎爬虫访问网站时,会首先请求 robots.txt 文件。如果该文件不存在,那么所有公开链接默认都会被爬取。文件解析遵循“逐行读取”和“最长匹配优先”的原则:当存在多个 User-agent 段时,每个爬虫只会匹配与其名称最匹配的那个段,通用规则(如 `User-agent: *`)不会覆盖针对特定爬虫的专属规则。
路径匹配是区分大小写的,这一点需要特别留意。例如,`/Private/` 与 `/private/` 在爬虫看来是两个完全不同的目录。另外需要明确的是,robots.txt 本质上是“君子协定”,并没有强制约束力。真正重要的敏感信息,必须依靠登录认证、IP 白名单或服务器端权限控制来防护,不能依赖这个文件。
下面给出几种典型场景的标准写法,实际使用时请根据项目的目录结构灵活调整。
配置完成后,可以在浏览器中直接访问“你的域名/robots.txt”来检查文件内容是否显示正常。请注意,搜索引擎会缓存这一文件,修改生效通常需要数小时甚至两天,建议耐心等待,不要频繁改动。
修改完 robots.txt 后,除了人工打开文件核对内容外,建议使用搜索引擎站长平台(如 Google Search Console 或百度搜索资源平台)自带的抓取测试工具,模拟指定爬虫抓取页面,观察它是否能正确获取你预期的内容。
在日常运维中,建议将 robots.txt 的修改记录纳入版本管理。每次变更都要记录原因和时间,以便在出现收录异常时快速回退。此外,不要在文件里写入过于复杂的规则,越简单的逻辑越不容易出错。如果某些目录已通过登录页保护,也可以完全删除对应的 Disallow 规则,减少配置负担。
由于搜索引擎会缓存该文件,修改通常不会立即生效。一般来说,短则数小时,长则一到两天,具体取决于搜索引擎的抓取频率。建议修改后不要频繁变动,可通过站长平台的抓取测试工具确认响应内容是否已更新。
在大多数主流搜索引擎(如 Google)中,当同一条路径同时命中 Allow 与 Disallow 时,以匹配路径更长的规则为准;如果长度相同,则按文件内的先后顺序判断。为避免歧义,建议在规则中让 Allow 与 Disallow 的路径尽量明确,不要存在重叠。
并非所有爬虫都会严格遵循该协议。知名搜索引擎如 Google、Bing、百度等都会良好遵守,但一些恶意爬虫或采集工具可能会无视规则。因此,对于需要保护的敏感数据,仍需通过登录认证或服务器端权限设置来保障安全,不能只依赖 robots.txt。
robots.txt 是站点与搜索引擎沟通抓取边界的重要工具,掌握其匹配逻辑和写作规范能避免许多隐蔽问题。建议从简单规则入手,优先确保静态资源和核心页面可被抓取,再逐步添加需要屏蔽的目录。上线前务必验证文件内容,并为敏感信息设计真正的访问权限控制方案,这样才能在安全和收录之间取得平衡。