robots.txt 是放在网站根目录下的一个纯文本文件,用来告诉搜索引擎爬虫哪些页面可以抓取、哪些应该跳过。配置得当能帮搜索引擎更高效地收录站点内容、节省抓取配额;配置失误则可能导致重要页面不被收录,甚至让整站从搜索结果中消失。下面逐项拆解它的工作原理和常见错误。
robots.txt 本质上是一种爬虫协作约定,主流搜索引擎会自觉遵守里面的指令,但它不是防火墙,也没有强制约束力,更不能用于保护敏感数据。
在实操中,它最常被用来处理三类需求:一是阻止搜索引擎索引后台管理页面、测试环境、临时目录等不需要公开的地址;二是过滤带有大量跟踪参数的动态网址,避免爬虫把资源花在重复内容上;三是在文件里声明 Sitemap 位置,引导爬虫更快发现新内容。
需要特别注意:任何访客都能在浏览器里直接打开这个文件查看内容。涉及用户隐私、登录接口、内部系统信息的路径,必须用密码校验、IP 白名单等手段拦截,绝不能指望 robots.txt 来保密。
robots.txt 的格式是"字段: 值",每行一条规则。字段名不区分大小写,但路径部分严格区分大小写。掌握下面五个字段就能应对绝大多数场景。
假设某站有一个内部目录 /admin/,其中 /admin/help.html 需要被正常收录,同时要在文件里标注 Sitemap,规则可以写成:
User-agent: *
Disallow: /admin/
Allow: /admin/help.html
Sitemap: https://www.example.com/sitemap.xml
这段配置表达了三层意思:默认拒绝爬虫访问 admin 目录;help.html 作为例外放行;同时告知 Sitemap 的所在位置。注意 Allow 必须写在对应 Disallow 的组内才会生效。
写 robots.txt 本身不难,难在理解匹配顺序。规则是从上到下逐条对比的,最长匹配的规则优先生效,而不是写在前面的规则一定压过后面。
一个常见错误是:先写 Disallow: /,再写 Allow: /public/,期望放行 public 目录。但按最长匹配原则,如果 Allow 的目的路径本来就是 /public/ 开头,写法上应该写得更具体,比如 Allow: /public/index.html,否则部分爬虫可能仍会忽略这条放行规则。测试时务必逐条验证实际效果,不要凭直觉判断。
以下是实操中最常踩的五个坑,每一项都可能直接伤害网站收录表现。
另外提醒一点:修改 robots.txt 后,重要页面排名通常不会立刻变化,搜索引擎需要重新爬取后才能感知新规则,务必预留观察期。
会。若误写为 Disallow: /,所有主流搜索引擎都会停止抓取整站,已收录页面也可能逐步从索引中移除。一旦发现只要立刻改正文件并提交抓取请求,恢复通常需要数天到数周。
不是必须的,但强烈建议写入。在 robots.txt 中声明 Sitemap 是向爬虫主动推荐内容入口的最简方式,尤其对新站或内容更新频繁的站点帮助明显。正确格式是完整的 URL 地址,一行一条。
它不能直接提升抓取频率,但能通过屏蔽无用路径让爬虫把配额集中在关键页面上,间接加快重要内容的爬取。若想主动催促收录,更有效的手段是通过搜索平台的 URL 提交工具推送链接。
配置一个可靠的 robots.txt,核心是三步:先梳理清楚哪些路径值得被收录、哪些必须屏蔽;再严格按字段语法写出规则,注意大小写和匹配顺序;最后用官方检测工具逐条验证后才能上线。建议每季度复查一次文件内容,结合站点改版和日志抓取数据及时调整,同时永远记住它只用于引导爬虫,并非安全工具,敏感数据务必另设权限防护。