robots.txt 配置全解析:语法规则与实用案例指南

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

robots.txt 是放在网站根目录下的一个纯文本文件,用简洁指令告知搜索引擎爬虫哪些内容可以抓取、哪些应绕行。它不提供安全屏障,但在保护非公开目录、合理分配抓取配额、降低服务器负载等方面能派上用场。学会配置它,是网站运营者一项值得掌握的基础技能。

1. 认识 robots.txt 的基本指令

文件结构清晰,本质是几组固定单词的组合。掌握三个核心指令,绝大多数场景都能应对。

容易被忽视的细节:每个 User-agent 分组后至少要有 Disallow 或 Allow 中的一条,否则该组规则无效。此外,这份文件仅约束搜索引擎爬虫,用户通过浏览器访问不受影响,真正的敏感数据绝不能依赖它来保护。

2. 从零创建并部署 robots.txt

不论网站规模大小,建议从一个简洁的初始版本入手,后续按需调整。下面是一份基础模板。

  1. 新建一个 txt 纯文本文件,将以下内容粘贴进去:
User-agent: *
Disallow: /cgi-bin/
Disallow: /tmp/
Sitemap: https://www.example.com/sitemap.xml
  1. 将示例域名替换为你的真实地址,逐一核对各目录名称是否准确。
  2. 重命名文件为 robots.txt,通过 FTP 工具或主机自带的文件管理器,上传至域名根目录。

验证方式与常见失误:上传完成后,在浏览器地址栏输入你的域名/robots.txt,若能看到文件内容原样显示,说明部署成功。新手最常犯的错误是写成 Disallow: /,这会导致整个站点无法被搜索引擎收录。路径末尾缺少斜杠同样会失效,例如 /tmp 无法覆盖 /tmp/ 目录下的内容。

3. 利用 Allow 实现部分放行

当目录层次较复杂时,全放或全挡往往不够灵活,Allow 指令能实现更为精准的控制。常见场景是:想隐藏整个素材库,但保留其中一张品牌图片供搜索展示。

User-agent: *
Disallow: /assets/img/
Allow: /assets/img/brand.png

判定规则:系统按匹配路径的长度决定优先级,长度更长的规则优先生效。以上述代码为例,brand.png 的 Allow 规则比目录级的 Disallow 更长,因此优先执行。配置前建议先梳理站点路径层级,避免出现规则冲突导致预期外的抓取行为。

4. 处理不同爬虫的差异规则

不同搜索引擎的爬虫对 robots.txt 的解析存在细微差异,必要时需对各类爬虫单独设置规则。

实用建议:如无特别需求,优先使用 User-agent: * 统一覆盖;需要针对某特定爬虫时,在其后单独分组并放置对应规则。各分组顺序不影响执行结果,但保持书写整齐,便于后期维护。

5. 排查 robots.txt 的常见陷阱

配置过程中,有几个细节容易引发问题,提前留意能省去不少麻烦。

排查思路:定期查看搜索引擎站长平台中的抓取报告,确认是否有被误拦截的页面;发现异常时,优先检查路径是否带斜杠、是否写错指令,以及是否存在冲突规则。

6. 常见问题

6.1 Q1:robots.txt 能否阻止搜索引擎收录我的网页?

不能完全阻止。robots.txt 仅通知爬虫不要抓取某个路径,但网页可能通过其他站点的外链被收录。若确实不希望页面出现在搜索结果中,应使用 noindex 标签或登录要求等方式。

6.2 Q2:修改 robots.txt 后需要多久才能生效?

改动后的文件通常会在爬虫下一次访问站点时被读取,时间可能从几小时到几天不等。你可以通过搜索引擎的抓取测试工具主动提交新文件,以加快更新速度。

6.3 Q3:是否允许同时在规则中使用多种通配符?

这取决于具体爬虫对标准的支持程度。Googlebot 支持 $ 结尾匹配和 * 通配符号,而其他搜索引擎可能有限制。建议先查阅爬虫官方文档,并在改动后通过实际抓取结果验证。

7. 总结

配置 robots.txt 并不复杂,核心在于清晰理解指令的作用边界,并按实际需求规划路径规则。建议从基础模板出发,逐步添加目录级屏蔽,再根据需要引入 Allow 例外;部署后务必通过浏览器访问验证,并借助站长平台的抓取报告持续监控效果。定期审视这份文件,让爬虫访问保持有序,一方面能保护重要内容,另一方面也为站点长期稳定运营打下基础。

图1 图2

nginx