robots.txt是放在站点根目录下的一个纯文本文件,用来告诉搜索引擎的抓取程序哪些页面可以访问、哪些页面应该绕开。这个文件配置得当,能让蜘蛛把精力集中在有价值的页面上,对收录效率有实际帮助;配置失误则可能造成整站不被收录,或者后台、隐私目录被意外抓取。下面从基础语法、不同场景配置到高频踩坑点,把这件事完整讲清楚。
robots.txt的内容由一组组的指令构成,格式有严格约定。常用字段只有四个,掌握它们就等于掌握了配置的全部基础:
一个常见的配置示例:
User-agent: *
Disallow: /temp/
Allow: /temp/public/
Sitemap: https://www.yourdomain.com/sitemap.xml
书写时有两个细节容易忽略:一是路径区分大小写,/admin/与/Admin/被视为两个不同的目录;二是所有符号必须使用半角英文字符,一旦混入全角冒号或斜杠,整行规则都不会生效。
网站所处阶段不同、架构差别不同,robots.txt的写法也应当随之调整。以下覆盖几类最常见的实际使用需求。
网站在改版调试或临时下线时,不希望蜘蛛继续抓取页面,用一条全局规则就能实现。需要留意的是,这只能阻止后续的抓取动作,无法删除搜索引擎里已有的旧快照。若想清空历史索引记录,需要额外到百度搜索资源平台或Google Search Console提交删除申请。
User-agent: *
Disallow: /
对于资讯展示站、个人博客这类没有敏感内容的站点,不需要写任何Disallow规则,只需声明Sitemap即可。这种最小化配置对蜘蛛最无负担,有助于整站页面被充分遍历。
User-agent: *
Sitemap: https://www.yourdomain.com/sitemap.xml
企业官网通常需要隐藏后台登录入口、用户数据目录以及临时上传文件夹。这样既能防止敏感信息出现在搜索结果里,也在一定程度上降低了攻击者通过搜索引擎定位后台的风险。
User-agent: *
Disallow: /admin/
Disallow: /member/
Disallow: /uploads/tmp/
配置完成后,建议直接在浏览器输入你的域名加robots.txt(例如 yourdomain.com/robots.txt),确认内容已正确生效、没有语法问题。
很多站点在robots.txt上栽跟头,往往不是不懂语法,而是踩中了几个隐蔽的坑。梳理下来,高频问题主要集中在下面几类:
robots.txt虽然只是个简单文本,但放置位置和内容规范直接决定它能否生效。操作时注意以下几个关键点:
写完robots.txt不等于万事大吉,需要主动验证配置是否符合预期。可以通过以下路径检查效果:
搜索引擎会周期性重新抓取robots.txt,常见间隔是数小时到两天不等。如果希望加快生效速度,可以在Google Search Console或百度站长平台主动提交该文件的更新,触发蜘蛛更快重新抓取。
可以针对特定爬虫单独写一组规则。例如只屏蔽百度蜘蛛,就写 User-agent: Baiduspider 加 Disallow: /;其余的规则放在 User-agent: * 组中。注意每组规则间要留空行,避免规则归属混乱。
标准协议中不支持正则匹配,虽然部分搜索引擎有扩展支持,但兼容性没有保障。如果需要屏蔽多个路径,建议逐行列出Disallow规则;若路径数量过多,考虑调整目录结构或使用robots的星号通配符(部分蜘蛛支持)来简化。
robots.txt的配置核心在于两点:一是明确不同字段的语义和使用场景,二是把文件放置正确、语法写规范。建议在部署前先梳理清楚哪些路径必须隐藏、哪些需要开放,再动手编写规则;写完后务必通过站长平台工具和浏览器访问做双重验证。对于敏感目录,robots.txt只是第一道防线,不能完全依赖它保护隐私数据,更可靠的做法是配合服务器级的访问权限控制。