网站 / SEO · SEO 工具

robots.txt 生成

多 UA 规则/Sitemap 字段/校验

本地处理 · 不上传 免费 · 无需登录 无次数限制 累计 103 次使用
多 UA 规则组 → 标准 robots.txt · URL 拦截测试 · 全本地生成
匹配按 Google 规范:最长 path 优先 · 同长 Allow 胜 · 支持通配符 * 与结尾 $
一键预设
规则配置user-agent groups
SITEMAPsitemap urls
ROBOTS.TXTgenerated · live
URL 拦截测试will this URL be crawled?
就绪 · 配置规则即时生成 robots.txt
第一节

关于本工具

About

提交网站到搜索引擎前,先检查 `robots.txt` 是否误封了关键路径。这个工具让输入多组 User-Agent 规则和 Sitemap 地址,实时校验指令冲突与语法错误,并高亮被 Disallow 屏蔽的 URL。规则解析在你浏览器本地完成,规则内容不会上传服务器。

使用场景

多端蜘蛛权限

某资讯站同时被百度、谷歌、必应抓取,但百度收录的旧版频道(如 /news/old/)图片已失效,谷歌和必应仍在正常抓取。站长需要为百度单独屏蔽该目录,同时保留其他蜘蛛访问权限。本工具在 User-agent 规则中逐条指定蜘蛛名称与 Disallow 路径,避免用一条通用规则误伤其他搜索引擎的抓取,保证各端收录正常。

新版上线旧版下线

一个电商站从 /shop/v1/ 迁移到 /shop/v2/,旧版页面已停止更新,但仍有外链和收录。站长需要将旧版所有页面标记为禁止抓取,同时在新版 Sitemap 中提交新 URL。本工具在 Disallow 中锁定 /shop/v1/ 所有子路径,并在 Sitemap 字段填入新版 XML 地址,实现新旧版本无缝切换,避免搜索引擎同时收录两套内容导致重复惩罚。

临时活动页屏蔽

某电商平台在双十一结束后,活动页(/promo/2024/)仍被百度索引,用户点击后看到已过期的商品信息,投诉增加。运营需要立即阻止搜索引擎继续抓取该页面,但保留其他正常目录的收录。本工具为该目录单独设置 Disallow 规则,并保留其他路径的 Allow 状态,活动下线后 24 小时内停止收录,不影响主站权重。

后台目录防泄露

一个 CMS 建站的后台登录路径(/admin/)被搜索引擎意外收录,暴露了管理界面入口,存在安全风险。站长需要立即禁止所有蜘蛛访问该目录,但前台内容(/article/、/product/)正常抓取。本工具在 User-agent: * 下添加 Disallow: /admin/,同时保留其他目录的 Allow 规则,防止后台路径被索引,降低被攻击面。

多语言站点分流

一个中文站同时提供英文版(/en/)和日文版(/ja/),但百度只收录中文内容,谷歌需要同时抓取英文和日文。站长需要为百度仅开放中文目录,为谷歌开放所有语言路径。本工具分别为 baiduspider 和 Googlebot 编写独立规则组,精确控制每个蜘蛛的抓取范围,避免百度误抓外语页面导致低质收录,同时保证谷歌全量索引。

第二节

使用指南

Getting Started

