Robots.txt 生成器

robots.txt 规则生成

支持多行 Allow / Disallow / Sitemap,自动拼装标准格式。

规则配置
生成结果

GeekFormat在线 Robots.txt 生成器,通过可视化表单配置 User-agent、Allow/Disallow 规则、Sitemap 声明和 Host 指令,实时生成符合 Robots Exclusion Protocol 标准的 robots.txt 文件。页面打开即带有示例默认值,修改任意字段即时预览生成结果,一键复制即可部署到网站根目录。纯浏览器本地运行,配置数据不上传任何服务器。

相关推荐

关于 Robots.txt 与爬虫排除协议

robots.txt 是网站与搜索引擎爬虫沟通的最基础方式之一,全称 Robots Exclusion Protocol(爬虫排除协议,简称 REP)。它是一个放置在网站根目录下的纯文本文件,通过简单的指令告诉合规的搜索引擎爬虫:网站的哪些部分允许抓取、哪些部分不希望被抓取。robots.txt 最早由 Martijn Koster 在 1994 年提出,经过近 30 年的发展,于 2022 年正式被 IETF 标准化为 RFC 9309。

robots.txt 的基本结构由一个或多个规则组(Group)组成。每个规则组以一个或多个 User-agent 行开头,指定规则适用的爬虫(* 表示所有爬虫);后面跟着若干 Allow 和 Disallow 行,分别指定允许和禁止抓取的路径前缀;文件末尾可以添加 Sitemap 和 Host 等非组级指令。每个规则组之间用空行分隔。一个典型的 robots.txt 包含:User-agent 声明 → Allow/Disallow 路径规则 → (可选)更多 User-agent 分组 → Sitemap 声明 → Host 指令。

User-agent 字段指定规则作用的爬虫名称。常见的搜索引擎爬虫名称包括:Googlebot(Google 谷歌搜索)、Bingbot(Bing 必应搜索)、Baiduspider(百度搜索)、YandexBot(Yandex 搜索)、DuckDuckBot(DuckDuckGo 搜索)、Twitterbot(Twitter/X 卡片抓取)、facebookexternalhit(Facebook 链接预览)、GPTBot(OpenAI GPT 爬虫)、Bytespider(字节跳动/今日头条搜索)等。使用 User-agent: * 作为通配符匹配所有未单独匹配的爬虫。

Allow 和 Disallow 指令使用前缀匹配(Prefix Matching)原则:只要 URL 路径以指定的值开头,规则就匹配。例如 Disallow: /admin 会拦截 /admin、/admin/、/admin/login.html、/administrator 等所有以 /admin 开头的路径。如果只想精确匹配 /admin/ 目录,应写 Disallow: /admin/(末尾加斜杠)。根据 RFC 9309 标准,当 Allow 和 Disallow 同时匹配时,路径最长的规则胜出;长度相同时 Allow 优先。这意味着越具体的规则优先级越高。

