网站robots.txt配置全攻略:语法规则、实用范例与常见避坑要点

📍 WDQWDWQD987AAAAA:216.73.217.72
📱 Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
🔗 /d995f26d87cc.html
📄

搜索引擎爬虫每访问一个网站,总会先去根目录寻找 robots.txt 这个文件。它是一份规则清单,用简单的文本告诉爬虫站点中哪些部分可以自由浏览、哪些区域需要止步。设置得当,既能保护后台与重复页免于收录,也能引导爬虫将精力集中在更有价值的页面上。

1. 规则文件的核心语法解析

robots.txt 文件存放在网站根目录,文件名大小写都需精确,编码须为 UTF-8,每个指令独占一行。一份完整的配置离不开这些核心字段:

以下是一段基本配置示例:

User-agent: *
Disallow: /admin/
Allow: /admin/public/
Sitemap: https://yourdomain.com/sitemap.xml

这段代码意味着:所有爬虫都能访问网站,/admin/ 下的文件被禁止抓取,但其中 /public/ 文件夹例外。因为 Allow 指令并非所有爬虫都认,那些不支持的引擎仍会遵守更严格的 Disallow,所以想对某些目录放行,不能一味依赖 Allow。

2. 不同场景下的配置方案

不同性质站点的抓取需求各有差异,以下三种常布局面能满足多数情况。

2.1 内容型站点:全面开放抓取

如果你的目标是让搜索结果尽可能多地覆盖站点内容,就应保持全站开放。此时 Disallow 留空即可:

User-agent: *
Disallow:

需特别留意,有人会在这一行误写成 Disallow: /,一旦如此,所有爬虫将停止抓取整站,收录会完全停滞,后果相当严重。也有人以为删除 Disallow 这一行会有不同,实际上两者效果一致。

2.2 单独屏蔽某一搜索引擎

假如只是不想让某一家搜索引擎收录站点,而对其他搜索入口并无限制,可专为该引擎制定规则:

User-agent: Bingbot
Disallow: /

这个样例只作用于 Bing 的爬虫,Google 和百度可以照常访问。操作之前,务必去对应搜索引擎官方文档核实爬虫名称的正确英文,比如百度的是 Baiduspider,如果拼写有误,屏蔽就不会奏效。

2.3 改版或迁移期:暂停全站抓取

网站大改版或涉及敏感数据调整时,短暂封锁全站抓取是明智之举:

User-agent: *
Disallow: /

但这种封锁只宜作为临时措施,改版结束应尽快恢复原来的规则,否则持续封锁会让网站从搜索结果中逐步消失,后续恢复会耗时费力。

3. 容易踩中的雷区与注意事项

robots.txt 看似简单,稍不留神却会带来明显损失。几个高频出现的失误尤其值得重视:

4. 配置完成后的验证与检查

写好 robots.txt 后,不能直接收工。通过以下步骤能确认它是否按照预期生效:

  1. 在浏览器中直接访问站点根目录下的 robots.txt 文件地址,确认页面可正常打开且内容无误。
  2. 使用 Google 搜索控制台或百度站长平台提供的 robots 测试工具,输入路径或链接检查显示结果。
  3. 核对文件中 Sitemap 的地址与实际地图位置是否一致,避免因小失误导致地图无法被识别。
  4. 修改后观察一周内站点日志中的爬虫访问次数,若出现抓取异常下降,及时回头排查规则。

5. 常见问题

5.1 robots.txt 无法禁止搜索引擎以外的访问者吗?

对。robots.txt 仅是面向遵守协议的搜索引擎爬虫的君子协定,无法阻止恶意软件或人工直接访问。若需保护私密内容,应借助登录验证或服务器层面的访问权限设置,而非只依靠该文件。

5.2 Disallow 留空和完全删除该行有何不同?

在绝大多数搜索引擎看来,两者含义相同,都表示不限制抓取。需要区分的是,Disallow 后面什么都不写时表达的是允许全部抓取,而写成 Disallow: / 时则完全相反,是禁止所有路径,二者切不可混淆。

5.3 修改 robots.txt 后需要等待多久才能生效?

没有统一的时间周期。多数搜索引擎会在下次抓取时第一时间读取改动后的文件,通常在数小时到几天内生效。若希望加速,可在各搜索引擎的站长工具中手动提交更新。

6. 总结

robots.txt 是管理搜索抓取的基础工具,规则清晰、措辞准确是关键。配置前先明确自身需求:是全面开放、屏蔽特定引擎,还是临时封锁全站。写完后务必测试验证,并定期复查规则是否因站点结构调整而失去意义。记得每次改动都做好记录,便于后续回退排查。掌握这些要点,就能让 robots.txt 真正为站点收录与流量服务。

图1 图2

nginx