Robots.txt 生成器

在线快速生成标准 robots.txt 文件。配置 User-agent 规则、Allow/Disallow 路径及 Sitemap URL,无需注册,即开即用。

  • 在浏览器中处理
  • 数据不离开你的设备
  • 免费 · 无需注册
添加独立的 User-agent 块。每个块有自己的爬虫选择及允许或禁止规则;删除块会将其从输出中移除。
复制完整生成文件,修改输入会立即更新。Ctrl/⌘+L 清空文本、Sitemap URL 和结果,保留块、规则类型和 User-agent 选择。复制失败后可直接重试。
输入一个 Sitemap URL。工具删除两端的空白后追加到所有块的末尾,不校验 URL,也不请求该地址。
User-agent 选择 *(所有爬虫)、Googlebot 或 Bingbot,也可选择“自定义...”并输入名称。空自定义名称会写为 *,名称两端的空白会被删除。 路径规则 添加允许或禁止规则并输入路径。工具删除路径两端的空白后直接输出,不做校验;空路径保留为空规则。没有规则的块会写出 Disallow:。
User-agent 块
Disallow
robots.txt
User-agent: *
Disallow: /

初始规则 Disallow: / 会禁止抓取整个站点,发布前请修改或删除该规则。

阅读完整使用指南 robots.txt 生成器:在线配置爬虫规则
示例、说明与常见问题 带实际输出的示例、与同类工具的差别,以及常见问题。

示例:百度帮助中心“屏蔽百度、放行图片搜索”的写法怎么读

百度帮助中心的「Baiduspider 常见问题解答」列出了各产品使用的 user-agent:网页搜索为 Baiduspider,图片搜索为 Baiduspider-image,并给出“禁止所有来自百度的抓取,但允许图片搜索抓取 /image/ 目录”的写法。在工具里删除初始块,添加两个块,分别用“自定义…”填 Baiduspider(禁止 /)和 Baiduspider-image(允许 /image/),输出为:

User-agent: Baiduspider
Disallow: /

User-agent: Baiduspider-image
Allow: /image/

按 RFC 9309 的规则读这个文件:爬虫按名字(不区分大小写)找到与自己匹配的组,只遵守这一组,组内没有匹配的规则时,网址视为允许。所以 Baiduspider 不能抓 /news/。Baiduspider-image 读自己的组,/image/logo.png 可以抓,而 /news/ 没有规则匹配,同样是允许。文件里没有 * 组,Googlebot 等其他爬虫不受任何限制。百度没有公开图片爬虫的解析代码,以上是按标准得出的读法。想让图片爬虫只抓 /image/,在它的组里再加一条“禁止 /”:

User-agent: Baiduspider
Disallow: /

User-agent: Baiduspider-image
Disallow: /
Allow: /image/

Allow: /image/ 比 Disallow: / 长,RFC 9309 规定匹配字节最多的规则生效,与两行的先后无关,因此 /image/ 下的文件仍可抓取,其余路径被禁止。同一页帮助还写明 Baiduspider-cpro 与 Baiduspider-ads 不遵守 robots 协议,以及已经建立的索引可能需要数月才会清除。

示例:Sitemap 要写完整网址

工具不检查 Sitemap 地址,填 /sitemap.xml 也会原样写出:

User-agent: *
Disallow: /search/

Sitemap: /sitemap.xml

Sitemaps 协议要求在 robots.txt 里写网站地图的完整 URL,所以要填成 https://www.example.cn/sitemap.xml 这样带协议和主机名的地址。上面这个文件里,站内搜索结果 /search/?q=手机 被 Disallow: /search/ 禁止,商品页 /product/1001.html 不受影响。

User-agent: *
Disallow: /search/

Sitemap: https://www.example.cn/sitemap.xml

写好后可以用百度搜索资源平台的 Robots 工具检测。该页面说明工具支持 48k 以内的文件内容,目录最长不超过 250 个字符。

常见 robots.txt 配置

  • 屏蔽所有爬虫:User-agent: * + Disallow: /
  • 允许所有爬虫:User-agent: * + Disallow:(留空)。工具里一个块没有任何规则时,就会写出这样的空 Disallow:。
  • 屏蔽特定目录:Disallow: /admin/
  • 只允许某一个爬虫:先用 * 块禁止 /,再为该爬虫单独加一个不含规则的块

工具不做的事与 robots.txt 的边界

  • 不校验:路径去掉两端空白后原样写出。RFC 9309 的路径以 / 开头,admin/ 这样的值不是有效规则;空路径写成空规则。
  • 只有一行 Sitemap:有多个网站地图时,复制这一行手动补上。不生成 Crawl-delay 等非标准指令。
  • 通配符:* 和 $ 属于 RFC 9309,可以直接写进路径,例如 Disallow: /*?sessionid=,工具不检查写法。
  • 禁止抓取不等于从搜索结果删除:其他页面链接到被禁止的网址时,它仍可能以无摘要的形式出现在结果中。要让页面不出现在结果里,应允许抓取并在页面上发送 noindex,可以用 Meta 标签生成器写出。
  • 大小与错误:RFC 9309 要求爬虫至少解析文件的前 500 KiB。robots.txt 返回 4xx 时爬虫可以抓取全部内容;返回 5xx 或无法访问时,应视为全部禁止。
  • 每个主机各一份:文件上传到网站根目录,使其可以通过 https://你的域名/robots.txt 访问。example.cn 上的规则管不到 m.example.cn,移动站或子域名要各放一份。

FAQ

robots.txt 是什么?

robots.txt 是放在网站根目录(如 https://example.com/robots.txt)的纯文本文件,告诉网络爬虫哪些页面或目录可以抓取、哪些不可以。它遵循机器人排除协议(Robots Exclusion Protocol),该协议已标准化为 RFC 9309。

robots.txt 能阻止所有爬虫吗?

不能。robots.txt 是约定,不是安全措施。Googlebot、Baiduspider 等守规矩的爬虫会遵守它(百度说明 Baiduspider-cpro、Baiduspider-ads 例外),恶意爬虫可能完全无视。要真正限制访问,请在服务器层面做访问控制。

'Disallow: /' 是什么意思?

它让对应的 User-agent 不抓取站点上的任何页面。'User-agent: *' 加 'Disallow: /' 会让所有遵守协议的爬虫都不抓取整个站点。这也是工具打开时的初始状态,发布前请改掉。

可以设置多个 User-agent 块吗?

可以,点击“+ 添加 User-agent 块”即可。爬虫只遵守与自己名字匹配的那一组;给 Baiduspider 单独写一组后,Baiduspider 就不再读 * 组的规则,两组共用的规则要在两组里各写一遍。

Sitemap 指令应放在哪里?

放在文件中任何位置都可以。Sitemap 行不属于任何 User-agent 组,位置不影响效果;工具把它写在末尾。它告诉爬虫 XML 网站地图的地址,帮助爬虫发现你希望被抓取的页面。

我输入的路径和网址会被发送或保存吗?

不会。文件在你的浏览器页面里生成。工具不会请求你填写的 Sitemap 地址,也不会把路径或爬虫名称发送到服务器或写入浏览器存储,刷新页面后恢复初始的那一组规则。你确认一次修改(修改输入框后离开、选择爬虫、添加或删除规则或块)时,网站统计会记录一次工具名和动作,不记录你输入的内容。