robots.txt 是站长放在网站根目录下的一个纯文本文件,用来向搜索引擎爬虫传达收录规则:哪些路径可以进入,哪些路径应当跳过。它不能提供安全屏障,但是在保护内部目录、节省抓取配额、降低服务器压力等方面有明显作用。无论网站大小,掌握这套配置逻辑都是运营的必修课。
这份文件的语法并不复杂,核心就是几个固定命令的组合。先理解下面三个概念,多数配置需求就能直接搭建。
避坑提醒:每个 User-agent 分组后面必须至少带一条 Disallow 或 Allow 语句,否则该分组形同虚设。同时要记住,这个文件只对搜索爬虫有约束力,真实访客通过浏览器访问不受影响,涉及隐私或机密的内容绝不能依赖它来保护。
无论站点规模如何,建议从一份精简规范的初始版本开始。下面这个模板可以直接作为底稿参考。
User-agent: *
Disallow: /cgi-bin/
Disallow: /tmp/
Sitemap: https://www.yoursite.com/sitemap.xml
检查方式与典型错误:上传后,在浏览器中直接访问 你的域名/robots.txt,如果能原样显示文件内容,就说明部署成功。新手最常犯的错误是误写 Disallow: /,这会把整站对搜索引擎彻底关闭。另外,路径末尾的斜杠漏写也会导致规则失效,比如 Disallow: /tmp 并不能覆盖 /tmp/ 目录内的全部内容。
当站内目录层次复杂后,全放或全挡往往不能满足需求,Allow 指令的价值随之凸显。常见的场景是:希望隐藏素材库整体,但单独放出一张品牌图片供搜索收录。
User-agent: *
Disallow: /assets/img/
Allow: /assets/img/brand.png
操作要点:规则书写的先后顺序有讲究,一般将 Disallow 放在前、Allow 放在后,且 Allow 的路径必须是被 Disallow 覆盖范围内更具体的一条。不同搜索引擎对规则优先级的理解可能存在细微差异,建议在实际投放后通过站长工具的抓取测试功能检查效果。
当一个站点需要同时面对谷歌、百度、必应等多个搜索引擎时,可以为不同爬虫分别设置规则。比如限制某个爬虫抓取图片目录,而其他爬虫不受影响。
User-agent: Googlebot
Disallow: /img/
User-agent: Baiduspider
Disallow: /private/
User-agent: *
Disallow: /tmp/
实用建议:Sitemap 指令可以放置在文件末尾,用于向爬虫提示网站地图的地址,有助于提升页面的发现效率。但要注意,此指令并不对所有搜索引擎生效,只是作为一种推荐机制存在。另外,robots.txt 文件本身也会被频繁请求,内容应尽量精简,避免无意义的冗余规则造成解析负担。
如果文件没有被放置在域名根目录下,搜索引擎将无法找到它,所有规则都不会生效,相当于这个文件不存在。务必确认上传位置正确,同时文件名不能有大小写错误,应为全小写的 robots.txt。
Disallow 只是阻止爬虫抓取该页面,但如果页面已被其他网站引用,搜索引擎仍可能通过外部链接发现并收录它。要彻底控制收录结果,需要配合 meta robots 标签或 noindex 指令一起使用,才能达到更可控的效果。
搜索引擎会定期重新抓取该文件,常见周期从几小时到几天不等。修改后想加快生效速度,可以通过各搜索引擎的站长平台提交一次抓取请求,通常很快就能获得反馈。
robots.txt 虽小,却直接影响搜索引擎对网站的抓取路径。配置时建议从简单模板开始,明确封禁目录的范围,善用 Allow 做精细放行,并注意路径书写和文件位置的细节。上线后记得用浏览器访问检测,再借助站长工具观察抓取表现,根据实际数据持续调整,就能让网站资源被更高效地收录。