网站上线前后,robots.txt 是绕不开的一项基础工作。这份放置在根目录的纯文本文件,本质上是一份写给搜索引擎爬虫的"访问约定",用来圈定哪些内容可以抓取、哪些区域需要回避。配置得当,爬虫能把有限的抓取额度用在刀刃上,助力重要页面快速被收录;一旦设置失误,后果可能相当严重——整站被搜索引擎移除出结果列表的例子并不少见。接下来,我们从文件本身的定位讲起,逐步拆解语法规则与常见误区。
它的标准访问入口是"域名 + /robots.txt",例如 https://example.com/robots.txt。需要明确一个关键概念:它只承担"抓取调度"的角色,并不决定页面最终能否进入索引。如果你不想让某个页面出现在搜索结果里,正确做法是使用 noindex 标签;robots.txt 只能拦住抓取行为,对索引决策没有直接控制力,这两种机制必须分开理解。
同时要牢记,这份文件对爬虫来说只是一项"君子协定"。主流搜索引擎的蜘蛛会严格照章办事,但面对恶意采集程序或批量抓取工具,它形同虚设。凡是涉及用户隐私、支付通道或核心数据的目录,务必叠加登录校验、IP 白名单或防火墙策略,不能把安全防线全部押在这份文件上。
文件内容由若干个独立的规则块组成,每个块必须以 User-agent 字段起头。书写时遵循"字段名: 值"的格式,建议统一小写,并在冒号后保留一个空格,这样能最大程度减少兼容性隐患。
该字段指定规则块针对哪一类爬虫生效。例如写成 User-agent: Googlebot,规则就只约束谷歌的蜘蛛;想覆盖所有搜索引擎,使用通配符 User-agent: * 即可。一个文件里可以并列多组规则,为不同爬虫分别定制权限,实现精细化管理。
Disallow 声明禁止访问的路径,Allow 则相反,表示放行。容易忽略的一个细节是:当 Disallow 后为空值(写作 Disallow:)时,含义是解除全部限制,允许爬虫抓取全站内容。当 Allow 和 Disallow 同时命中同一个 URL 时,搜索引擎按"最长匹配优先"判定——路径更长的规则优先级更高。比如同时存在 Disallow: /admin/ 和 Allow: /admin/public/ 时,后者会被放行。
Sitemap 指令用于声明网站地图的完整地址,帮助爬虫快速获取内容清单,建议放在文件末尾。Crawl-delay 从字面上看是设定抓取间隔,但要注意:谷歌官方早已声明完全忽略该指令。若确需控制蜘蛛的抓取频率,请通过 Google Search Console 的后台配额设置来完成,不要依赖这个字段。
下面列出几个高频需求的写法,你可以直接替换为自身目录路径使用。
配置完成后,建议用浏览器直接访问 /robots.txt 预览内容,确认格式无误、无多余空格或隐藏字符。若有条件,可借助搜索引擎官方的抓取测试工具(如 Google Search Console 的 URL 检查)验证实际生效情况。
许多网站在配置中吃过亏,问题往往集中在以下几处。
第一,误用 Disallow: / 屏蔽整站。很多站点在改版或调试时顺手加上这一条,事后忘记移除,导致整站长时间无法被抓取,收录量急剧下滑。建议在文件顶部加一行注释(以 # 开头)标明用途和到期日期,作为提醒。
第二,混淆了"禁止抓取"与"禁止收录"。一个典型的例子:为保护某专题页不被展示,直接将其路径加入 Disallow。结果爬虫无法抓取,也就不可能看到页面中的 noindex 标签,最终该页反而可能因其他外链信息被收录,失去了控制权。正确逻辑是:想不收录,就保留抓取并用 noindex 明确声明。
第三,忽略大小写敏感问题。爬虫对路径区分大小写,/Product/ 与 /product/ 是两个完全不同的地址。书写时必须与站内真实 URL 的大小写保持一致,否则规则形同虚设。
第四,将敏感目录的安全防护完全寄托于此。如前所述,robots.txt 无法阻止恶意工具,只要有人猜测到路径就能直接访问。对后台、备份目录或用户数据,务必使用服务端权限控制。
修复文件后,搜索引擎通常需要重新抓取该文件才能解除拦截,这个过程短则几小时,长则数天。建议在修复后立即通过 Search Console 提交该文件的抓取请求,同时保持页面内容不经常变动,以加快恢复速度。
完全可以。你可以在一个文件中为每种爬虫各写一个规则组,使用不同的 User-agent 名称(如 Googlebot、Bingbot),每组之间用空行隔开。注意同一爬虫的规则会被合并处理,不要重复写相同的 User-agent 块。
在 Allow 和 Disallow 中,* 代表匹配任意字符序列,$ 表示路径结尾。例如 Disallow: /*.pdf$ 可以拦截所有 PDF 文件。但不同搜索引擎对通配符的支持程度略有差异,稳妥起见,关键路径建议写成明确的绝对路径,避免过度依赖通配符。
robots.txt 虽小,却直接影响抓取效率与站点安全边界。建议在配置前先梳理全站目录结构,明确每个区域的可抓取性;配置后定期巡检,结合 Search Console 的抓取统计排查异常。同时牢记它的能力边界——抓取控制靠它,索引决策靠 noindex,安全防护靠服务端手段。三者各司其职,你的站点才能在搜索引擎面前既开放有序,又安全可控。