搜索引擎爬虫访问网站时,第一步通常是读取根目录下的 robots.txt 文件。这个简单的文本文件像一张通行证,明确划定了爬虫可以进入和禁止触碰的区域。配置得当,既可以避免后台页面与敏感信息被收录,又能减少服务器的无效请求负载,把抓取资源集中到真正值得索引的内容上。
robots.txt 必须存放在站点根目录,路径通常是 https://yourdomain.com/robots.txt。文件采用 UTF-8 编码,一行一条指令,路径严格区分大小写。要读懂一份配置,需要先掌握三组基础字段:
除上述字段外,可在文件末尾追加一行 Sitemap 声明,用于告知爬虫站点地图的具体位置。看一个常见写法:
User-agent: *
Disallow: /private/
Allow: /private/shared/
Sitemap: https://yourdomain.com/sitemap.xml
这段配置的意思是,所有爬虫均可访问网站,但 /private/ 目录被排除在外,唯有其下的 /private/shared/ 子目录单独放行。务必警惕的是,Allow 并非通用指令。若爬虫不识别它,就会依旧遵循 Disallow 的限制执行,导致你原本希望开放的子目录同样被屏障挡住。
因运营目标不同,robots.txt 的写法也存在明显差异。下面给出三个高频场景的参考样例,方便直接对照修改。
对于内容型站点或刚上线急需增加索引量的网站,通常希望所有页面都能被爬虫访问。此时留一个空值的 Disallow 即可:
User-agent: *
Disallow:
也可以直接省略 Disallow 一行,效果相当。这里最容易出现的错误是写成 Disallow: /,一旦如此,爬虫将无法触碰站内任何页面,收录进程会立即停摆。检查时请特别留意冒号后是否为空白。
当你想排除某一家搜索引擎时,可以为它单独写一段规则,不影响其他爬虫正常工作:
User-agent: Baiduspider
Disallow: /
上述写法会让 Baiduspider 被彻底拒之门外,而 Googlebot、Bingbot 等其他爬虫不受任何约束。判断标准很简单:如果站点统计里某个搜索引擎的抓取量异常高,且你不希望被收录,就可以考虑针对这部分流量做定向拦截。
有些目录需要整体隐藏,比如存放临时文件的 /temp/,但其中的 /temp/landing.html 又希望被收录。此时可以写成:
User-agent: *
Disallow: /temp/
Allow: /temp/landing.html
需要特别注意,规则匹配遵循最具体路径优先的原则。但如果搜索引擎不支持 Allow,就会直接忽略这条例外,把整个目录屏蔽掉。为了规避这一风险,建议将允许访问的文件移出被屏蔽的目录,或者将关键页面放在独立目录中,不要依赖 Allow 做例外处理。
不少站长在配置 robots.txt 时会踩进一些隐蔽的坑,以下三个问题最为常见。
第一,文件位置错误。有人将 robots.txt 放在子目录或主题文件夹里,爬虫根本找不到,规则全部失效。判断标准很简单:直接在浏览器输入 https://domain.com/robots.txt,若能正常显示内容,说明位置无误。
第二,语法大小写不敏感。路径部分区分大小写。若实际目录是 /Admin/,你写成了 /admin/,爬虫便无法识别并屏蔽,反而可能把后台页面索引出去。建议统一使用小写路径,并在配置后逐一核对实际目录结构。
第三,屏蔽 JS 与 CSS 文件。不要轻易使用 Disallow 屏蔽 static 或 assets 目录,也不要直接禁止爬虫抓取 CSS 与 JavaScript 文件。很多搜索引擎需要解析这些资源来评估页面渲染效果与移动适配性,一旦屏蔽,可能会影响页面的排名表现。
写完配置并不代表万事大吉,还需要定期检查和验证。你可以借助搜索引擎提供的工具来测试规则是否按预期生效,比如 Google 的 robots.txt 测试工具,或百度搜索资源平台的抓取诊断功能。具体步骤:
提醒一点:robots.txt 不是一个安全机制。它只是协议层面的约定,恶意爬虫并不会遵守。真正敏感的数据与后台入口,仍然需要通过登录验证或 IP 白名单等方式加以保护。
可以。使用井号(#)开头的内容会被视为注释,工具在解析时会自动忽略。合理添加注释有助于团队协作时理解每条规则的具体目的,但注意不要将注释写在指令行的中间,以免影响解析。
生效时间取决于爬虫的抓取频率。大多数搜索引擎会定期重新读取该文件,短则几小时,长则数天。修改后建议主动通过站长工具提交更新申请,可以加快爬虫重新获取配置的周期。
不是。文件体积过大或规则过多,反而会增加爬虫的解析负担,甚至导致部分规则被忽略。建议保持配置精简,只保留必要的拦截项,将更多控制逻辑交给站点自身的权限体系来完成。
配置 robots.txt 的核心原则是简洁、明确、可验证。先确定目标是完全开放还是精细控制,然后使用最少的规则去实现预期效果。每次修改后务必使用搜索引擎的测试工具验证,并结合站点日志观察实际抓取变化。不要依赖 Allow 字段解决所有问题,关键页面尽量安置在不受屏蔽的目录下。如此一来,你的网站既能保护隐私区域,也能让有限的抓取预算发挥最大价值。