Robots.txt 是网站根目录下的一个纯文本文件,用来告诉搜索引擎爬虫哪些链接可以访问、哪些不可以。合理利用它能帮搜索引擎更快地发现优质内容,也能减少重复页面和敏感目录的抓取负担,是每个站点维护者都该掌握的基础技能。
这个文件本质上是一份简单的"访问许可清单",由若干条指令构成。最核心的三个字段是 User-agent、Disallow 和 Allow。User-agent 用来指明规则针对哪类爬虫(例如 Googlebot 或百度蜘蛛);Disallow 定义禁止访问的路径;Allow 则用来对之前较宽泛的禁止规则做局部放行。
书写时要留意几个容易出错的细节:每条指令后面必须使用半角冒号和空格,路径对大小写敏感,且某些爬虫支持 * 和 $ 作为通配符。举个例子,想禁止所有搜索引擎访问全站,写成 User-agent: * 和 Disallow: / 即可;只想拦下后台目录,则写成 Disallow: /admin/。
一个常见的误区是把 robots.txt 当成安全工具。它能约束守规矩的爬虫,但拦不住恶意程序,也无法阻止用户直接输入链接访问。
对于多数网站,并不需要写复杂的规则,几个基础配置就能覆盖绝大多数需求。下面列出最常见的几种场景和对应的思路:
写完规则后,直接在浏览器地址栏输入你的域名/robots.txt 就能查看文件是否正常展示,并检查有没有语法错误。
文件上传成功并不代表规则生效,需要实际测试。谷歌搜索控制台的 robots.txt 测试工具可以输入指定网址,模拟爬虫视角确认该地址是被允许还是拒绝。此外,定期查看抓取统计报告也能帮你看清爬虫的实际行为是否符合预期。
调试过程里常见的小毛病包括:路径末尾漏写斜杠导致只屏蔽了部分目录、误用全角冒号、忘了写 User-agent 行。每次修改后,建议手动推演一遍规则匹配顺序——记住一个原则:更具体的 Allow 规则优先于宽泛的 Disallow。
在 robots.txt 中加入站点地图路径,能帮助搜索引擎更快找到新增内容。写法很简单,另起一行写上 Sitemap: https://你的域名/sitemap.xml 即可。这种声明没有任何副作用,值得推荐。
如果你担心爬虫请求过于频繁影响服务器性能,可以借助 Crawl-delay 指令设定一个等待秒数,从而限制抓取频率。此外,还可以把 robots.txt 与页面上的 meta robots 标签配合使用——例如某些页面你不想被收录,但希望爬虫继续顺着链接爬行,这时用 noindex 配合 follow 反而更合适。
会有影响。如果误屏蔽了重要目录,可能导致整站或核心页面无法被搜索引擎收录,流量随之下降。因此修改后务必进行测试,并留意抓取报告中的异常变化。通常建议只屏蔽明确不需要收录的路径,保持规则尽量精简。
对于支持标准协议的搜索引擎,更具体的规则会优先执行。比如你先用 Disallow: /api/ 屏蔽了整个目录,又用 Allow: /api/public/ 放行其中的公开接口,那么爬虫会抓取后者。但不同引擎对通配符和优先级的处理略有差别,最好用官方工具逐一验证。
两者并不冲突。在 robots.txt 中标明 Sitemap 地址属于被动发现机制,而主动提交站点地图能加速收录流程。稳妥的做法是双管齐下:既在文件中声明,也通过搜索引擎的站长平台主动提交并定期更新。
配置 robots.txt 的核心原则是"少而精"——只写必要规则,避免过度屏蔽。建议从基础配置入手,上线前用测试工具验证每条规则,并保留一个备份文件便于回滚。定期检查抓取报告,随着网站结构变化及时调整相关指令,才能让爬虫始终沿着最合理的路径为你的站点带来价值。