Robots.txt 是网站根目录下的一个纯文本文件,本质上是一套给搜索引擎爬虫看的"抓取规则说明"。它通过简单的指令告知爬虫哪些区域可以进入、哪些区域应当回避。这份文件并非强制性的技术屏障,更像一份依赖爬虫自觉遵守的合作约定,配置合理时能有效引导爬虫聚焦优质内容,减轻服务器负担。
爬虫每次访问一个站点时,会习惯性地先请求该站点根目录下的 robots.txt 文件,以此为依据规划自己的抓取路线。如果找不到这个文件,爬虫就会假设全站内容默认可抓取。
在实践中,这个文件通常被用来处理以下需求:屏蔽后台管理入口、过滤掉价值较低的内容页面(例如站内搜索结果页、自动生成的标签页)、适当降低爬虫抓取频率以保护服务器资源。需要注意的是,规范的搜索引擎确实会服从这些指令,但恶意程序或非法采集脚本不会对此理会,所以切勿把 robots.txt 当作网站安全防线。
robots.txt 的内容由若干记录组成,每条记录都以 User-agent 开头声明适用的爬虫对象,后面跟随具体的规则指令。想要准确配置,必须理解下面几个核心语法:
下面是一个逻辑直观的配置示例,便于理解各指令的搭配方式:
User-agent: *
Disallow: /cache/
Disallow: /admin/
Allow: /admin/login.html
Sitemap: https://www.exampleexample.com/sitemap.xml
以上内容表达的含义为:所有爬虫均被禁止访问 cache 和 admin 两个目录,但 admin 目录下的 login.html 文件被单独许可访问;同时,站点地图的位置也被告知给了爬虫。
尽管语法简单,但实际配置中往往因为理解不到位而出现偏差。以下几个典型场景值得关注:
文件上传后,应主动进行验证,而不是被动等待结果。建议从以下两个步骤入手检查配置效果:
同时要留意,robots.txt 的规则修改后并不会立刻生效,爬虫会在下一次抓取时重新读取文件,通常会有数小时至数天的延迟。调整配置后应当持续观察一段时间的爬虫访问日志与收录变化,以避免误拦截的情况持续过久。
不能。该协议只对自觉遵守的搜索引擎有效,它并不能阻止恶意爬虫或人工手段获取内容。如果存在真正需要保护的数据,应当依赖登录验证、IP 访问控制等有效安全机制。
不一定。Crawl-delay 是一个兼容性较差的指令,Google 早已宣布不支持该字段,百度等部分搜索引擎的支持度也不稳定。真正可靠的限速手段应使用各搜索平台的抓取频率设置功能。
会有影响。block 只能阻止爬虫继续抓取页面,已经收录的网页不会立即从搜索结果中消失,它们会在后续爬取过程中逐步被移出索引。若希望加速删除内容,应配合使用 noindex 标签或将 URL 提交到搜索引擎删除工具。
robots.txt 是一份轻量且有用的工具文件,配置得当能为技术 SEO 带来明显帮助。维护好它的关键在于保持规则的简洁和明确,在改动后必须及时验证效果并观察收录数据。建议将 robots.txt 纳入网站例行检查目录,避免因误配置导致整站收录异常。