robots.txt 示例文件

robots.txt 是放在网站根目录的文本文件:它告诉搜索引擎爬虫哪些目录可以抓取,哪些不要碰。下面是可以直接拿去用的现成文件:普通可用版本、主流 CMS 的默认配置、屏蔽 AI 爬虫与采集器,还有用来测试自家解析器的边界情况

基础

示例文件:普通可用文件:关闭后台,声明站点地图
普通可用文件:关闭后台,声明站点地图 basic
273 b
↓
示例文件:全部开放:真正放行的是 Disallow 后面留空
全部开放:真正放行的是 Disallow 后面留空 allow all
188 b
↓
示例文件:全部禁止:预发布环境常用的文件
全部禁止:预发布环境常用的文件 disallow all
234 b
↓
示例文件:空文件,零字节
空文件,零字节 empty 0 b
0 b
↓

主流 CMS 的默认文件

示例文件:关闭 wp-admin,但把 admin-ajax.php 重新放行
关闭 wp-admin,但把 admin-ajax.php 重新放行 WordPress
318 b
↓
示例文件:在此基础上再加购物车、结算页和筛选链接
在此基础上再加购物车、结算页和筛选链接 WooCommerce
407 b
↓
示例文件:系统目录,以及自带的 Crawl-delay
系统目录,以及自带的 Crawl-delay Drupal
554 b
↓
示例文件:屏蔽分面导航参数与会话参数
屏蔽分面导航参数与会话参数 Magento 2
527 b
↓
示例文件:平台自己提供的版本,只能通过模板修改
平台自己提供的版本,只能通过模板修改 Shopify
592 b
↓
示例文件:只屏蔽系统目录,内容保持开放
只屏蔽系统目录,内容保持开放 Joomla
438 b
↓

常见场景的现成方案

示例文件:对 AI 关闭站点:训练语料与即时问答是不同的机器人
对 AI 关闭站点:训练语料与即时问答是不同的机器人 AI bots 12 agents
834 b
↓
示例文件:屏蔽 SEO 扫描器与外链采集器,同时不损失搜索流量
屏蔽 SEO 扫描器与外链采集器,同时不损失搜索流量 scrapers
554 b
↓
示例文件:放慢抓取:Google 会忽略该指令,Bing 和 Yandex 不会
放慢抓取:Google 会忽略该指令,Bing 和 Yandex 不会 crawl-delay
423 b
↓
示例文件:不同爬虫不同规则,通配组放在最后
不同爬虫不同规则,通配组放在最后 multi-agent
635 b
↓
示例文件:分面导航:关闭筛选,分页刻意保持开放
分面导航:关闭筛选,分页刻意保持开放 params
767 b
↓
示例文件:一次声明六个站点地图,包含 gzip 压缩的
一次声明六个站点地图,包含 gzip 压缩的 sitemaps 6 lines
531 b
↓

边界情况

示例文件:首行之前带 UTF-8 BOM,规则因此失效
首行之前带 UTF-8 BOM,规则因此失效 BOM
77 b
↓
示例文件:CRLF 换行,文件在 Windows 上保存
CRLF 换行,文件在 Windows 上保存 CRLF
310 b
↓
示例文件:通配符 * 与 $,以及多条规则命中时哪条生效
通配符 * 与 $,以及多条规则命中时哪条生效 wildcards
622 b
↓
示例文件:行内注释,以及组内空行这个陷阱
行内注释,以及组内空行这个陷阱 comments
1.1 Kb
↓
示例文件:故意写错:拼写错误、缺冒号、没有所属组的规则
故意写错:拼写错误、缺冒号、没有所属组的规则 broken
683 b
↓
示例文件:超出解析上限:11 089 条规则,只有前 500 KiB 被读取
超出解析上限:11 089 条规则,只有前 500 KiB 被读取 oversize 512 KiB
520 Kb
↓

🧠 哪条规则生效

爬虫只服从一个组:User-agent 与它匹配得最精确的那一组。它不会同时去读星号那一组,因此规则不会叠加。在该组之内,路径匹配最长的规则胜出,起决定作用的是模式的长度而不是行的先后:Allow: /wp-admin/admin-ajax.php 会压过 Disallow: /wp-admin/,即便它写在下面。长度相同时 Allow 胜出。特殊字符只有两个:* 代表任意一串字符,$ 表示网址结束。还有一点最常被忽略:这个文件拦的是抓取,不是收录。被其他网站链接的页面即便在这里被禁止,仍可能出现在搜索结果中,只是没有摘要。要把它移出索引,需要 X-Robots-Tag 响应头或 noindex 元标签,而这恰恰要求该页面可以被抓取。

Googlebot /wp-admin/admin-ajax.php User-agent one group only longest match not line order Allow rules in the group Disallow: /wp-admin/ 11 Allow: /wp-admin/admin-ajax.php 24 24 > 11 longer pattern wins crawling, not indexing: a blocked URL can still appear in results