使用步骤

  1. 1在「User-agent」输入框填写爬虫名称(如 Googlebot),或留空表示匹配所有未列出的爬虫
  2. 2点「Add Rule」添加一条规则,在「Disallow」或「Allow」字段输入禁止或允许的路径(如 /admin)
  3. 3切换到「Sitemaps」标签页,输入站点地图 URL(如 https://example.com/sitemap.xml),点「Add」追加
  4. 4完成所有规则后点「Generate」按钮,右侧预览区立即显示生成的 robots.txt 文本,语法错误行标红
  5. 5点预览区下方的「Copy」按钮将文本复制到剪贴板,或点「Download」保存为 .txt 文件

输入输出示例

输入输出说明
User-agent: * Disallow: /wp-admin/ Disallow: /wp-includes/ Allow: /wp-admin/admin-ajax.php Sitemap: https://example.com/sitemap.xmlUser-agent: * Disallow: /wp-admin/ Disallow: /wp-includes/ Allow: /wp-admin/admin-ajax.php Sitemap: https://example.com/sitemap.xml 校验结果:规则通过。Allow 指令在 Disallow 之后,对 /wp-admin/admin-ajax.php 生效。常规:WordPress 站点标准配置,验证工具对 Allow/Disallow 优先级及 Sitemap 字段的识别。
User-agent: Googlebot Disallow: /private/ User-agent: Bingbot Disallow: /temp/ User-agent: * Disallow: /User-agent: Googlebot Disallow: /private/ User-agent: Bingbot Disallow: /temp/ User-agent: * Disallow: / 校验结果:规则通过。多 UA 分组,Googlebot 仅限制 /private/,Bingbot 仅限制 /temp/,其余全部禁止。常规:多 UA 规则分组,验证工具正确处理不同爬虫的独立规则块。
User-agent: * Disallow: /User-agent: * Disallow: / 校验结果:规则通过。全部禁止抓取。边界:最简封锁规则,验证工具能处理仅两条指令的极端输入。
User-agent: * Disallow: Sitemap: https://example.com/sitemap.xmlUser-agent: * Disallow: Sitemap: https://example.com/sitemap.xml 校验结果:警告:Disallow 值为空,表示允许所有路径,与意图可能不符。边界:空 Disallow 值(允许所有)与无 Disallow 行含义相同,工具应给出警告而非静默通过。
User-agent: * Disallow: /data/ Sitemap: sitemap.xmlUser-agent: * Disallow: /data/ Sitemap: sitemap.xml 校验结果:警告:Sitemap 值应为完整 URL(含协议),当前为相对路径。易错:Sitemap 字段要求绝对 URL,相对路径是常见错误,工具应检测并提示。
User-agent: * Disallow: /admin Disallow: /admin/User-agent: * Disallow: /admin Disallow: /admin/ 校验结果:规则通过。注意:/admin 会匹配 /adminPage,/admin/ 仅匹配 /admin/ 目录。易错:路径末尾有无斜杠含义不同,/admin 匹配前缀,/admin/ 仅匹配目录,用户常混淆。
User-agent: * Disallow: /private Disallow: /privateUser-agent: * Disallow: /private Disallow: /private 校验结果:警告:存在重复的 Disallow 行(/private),建议合并。易错:重复规则不报错但冗余,工具应检测重复并给出优化建议。

常见错误对照

1.User-agent 字段写成了完整 URL 或 IP

✗ 错误User-agent: https://www.example.com/spider
✓ 修复User-agent: Googlebot

User-agent 只认爬虫名称(如 Baiduspider、Googlebot),不是 URL 或 IP。写错会导致整条规则不生效,爬虫忽略该指令。

2.Allow 和 Disallow 顺序写反,以为 Allow 优先

✗ 错误Disallow: /private/ Allow: /private/public/
✓ 修复Allow: /private/public/ Disallow: /private/

robots.txt 按匹配长度优先,不是按指令顺序。更具体的路径优先匹配,所以长路径的 Allow 应写在前面才能生效。

3.Disallow 路径末尾漏了斜杠,意外禁止了整个目录

✗ 错误Disallow: /admin
✓ 修复Disallow: /admin/

缺少末尾斜杠时,/admin 会匹配 /admin.html、/administer 等以 admin 开头的所有路径。加上斜杠才精确限制 /admin/ 目录。

4.Sitemap 字段写了多个 URL 但没分行

✗ 错误Sitemap: https://example.com/sitemap.xml https://example.com/sitemap2.xml
✓ 修复Sitemap: https://example.com/sitemap.xml Sitemap: https://example.com/sitemap2.xml

每个 Sitemap 字段只能放一个 URL,多个 URL 必须各占一行。否则爬虫只解析第一个,后面的会被忽略。

5.Crawl-delay 单位写成了秒以外的值

✗ 错误Crawl-delay: 1000
✓ 修复Crawl-delay: 10

Crawl-delay 单位是秒,不是毫秒。写 1000 表示爬虫每 1000 秒才能抓一次,相当于 16 分钟,会严重拖慢收录。

6.通配符 * 用在了路径中间,以为能匹配任意字符

✗ 错误Disallow: /category/*/page
✓ 修复Disallow: /category/

robots.txt 标准只支持末尾通配符 *(匹配任意后缀),不支持中间通配。写 /category/*/page 实际只匹配字面路径,不会匹配 /category/abc/page。

7.多个 User-agent 块之间缺少空行,导致规则合并

✗ 错误User-agent: Googlebot Disallow: /private/ User-agent: Baiduspider Disallow: /temp/
✓ 修复User-agent: Googlebot Disallow: /private/ User-agent: Baiduspider Disallow: /temp/

robots.txt 用空行分隔不同 User-agent 块。没有空行时,Baiduspider 会继承 Googlebot 的规则,导致 /private/ 也被禁止。

8.注释符号 # 写在了指令行中间

✗ 错误Disallow: /temp/ # 临时目录
✓ 修复Disallow: /temp/ # 临时目录

注释 # 只能单独占一行,不能写在指令行末尾。写在行尾时,爬虫会把 # 及之后内容当作路径的一部分,导致路径错误。

第三节

工作原理

How It Works

核心公式

robots.txt 规则匹配优先级 = 最长路径前缀匹配 + 通配符精确度

变量说明

  • User-agent指定爬虫名称,* 表示所有
  • Disallow禁止访问的路径前缀
  • Allow允许访问的路径前缀
  • SitemapXML 站点地图完整 URL

示例

场景:禁止 Googlebot 访问 /admin/,但允许 /admin/public/。规则:User-agent: Googlebot\nDisallow: /admin/\nAllow: /admin/public/\nSitemap: https://example.com/sitemap.xml。推导:爬虫请求 /admin/public/page.html 时,匹配到两条规则,Allow 路径更长(/admin/public/ 比 /admin/ 多 8 字符),按最长前缀优先原则,最终允许访问。Sitemap 字段独立于规则,直接指向站点地图 URL。

填写规则User-agent / Disallow规则校验检查通配符 *检查路径合法性字段组装拼接 Sitemap添加注释 / 分组生成 robots.txt可复制 / 下载⚡ 全部在浏览器本地完成,无数据上传规则校验、字段组装、文件生成均在前端执行
用户输入 本地处理 输出结果
第五节

常见问题

Q & A
robots.txt 里 User-agent: * 和 User-agent: Googlebot 同时写,哪个优先级高?

搜索引擎爬虫会先匹配最具体的 User-agent。如果 Googlebot 同时匹配了 * 和 Googlebot 两条规则,则 Googlebot 那条的指令(Disallow/Allow)会覆盖 * 的规则。本工具在生成时,会自动将具体 UA 的规则放在通用规则之后,确保最终文件符合搜索引擎的解析顺序。如果手动调整顺序,建议把通用规则放在文件末尾。

生成的 robots.txt 里 Sitemap 字段到底放哪个网址,带不带协议和斜杠?

Sitemap 字段必须填写完整的绝对 URL,包括协议(https://)、域名和路径,并且必须指向 XML 格式的 Sitemap 文件。例如:`Sitemap: https://www.example.com/sitemap.xml`。本工具在输入 Sitemap 地址时,如果忘记加 `https://`,生成时会自动补全,但建议自行确认 XML 文件是否真实存在且可访问。

Disallow 后面只写一个斜杠 / 和不写东西有什么区别?

区别非常大。`Disallow: /` 表示禁止爬虫抓取整个网站的任何路径,等于网站完全对搜索引擎关闭。而 `Disallow:`(冒号后面留空)则表示没有任何路径被禁止,爬虫可以抓取全站。本工具在添加规则时,如果只输入 `/` 作为路径,会在生成结果中明确显示为 `Disallow: /`;如果留空路径输入框,则不会生成该 Disallow 行。

为什么我生成的 robots.txt 里 Allow 和 Disallow 同时指向一个路径,爬虫会听谁的?

对于同一个爬虫,Allow 指令的优先级高于 Disallow。例如 `Disallow: /private/` 和 `Allow: /private/public.html` 同时存在时,爬虫会允许抓取 `/private/public.html`。本工具在添加规则时,如果检测到同一个 UA 下同时存在冲突的 Allow 和 Disallow 规则,会在界面下方给出提示,但不强制修改,因为某些高级场景确实需要这种配置。

这个工具生成的 robots.txt 文件,我直接复制粘贴到网站根目录就能用吗?

可以,但需要注意两个前提。第一,本工具生成的是纯文本文件,复制后请确保文件名为 `robots.txt`(全小写),并上传到网站的根目录(即通过 `https://你的域名/robots.txt` 能直接访问)。第二,生成内容里没有包含本工具的广告或额外注释,复制后可直接使用。建议上传后用浏览器访问该文件检查是否生效。

我在规则里写了禁止爬取某个文件夹,但 Google 搜索里还是能看到里面的页面,怎么回事?

robots.txt 是请求爬虫不要抓取,而不是强制阻止。如果该页面有外部链接指向它,或者之前已经被抓取并索引,Google 仍然可能展示该页面(只是不抓取更新)。本工具生成的规则只能控制爬虫未来的抓取行为,无法删除已存在的搜索结果。要彻底移除已索引的页面,需要在 Google Search Console 中提交删除请求。

我的网站是单页应用,路径里带 # 号,robots.txt 能屏蔽这些页面吗?

不能。robots.txt 中的路径规则只识别 URL 中 # 号之前的部分,因为 # 后面的内容是浏览器端锚点,不会被发送到服务器。要屏蔽这类页面,应该在页面的 HTML 头部添加 `<meta name="robots" content="noindex">` 标签。本工具目前只处理 robots.txt 规则,不涉及 meta robots 标签的生成。

隐私保证所有计算与处理均在你的浏览器本地完成,输入数据不会上传服务器,也不会保存或共享。

选择 打开 +新窗口 esc关闭