Robots.txt 是网站根目录下的一份文本文件,用来告诉搜索引擎爬虫哪些内容可以抓取、哪些路径应当避开。它并非强制性的访问控制工具,而是依赖爬虫自觉遵守的行业惯例。正确配置这份文件,能让爬虫更高效地抓取有价值内容,同时减少对服务器的无效请求。
当搜索引擎的爬虫访问一个站点时,首先会查找根目录下的 robots.txt 文件,以此为参考决定后续抓取范围。如果该文件不存在,爬虫通常认为整个站点都可供抓取。
在现实场景中,这份文件常用于阻挡后台管理入口、过滤低价值页面(例如搜索结果页或自动生成的标签聚合页)、降低抓取频率以保护服务器性能。
但需要清醒认识到:它只对遵守规范的搜索引擎生效,对恶意采集程序毫无约束力。如果站点存在需要保密的数据,请务必通过登录验证等手段加以保护,而不是依赖 robots.txt。
Robots.txt 由若干条记录组成,每条记录都以 User-agent 开头指明适用的爬虫,随后逐行列出指令。掌握以下几个核心指令,就抓住了配置的关键:
下面给出一个直观的配置示例,便于理解各项指令的组合方式:
User-agent: *
Disallow: /tmp/
Disallow: /private/
Allow: /private/readme.html
Sitemap: https://www.example.com/sitemap.xml
这段配置的含义是:所有爬虫不得访问 tmp 目录和 private 目录,但 private 目录中的 readme.html 可被单独访问;同时将站点地图地址告知爬虫。
看似简单的语法,实操中却常有细节被忽略,导致配置效果与预期相反。以下场景值得每一位站长留意:
配置完成后,务必进行验证,确保指令按预期生效。许多站长最容易犯的错误,往往集中在以下几个方面:
一个稳妥的做法是:每次修改后,直接通过浏览器访问 https://你的域名/robots.txt 查看文件内容是否与预期一致,再结合站长工具做进一步的抓取验证。
必须放在网站根目录下,且文件名保持为纯小写的 robots.txt。例如网站域名为 www.example.com,则该文件的访问地址为 https://www.example.com/robots.txt,不能放在子目录或其他位置。
两者在效果上基本相同,都表示允许所有爬虫抓取全部内容。但为了配置更清晰易懂,建议主动写 Disallow: 并留空,而不是省略这一行,这样后续维护时意图更明确。
没有固定时间表。爬虫通常会在下次抓取时读取更新后的文件,快则几小时,慢则几天。如果希望加快生效速度,可以在搜索引擎站长工具中手动提交更新通知或请求重新抓取。
Robots.txt 虽小,却直接关系到搜索引擎对站点的认知效率。建议在动手修改前,先理顺自身需求:是要屏蔽某个目录、开放个别文件,还是降低抓取频率。在明确目标后,遵循本文的语法要点编写规则,并在发布后用站长工具验证结果。同时,定期复查该文件,避免因目录结构调整导致旧规则失效或误伤重要页面。