Sitemap 指令用于告知搜索引擎站点地图的位置,帮助爬虫更高效地发现和索引网站页面。Sitemap 行必须放在所有规则组之后(或文件末尾),URL 必须是完整的绝对地址(含 http:// 或 https://)。一个 robots.txt 中可以声明多个 Sitemap,每个独立一行。大型站点通常会拆分多个 Sitemap(按内容类型、更新频率分类),并通过一个 Sitemap 索引文件统一管理。

Host 指令是 Yandex 提出的非标准但广泛使用的指令,用于指定站点的首选域名(主镜像)。例如同时存在 example.com 和 www.example.com 时,Host: example.com 告诉搜索引擎以 example.com 为首选。需要注意:Google 已声明不使用 Host 指令,需要通过 Google Search Console 设置首选域;Bing 也未明确支持。Host 指令应放在 Sitemap 之后,且只能出现一次。

正确配置 robots.txt 对 SEO 有重要意义:一是避免爬虫浪费抓取配额在无意义的页面上(如搜索结果页、过滤页、重复内容页),让爬虫更高效地抓取有价值的内容;二是防止私密或低价值页面(如后台、测试页、打印页)被收录;三是通过 Sitemap 主动引导爬虫发现新页面。但需要注意:robots.txt 是君子协定,不能替代真正的安全措施;被 Disallow 的 URL 如果有外部链接指向,仍可能在搜索结果中显示 URL(只是不会抓取内容);完全禁止抓取反而可能影响站点整体权重评估。

robots.txt 常见错误包括:①路径写错(如 Disallow: admin 缺少开头斜杠,应写 /admin);②使用正则表达式(标准 REP 不支持正则,只有 Googlebot 支持有限的通配符 * 和 $);③禁止抓取 JS/CSS 文件(会导致 Google 无法渲染页面);④Disallow: / (禁止整个站点,这是致命错误,会导致网站完全不被收录);⑤文件编码问题(必须是 UTF-8 编码);⑥放在了子目录而非根目录;⑦文件权限导致无法访问(应返回 200 OK 状态码)。建议生成后使用 Google Search Console 的 robots.txt 测试工具或本平台的 robots.txt 检测工具验证。

适用场景

  • 新站上线前配置基础 robots.txt,明确允许和禁止抓取的路径范围,引导搜索引擎正确抓取
  • 网站改版后更新 Disallow 规则防止旧目录被继续抓取影响 SEO 权重分布
  • 添加多个 Sitemap 地址声明帮助搜索引擎更快发现全站页面结构,提升索引效率
  • 屏蔽后台管理目录(/admin)、测试环境、私有目录避免被爬虫收录,降低安全风险
  • 设置 Host 指令指定站点首选域名(带 www 或不带 www),减少重复内容问题
  • 为不同搜索引擎爬虫(Googlebot、Bingbot、Baiduspider 等)配置独立的抓取规则
  • 临时禁止爬虫访问正在维护中的目录,等网站更新完成后再开放抓取
  • 生成规范格式的 robots.txt 文件,避免因手写格式错误导致搜索引擎解析失败
  • 配置多 Sitemap(如文章 sitemap、产品 sitemap、图片 sitemap)覆盖全站内容类型
  • 前端开发演示 robots.txt 规则配置,教学展示爬虫协议标准格式
  • 配合 robots.txt 检测工具验证生成的规则是否符合预期,避免错误屏蔽重要页面
  • 快速创建 robots.txt 模板,下载后根据实际站点情况微调后部署

使用方法

  1. 在 User-agent 输入框指定目标爬虫(默认 * 代表所有搜索引擎爬虫)
  2. 在 Allow 区域填写允许抓取的路径,每行一条规则(如 /、/blog/)
  3. 在 Disallow 区域填写禁止抓取的路径,每行一条规则(如 /admin、/private)
  4. 在 Sitemap 区域添加 XML 站点地图地址(支持多行),在 Host 区域填写首选域名
  5. 右侧预览区实时显示生成的 robots.txt 内容,确认无误后点击复制按钮即可部署

功能特点

  • 多规则独立配置:User-agent、Allow、Disallow、Sitemap、Host 各自独立输入区,规则分类清晰不再混在一起
  • 实时预览生成:修改任意规则后 robots.txt 内容即时更新,无需手动点击生成按钮,所见即所得
  • 默认兜底规则:当 Allow 和 Disallow 均为空时自动输出 Allow: /,避免生成空白文件导致爬虫行为不确定
  • 多 Sitemap 支持:Sitemap 区域支持多行输入,每个 URL 独立输出一行 Sitemap 声明,适合多 Sitemap 站点
  • 一键复制部署:生成结果支持一键复制到剪贴板,适合直接粘贴到网站根目录部署使用
  • 默认示例预填:页面打开即带有默认示例配置(User-agent: *、Allow: /、Disallow: /admin /private、Sitemap、Host),新手可直接参考修改
  • 标准格式输出:严格遵循 Robots Exclusion Protocol 规范,User-agent 行在前、规则行在后、Sitemap/Host 在末尾,各搜索引擎兼容
  • 路径智能处理:自动 trim 每行首尾空格、过滤空行,避免因多余空格导致规则失效
  • 分栏响应式布局:PC 端左右分栏(配置/预览),移动端上下排列,桌面和手机都好用
  • 等宽字体预览:预览区使用等宽字体显示生成结果,robots.txt 格式整齐清晰
  • Host 指令支持:可配置 Host 首选域名(Yandex 等搜索引擎支持),减少域名重复内容问题
  • 纯浏览器本地运行:所有配置和生成操作在浏览器本地 JavaScript 中完成,不发送任何数据到服务器
  • 零依赖即时使用:打开页面即可使用,无需注册登录,无需安装任何软件
  • 与检测工具联动:相关链接直达 robots.txt 检测工具,生成后可立即验证规则是否正确

常见问题

robots.txt 是干什么的?为什么网站要有这个文件?

robots.txt 是放置在网站根目录下的一个纯文本文件,用来告诉搜索引擎爬虫(如 Googlebot、Bingbot、Baiduspider 等)哪些路径可以抓取、哪些禁止访问。它是 Robots Exclusion Protocol(爬虫排除协议)的实现方式,是站点抓取管理和 SEO 基础设置的核心文件。虽然不是强制要求,但几乎所有正规网站都会配置 robots.txt 来引导爬虫行为。

robots.txt 文件应该放在哪里?

robots.txt 必须放在网站的根目录下,并且可以通过 http://你的域名/robots.txt 直接访问。例如 https://example.com/robots.txt。注意不要放在子目录下(如 /blog/robots.txt 是无效的),爬虫只会在根目录查找这个文件。文件名必须是全小写的 robots.txt,不能是 Robots.txt 或 ROBOTS.TXT。

Allow 和 Disallow 都为空时会生成什么内容?

当 Allow 和 Disallow 均未填写时,生成器会自动输出 Allow: / 作为兜底规则,表示允许抓取整个站点。这可以避免生成空白文件或只有 User-agent 行的不完整 robots.txt,防止爬虫因规则不明确而产生不确定行为。

可以配置多个 Sitemap 地址吗?

可以。Sitemap 区域支持多行输入,每个 URL 会独立输出一行 Sitemap 声明。例如大型站点通常会有多个 sitemap 文件(文章 sitemap、产品 sitemap、图片 sitemap 等),可以每行填写一个完整的 Sitemap URL(必须是完整的绝对路径,包含 http:// 或 https://)。

Host 指令的作用是什么?所有搜索引擎都支持吗?

Host 指令用于指定站点的首选域名(如 example.com 或 www.example.com),帮助搜索引擎识别主域名,减少 www 和非 www 版本之间的重复内容问题。目前 Host 指令主要被 Yandex 等搜索引擎支持,Google 并不直接使用 Host 指令,而是通过 Google Search Console 设置首选域名。建议配置上但不要完全依赖它。

User-agent: * 是什么意思?如何为特定爬虫配置规则?

User-agent: * 表示规则适用于所有爬虫(星号是通配符)。如果需要为特定搜索引擎配置独立规则,可以将 User-agent 设为具体的爬虫名称,如 Googlebot(谷歌)、Bingbot(必应)、Baiduspider(百度)、Twitterbot(推特/X)等。可以配置多个 User-agent 分组,每组之间用空行分隔。

robots.txt 能真正保护敏感目录不被访问吗?

不能。robots.txt 只是一个君子协定,合规的搜索引擎爬虫会遵守规则,但恶意爬虫、黑客扫描器完全可以忽略它。不要依赖 robots.txt 来保护真正的敏感内容(如后台密码、用户隐私数据),敏感目录应该使用服务器端身份验证(密码保护、IP白名单)等真正的安全措施。robots.txt 的作用是引导合规爬虫,而非安全防护。

Disallow 规则的路径匹配规则是什么?

Disallow 规则使用前缀匹配:Disallow: /admin 会匹配 /admin、/admin/、/admin/login.html、/administrator 等所有以 /admin 开头的路径。如果只想匹配 /admin/ 目录下的内容,应写 Disallow: /admin/(带尾部斜杠)。Disallow: (空值)表示不禁止任何路径(即全部允许)。注意规则区分大小写。

生成的 robots.txt 如何部署到网站?

点击复制按钮将生成内容复制到剪贴板,然后在服务器上创建一个名为 robots.txt 的纯文本文件,粘贴内容后将文件上传到网站根目录(通常是 web root、public_html、www 或 dist 目录)。部署后可通过 https://你的域名/robots.txt 访问验证是否生效,也可以使用 Google Search Console 的 robots.txt 测试工具验证规则。

修改 robots.txt 后多久生效?

搜索引擎爬虫下次访问你的网站时会重新抓取 robots.txt 文件,通常在几小时到几天内生效。如果你希望搜索引擎尽快发现更新,可以在 Google Search Console 或 Bing Webmaster Tools 中提交 robots.txt 更新请求。注意:已经被收录的页面即使被 Disallow 也可能在搜索结果中保留一段时间,完全移除需要配合 noindex 标签或 URL 移除工具。

Allow 和 Disallow 冲突时哪个优先?

根据 RFC 9309(Robots Exclusion Protocol 正式标准),当 Allow 和 Disallow 规则路径长度相同时,Allow 优先于 Disallow;当路径长度不同时,匹配路径最长的规则优先。例如 Allow: /blog 和 Disallow: /blog/ 冲突时,访问 /blog/post.html 会匹配 Disallow(路径更长 /blog/ > /blog),而访问 /blog 本身会匹配 Allow。简单来说,越具体的规则优先级越高。

可以在 robots.txt 中添加注释吗?

可以,使用 # 号开头的行即为注释行,爬虫会忽略 # 后面的内容。注释可以写在单独一行,也可以写在规则行末尾(# 后面的内容)。例如:# Block admin area 或 Disallow: /admin # admin panel。适当添加注释有助于自己和团队成员理解每条规则的作用。

Sitemap URL 需要是绝对路径吗?

是的,Sitemap 指令必须使用完整的绝对 URL(包含协议和域名),如 Sitemap: https://example.com/sitemap.xml。不能使用相对路径(如 /sitemap.xml),因为爬虫可能从不同域名访问你的站点(如 example.com 和 www.example.com),相对路径会导致爬虫无法确定正确地址。

配置数据会上传到服务器吗?

完全不会。robots.txt 的所有配置和生成操作都在你的浏览器本地通过 JavaScript 完成,输入的路径、域名等配置数据不会发送到任何外部服务器。页面加载后即可离线使用(基础功能),关闭页面后数据自动清除,不会留下任何记录。

生成的 robots.txt 可以用在任何网站吗?

可以,生成器输出的是标准 Robots Exclusion Protocol 格式的纯文本文件,适用于任何 Web 服务器(Nginx、Apache、IIS、Caddy 等)和任何建站平台(WordPress、Shopify、Next.js、Django、Rails 等)。只要部署到网站根目录并确保可公开访问即可。

故障排查

生成的文件访问返回 404 错误?

确认 robots.txt 文件已上传到网站根目录(不是子目录),文件名全小写为 robots.txt,文件权限设置为公开可读(通常 644 权限即可)。上传后直接在浏览器访问 https://你的域名/robots.txt 确认能看到内容。不同服务器根目录位置不同:Nginx/Apache 通常是 /var/www/html/ 或 /usr/share/nginx/html/,Vercel/Netlify 通常是 public/ 目录。

Disallow 规则不生效,页面仍然被收录?

可能的原因:①爬虫尚未重新抓取 robots.txt(等待几天或在 Search Console 提交更新);②路径前缀匹配不正确(如 Disallow: admin 缺少 /,应写 Disallow: /admin/);③页面在添加 Disallow 之前已被收录(已收录的页面不会自动移除);④恶意爬虫不遵守 robots.txt;⑤存在 Allow 规则冲突覆盖了 Disallow(Allow 路径更长时优先)。需要彻底移除索引应使用 noindex 标签。

Google Search Console 报告 robots.txt 阻止了页面?

这通常意味着重要页面被意外 Disallow 了。检查 robots.txt 中是否有过于宽泛的 Disallow 规则(如 Disallow: / 或 Disallow: /*?),确认 CSS/JS 文件没有被禁止(Google 需要抓取这些文件来渲染页面)。使用 Search Console 的 robots.txt 测试工具输入具体 URL 测试是哪条规则在阻止。

不小心设置了 Disallow: / 导致全站被禁止抓取?

立即移除或修改该规则,将 robots.txt 改为 Allow: / 或删除 Disallow: / 行,上传更新后的文件到服务器。然后在 Google Search Console 中提交 robots.txt 更新请求,并提交 sitemap 加速重新抓取。已经从索引中移除的页面可能需要数天到数周才能重新收录。

术语表

robots.txt
放置在网站根目录的纯文本文件,遵循 Robots Exclusion Protocol,用于告知合规搜索引擎爬虫哪些路径允许/禁止抓取。
Robots Exclusion Protocol (REP)
爬虫排除协议,1994年提出,2022年标准化为 RFC 9309,是网站与爬虫之间沟通抓取规则的事实标准。
User-agent
规则组的起始字段,指定后续 Allow/Disallow 规则适用的爬虫名称,* 通配符表示匹配所有爬虫。
Disallow
禁止抓取指令,指定不希望爬虫访问的路径前缀。例如 Disallow: /admin 禁止抓取所有以 /admin 开头的路径。
Allow
允许抓取指令,指定明确允许爬虫访问的路径。在 Disallow 父路径下开放特定子路径时使用。
Sitemap
站点地图声明指令,告知搜索引擎网站 XML 站点地图的完整 URL,帮助爬虫高效发现和索引全站页面。
Host
首选域名指令,指定站点的主域名(如 example.com vs www.example.com),Yandex 支持,Google 通过 Search Console 设置。
Crawler/Bot/Spider
爬虫/蜘蛛/机器人,搜索引擎自动访问网页并收集内容的自动化程序,如 Googlebot、Bingbot、Baiduspider 等。
Googlebot
Google 搜索引擎的网页爬虫,负责抓取网页内容供 Google 索引和排名,是最常见的搜索引擎爬虫之一。
Crawl Budget
抓取预算/配额,搜索引擎对每个网站分配的抓取频率和页面数量上限。合理配置 robots.txt 可以避免浪费抓取配额。
Prefix Matching
前缀匹配规则,robots.txt 的路径匹配方式。URL 路径以规则值开头即匹配成功,越长的规则优先级越高。
noindex
HTML meta 标签或 HTTP 头指令(X-Robots-Tag: noindex),告诉搜索引擎不要将该页面编入搜索索引。与 robots.txt Disallow 不同,noindex 是更可靠的移除索引方式。

常见搜索引擎爬虫 User-agent 名称

配置特定爬虫规则时使用的 User-agent 名称:

爬虫名称所属搜索引擎用途
*所有爬虫通配符,匹配所有未单独配置的爬虫
GooglebotGoogle谷歌搜索网页抓取爬虫
BingbotBing/微软必应搜索网页抓取爬虫
Baiduspider百度百度搜索网页抓取爬虫
YandexBotYandexYandex 搜索网页抓取爬虫
GPTBotOpenAIChatGPT 训练数据抓取爬虫
TwitterbotX/TwitterX 平台链接卡片预览爬虫
facebookexternalhitFacebookFacebook 链接预览爬虫

常用 robots.txt 规则示例

不同站点场景的常用规则配置:

规则效果
Disallow: /admin/禁止抓取 /admin/ 目录下所有内容
Disallow: /*?禁止抓取带查询参数的 URL(Googlebot 支持通配符 *)
Disallow: /search禁止抓取站内搜索结果页
Allow: /public/明确允许抓取 /public/ 目录
Disallow: /⚠️ 禁止抓取整个站点(致命错误,慎用!)
Allow: /允许抓取全站所有内容

robots.txt 标准指令速查表

RFC 9309 定义的标准指令及用法:

指令作用域格式示例说明
User-agent组起始User-agent: *指定规则适用的爬虫名称
Disallow组内Disallow: /admin禁止抓取的路径前缀
Allow组内Allow: /public允许抓取的路径前缀
Sitemap非组级Sitemap: https://example.com/sitemap.xml声明站点地图位置(绝对URL)
#任意位置# This is a comment注释行,爬虫忽略

Privacy & Security

本 Robots.txt 生成器所有操作完全在你的浏览器本地完成:User-agent、路径规则、Sitemap、Host 等配置输入全部在浏览器内存中通过 JavaScript 实时组装生成 robots.txt 文本,不会通过网络发送到任何服务器。页面加载后即可使用,不使用 Cookie 追踪,不收集任何用户数据。关闭或刷新页面后,所有配置内容自动清除,不会在浏览器中持久化存储。

Authoritative References