robots.txt 是放置在网站根目录下的文本文件,用于向搜索引擎爬虫说明哪些内容可以抓取、哪些应该跳过。合理的配置能引导蜘蛛优先处理重要页面,加快新内容的收录速度;而配置不当或路径写错,则可能造成整站抓取异常,影响搜索表现。掌握这套规则的语法和匹配逻辑,是每个网站运营者的基础功课。
这个文件本质上是一份“抓取许可单”,只对爬虫的访问请求起作用。你可以在浏览器地址栏输入“你的域名/robots.txt”查看当前配置内容。但请记住,即使某个路径被成功屏蔽,搜索引擎仍然可能通过其他网站的外链发现并收录这个页面,只是页面快照可能不完整或无法展示内容。
如果目标是彻底移除页面,应当使用 noindex 标签配合 meta 属性,而不是单纯依赖这个文件。此外,协议的执行完全依赖爬虫自愿。主流搜索引擎的蜘蛛会遵守规则,但一些第三方采集工具或恶意程序并不会理会。涉及后台、用户数据、交易记录等敏感内容,必须结合登录验证、IP 限制或防火墙等手段,不能把安全寄托在一纸协议上。
文件内容由多个规则组构成,每组以 User-agent 开头,组间用空行隔开。每个指令遵循“字段名: 值”的格式,冒号必须使用英文半角符号,建议冒号后留一个空格,这样更利于解析和阅读。
这个字段声明规则针对哪一种爬虫。要让所有搜索引擎生效,用通配符写“User-agent: *”;如果只想限制 Google 的蜘蛛,则写“User-agent: Googlebot”。同一文件中可以为不同爬虫设置差异化策略,比如对 Googlebot 放开更多权限,而对 Bingbot 收紧部分目录的访问。
Disallow 表示禁止抓取的路径,Allow 则相反,表示允许访问。需要注意,如果 Disallow 后面不写任何值,代表允许爬虫抓取全站。当多个规则同时命中一个 URL 时,搜索引擎采用“最长匹配优先”的逻辑,即路径越具体,优先级越高。例如同时存在“Disallow: /admin/”和“Allow: /admin/public/”,因为后者的路径字符更长,所以 public 目录会被允许抓取。
Sitemap 字段用于声明站点地图的绝对地址,方便蜘蛛快速发现网页,一般放在文件末尾。Crawl-Delay 则用来设置抓取间隔的秒数,部分搜索引擎支持,但 Google 官方明确不采用这个指令,而是建议通过 Search Console 后台调整抓取频率。
第一个高频错误是路径理解偏差。Disallow 后面写的是根目录下的相对路径,而不是完整网址。比如要屏蔽 /images/ 目录,应写“Disallow: /images/”,而不是完整链接形式。第二个问题是通配符的误用,星号(*)可匹配任意字符序列,美元符号($)表示匹配结尾,比如“Disallow: /*.pdf$”就是屏蔽所有 PDF 文件,但过度依赖通配符可能误伤正常页面,需要小心验证。
大小写问题同样容易被忽略。路径是区分大小写的,比如 /Product/ 和 /product/ 会被视为两个不同的路径,配置前务必确认实际目录的命名。另外,文件编码必须使用 UTF-8 且不带 BOM,否则可能出现解析失败。配置完成后,建议用浏览器的抓取测试工具或直接查看日志,确认规则是否按预期生效。
要避免问题,可以按以下步骤操作:首先梳理站点目录结构,明确哪些路径需要屏蔽,比如后台、脚本文件、重复内容页等;然后逐条编写规则,建议先写 User-agent: * 的通用规则,再为特定爬虫添加覆盖规则;最后在本地或测试环境验证,确保没有误屏蔽重要页面。
配置时优先使用 Allow 和 Disallow 的组合,而不是堆砌大量通配符。规则越简洁,越容易排查问题。同时,定期检查日志,观察蜘蛛的实际抓取情况,如果发现抓取量骤降或 ERR 状态增多,应立即审查文件内容。
通常情况下,搜索引擎会在下一次抓取该文件时获取最新内容,时间从几分钟到几天不等。修改后可以通过 Search Console 的抓取工具主动提交,加速更新。
因为该文件只限制抓取,不限制收录。搜索引擎可能通过外链发现页面并建立索引。想要彻底移除,需要同时使用 noindex 标签,或者等待搜索引擎自动重新评估。
不需要,只写需要限制的路径即可。默认情况下,未提及的路径都允许抓取。写得越少,出错概率越低。
配置 robots.txt 的核心原则是“明确、克制、可验证”。明确路径范围,克制使用通配符,配置后立即测试和观察日志。如果网站规模较小,规则保持简单;如果站点复杂,建议分爬虫配置并定期复审。一个精心设计的小文件,能显著提升搜索引擎的抓取效率,避免资源浪费在无用页面上。