robots.txt 设置全攻略:语法核心里程碑与易错点规避

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

对任何运营网站的人来说,robots.txt 都是绕不开的基础文件。它静静地躺在站点根目录,用几行简单的代码告诉搜索引擎蜘蛛:哪些页面欢迎光临,哪些区域谢绝进入。配置正确的网站,抓取效率高,收录更及时;但一个字符的疏忽,却可能让整个站点从搜索结果中消失。这篇文章帮你理清规则,避开那些高发错误。

1. 职责边界:它能拦截抓取,但无法强制不入库

在浏览器输入你的域名加 /robots.txt 就能一览全貌。这份文件本质是给守规矩的爬虫看的“交通指示牌”,而不是网站的“门禁系统”。如果某个页面你不想让它在搜索结果出现,真正有效的手段是添加 noindex 标签。robots.txt 管得住的只是“抓取”,管不了已经抓取内容的“索引”。举个例子:你屏蔽了某促销页,但这个页面被外部电商平台大量转载,搜索引擎仍可能把它收录,只是结果中的快照来源变成了别的站点。

更要牢记的是,这属于君子协定,只约束合规的搜索引擎。主流蜘蛛诸如百度、谷歌都会遵守,但恶意采集工具、数据挖掘脚本会对文件视而不见。所以涉及用户注册信息、交易纪录、后台入口等敏感路径,必须叠加登录鉴权、IP 白名单或防火墙等硬性防护,绝对不能把安全完全寄托于这个文本文件上。

2. 语法结构:字段写法与判别优先级

文件由若干规则组构成,每组必须以 User-agent 行开头。每条指令都是“名称: 值”的形态,冒号必须使用英文半角,建议在冒号后保留空格以提升可读性。尽管多数爬虫有一定容错能力,但花一两分钟写规范,能省去后续排查的麻烦。

2.1 User-agent:明确规则作用域

该行声明规则组指向的爬虫对象。若只需管理谷歌蜘蛛,写 User-agent: Googlebot;若想统一约束所有搜索引擎,则用通配符 User-agent: *。支持创建多组,从而对不同爬虫实行差异化控制,例如给谷歌更宽松的权限,而对其他蜘蛛设定更严的规则。

2.2 Allow 与 Disallow:放行与禁用的博弈

Disallow 声明禁用路径,Allow 声明放行路径,两者经常配合使用。一个易被忽视的细节是:如果 Disallow 留空(即 Colon 后无内容),则意味着清空所有阻止策略,全站可被开放抓取。规则冲突时,搜索引擎采用“最长匹配优先”原则匹配 URL,路径细分的规则覆盖维度更大的规则。例如同时存在 Disallow: /image/ 和 Allow: /image/public/,因为后者更具体,其内容会被正常抓取。

2.3 辅助指令:Sitemap 与 Crawl-delay

Sitemap 指令用于声明站点地图的完整地址,能引导爬虫快速发现内容,放在文件尾部即可。Crawl-delay 用来规定抓取间隔,以秒为单位。需注意谷歌官方不承认该指令,其爬虫速率控制应在 Search Console 后台操作更稳妥。

3. 隐患防范:高发问题与应对思路

对站点权重做减法。不少运营为了让权重集中在首页,过度禁用子目录,结果导致被禁路径下的优质长尾页面被剔除索引,损失大量流量。建议只屏蔽无流量价值的入口,如后台、模板、用户中心等。

误用了绝对路径。会误以为填写网址全体有效,实际规则只对接 host 后面的地址部分。

4. 验收与更新:配置后的验证策略

配置完成不等于高枕无忧。正确步骤是在浏览器中直接访问文件确认语法无歧义,同时观察百度搜索资源平台或谷歌 Search Console 的抓取测试反馈,确保页面按预期被抓取。若新增了需要隐藏的路径,及时增补对应规则并重新提交验证即可。

定期复盘也是重点,可关注搜索引擎日志中的 4xx 或 5xx 状态码,确认关闭的目录流量骤降是否与规则生效有关,判断是否误伤了正常数据。

5. 常见问题

5.1 robots.txt 文件写错了会导致网站无法访问吗?

不会。它只影响搜索引擎的抓取行为,不会阻止浏览器访客访问。若是规则出现问题,最典型的后果是页面不被抓取或从索引中消失。

5.2 根目录没有该文件会怎样?

等同于该文件内容为空,任何遵守协议的爬虫在整个站点都可以自由抓取。虽然不像禁止抓取那样危险,但也意味着失去对抓取预算的调度能力。

5.3 写了 Disallow 后,该页面就一定不会被收录吗?

不一定。这是对爬虫的逻辑限制,不构成最终的法律约束。若页面有外部分享,依然可能被抓取到内容而建立索引,只是展示快照来源替换成第三方。

6. 总结

务必明确该文件的真实控制范围,更多精力应该放在自身页面质量和内链结构上。写规则时严格按照键值对格式,活用 Allow 配合 Disallow,永远将敏感信息用鉴权手段隔离,而非只依赖该文件。配置后通过站长工具复核,确保抓取预算精确投向核心内容。

图1 图2

nginx