Robots.txt 是放在网站根目录下的一个纯文本文件,它的作用是告诉搜索引擎的抓取工具,哪些页面可以访问,哪些页面应该避开。这份文件是网站与爬虫之间的君子协定,并非强制性的安全防线,合理配置能帮助爬虫更高效地抓取优质内容,同时减少服务器不必要的资源消耗。
当搜索引擎的爬虫准备抓取一个网站时,它首先会请求该站点根目录下的 /robots.txt 文件。如果文件存在,并且该爬虫遵守协议,它就会根据文件中的指令来规划自己的抓取范围。如果文件不存在,爬虫默认会认为整个网站都可以被公开访问和抓取。
在实际操作中,这份文件通常用来实现几个目的:禁止爬虫访问后台管理页面、过滤掉标签聚合页或搜索结果页这类低价值内容、降低抓取频率以节省服务器带宽。需要特别注意的是,正规的搜索引擎会遵守协议,但一些恶意程序并不会理会这些规则,所以千万不能把 robots.txt 当作安全工具来依赖。
Robots.txt 文件由一条或多条记录组成,每条记录以 User-agent 声明开始,后面跟着相应的指令行。想要正确配置,掌握以下五个基础指令不可或缺:
参考下面的写法,逻辑清楚,以后维护起来也方便:
User-agent: *
Disallow: /tmp/
Disallow: /private/
Allow: /private/special.html
Sitemap: https://www.example.com/sitemap.xml
这段规则的效果是:所有爬虫都不能抓取 tmp 和 private 两个目录,但 private 目录下的 special.html 文件被单独放行,同时还告知了爬虫站点地图的具体位置。
配置 robots.txt 看似简单,但实际操作中,一些细节上的疏忽往往会让预期效果落空。以下几个场景需要格外留意:
避坑提示:路径匹配属于前缀匹配,Disallow: /news 会同时屏蔽掉 /newsletter 这样的页面。如果只想屏蔽 news 目录,记得在末尾加上斜杠,写成 /news/,这样就不会殃及其他以 news 开头的路径了。
很多站长在初次配置时都会踩进一些常见的坑里,提前了解能省去不少排查的麻烦:
robots.txt 文件必须被放置在网站的根目录下,并且文件名要严格保持为小写的 robots.txt。例如,https://www.example.com/robots.txt 就是正确的访问地址。如果放置位置不对,爬虫就无法找到这份文件,所有配置都会变成空谈。
对于需要定期更新的网站,建议建立文件更新检查制度。每次改版或调整目录结构后,都要重新审视一遍规则。同时,可以在内容更新后主动通过搜索引擎的站长平台提交更新请求,加快爬虫的重新抓取速度。
可以使用搜索引擎官方站长工具中的 robots.txt 测试功能。例如 Google Search Console 和百度搜索资源平台都提供类似工具,输入文件内容后即可检查语法错误,并测试指定 URL 的抓取结果。此外,直接在浏览器中访问 /robots.txt 地址,也可以验证文件是否可以被正常访问。
不会。robots.txt 只是给遵守协议的搜索引擎爬虫看的,对恶意攻击者毫无约束力。它既不能隐藏敏感文件,也不能阻止别人下载页面内容。涉及到需要保密的信息,应该通过服务器级的访问控制或登录验证来处理,绝不能依赖 robots.txt 来保护数据。
两者都表示允许爬虫抓取所有内容,但写法上略有不同。Disallow 留空是显式声明"不禁止任何路径",而完全省略 Disallow 行则是默认的允许状态。在实际效果上没有差别,不过显式写出留空的 Disallow 可能会让阅读文件的人产生困惑,所以更推荐直接省略这一行,让文件保持简洁清晰。
合理配置 robots.txt 是网站 SEO 基础工作的重要一环。建议先从最小的限制开始,只屏蔽确实不想被抓取的低价值路径,避免因为误操作导致整站失去收录。修改完文件后,务必利用站长工具进行验证,同时建立一个定期检查和更新的习惯。记住,这份文件的作用是引导与协作,不是封锁与隐藏,抱着这个思路去配置,通常就不会出大问题。