Robots.txt是放在网站根目录下的一个纯文本协议文件,作用是告诉搜索引擎爬虫哪些内容可以抓取、哪些需要绕行。配置得当,它可以保护后台、购物车等隐私路径不被收录,同时让抓取额度优先用于核心页面;但一旦写错,轻则新内容迟迟不收录,重则整个网站在搜索结果里“消失”。这篇文章会把文件语法、不同场景下的写法以及最常踩的坑一次讲清楚,并给出可直接套用的方案。
文件必须严格命名为robots.txt(全小写),放置在域名根目录,访问路径形如https://example.com/robots.txt。内容为纯文本,每一行指令由“字段名: 值”构成,使用英文冒号加一个半角空格分隔。
最常用的字段有User-agent、Allow、Disallow和Sitemap。User-agent用于指定规则适用的爬虫,星号代表所有爬虫。如果打算对全站完全开放,只需这样写:
User-agent: *
Disallow:
此时所有搜索引擎都可以自由抓取全站内容。需要特别留意的是,字段名区分大小写,路径必须从根斜杠/开始,文件编码建议保存为UTF-8且不带BOM,否则少数爬虫可能解析失败。另外,虽然注释以井号#开头,但不同爬虫对注释的支持程度并不一致,核心规则尽量别依赖注释来维持作用。
动手写之前,先梳理网站目录结构和抓取需求,明确哪些路径需要封闭、哪些需要优先抓取。以下是几种典型场景的写法示范。
规则组之间建议用空行隔开,方便日后阅读和维护。
配置过程中的错误通常不会立刻暴露,但后果往往令人头疼,以下是运维中最容易掉进去的几个坑。
每次改动robots.txt后,不要直接默认生效,必须做两步确认。
第一步是检查文件语法。可以借助各搜索引擎站长平台提供的robots.txt检测工具,例如Google Search Console中的“robots.txt 测试器”,输入文件地址即可查看每条规则的命中情况,看是否误伤了目标页面。第二步是查看日志确认爬虫实际访问行为,对比改动前后核心页面的抓取次数是否出现异常下降。
另外,robots.txt是公开文件,任何访客都能查看,切勿把靠猜测难以破解的路径作为唯一安全屏障,真正敏感的数据必须配合账号权限等后端措施来保护。同时要记得,robots.txt只能阻止抓取,不能阻止页面被外部链接引用并展示摘要,若需要去除搜索结果中的收录,应配合noindex标记使用。
可能。如果错误地使用Disallow: /屏蔽了全站,所有主流搜索引擎都会停止抓取,导致整站从搜索结果中逐步消失。一旦发现这种情况,应立即修正文件,然后到站长平台提交抓取请求,等待爬虫重新访
在大多数搜索引擎中,Allow的优先级高于Disallow,前提是匹配到的路径长度、具体程度相近。不过不同爬虫对规则优先级的解读略有差异,最稳妥的做法是让规则之间避免冲突,不要依赖优先级去实现复杂逻辑。
不能作为绝对安全手段。它只是对守规矩的爬虫发出请求,无法阻止恶意抓取工具或他人直接引用URL。若要保护敏感数据,必须依靠服务器端认证,robots.txt只能作为辅助手段。
配置robots.txt的核心思路是“先梳理再动手,改完必验证”。把需要屏蔽的后台、草稿、参数页列清楚,规则尽量精确带斜杠,爬虫名称严格按官方写法来,并在每次修改后使用站长工具和访问日志确认效果。把这份文件当作日常运维的一部分定期复查,既能让重要页面更快被收录,也能避免因小失误造成整站流量剧降。如果你还没有配置过,建议现在就打开根目录检查一遍,按文中的基础模板落地。