SEO Tools

Robots.txt 文件生成器 — 是什么以及如何创建

了解 robots.txt 文件的作用、爬取规则的工作原理,以及如何在无需编写代码的情况下为您的网站生成正确的 robots.txt 文件。

8分钟阅读

Robots.txt 文件生成器 — 网络爬虫与 SEO

互联网上的每个网站都会被各种机器人访问——Googlebot、Bingbot、AI 爬虫以及数十种其他类型。robots.txt 文件就是您告诉它们哪些内容可以索引、哪些不可以的方式。设置正确,您就能掌控搜索结果中显示的内容;设置错误,您可能会意外地将整个网站从 Google 中屏蔽。

什么是 robots.txt 文件?

robots.txt 文件是一个纯文本文件,放置在网站根目录,用于指示网络爬虫哪些页面或栏目应该爬取、哪些应该跳过。它遵循机器人排除协议(Robots Exclusion Protocol)——这是一个几乎所有主流爬虫都遵守的非正式标准。

当 Googlebot 访问您的网站时,它请求的第一个 URL 是:

https://yourdomain.com/robots.txt

如果该文件存在,机器人会读取规则并相应调整其爬取行为。如果不存在,机器人则默认所有内容都可以爬取。

重要提示: robots.txt 是一种指令,而非安全措施。它告诉行为规范的机器人不应爬取哪些内容——但并不能阻止访问。恶意机器人和爬虫可能完全忽略它。切勿依赖 robots.txt 来隐藏敏感内容。


robots.txt 文件结构

一个 robots.txt 文件由一条或多条记录组成。每条记录包含:

  1. 一行 User-agent — 指定规则适用的机器人
  2. 一行或多行 DisallowAllow — 爬取规则
  3. 可选的 Crawl-delay 指令
  4. 可选的 Sitemap 指令(位于文件级别)
User-agent: Googlebot
Disallow: /admin/
Allow: /admin/public/

User-agent: *
Disallow: /private/
Crawl-delay: 10

Sitemap: https://yourdomain.com/sitemap.xml

关键指令说明

指令 作用
User-agent 指定后续规则适用的爬虫。* 表示所有机器人。
Disallow 阻止指定路径被爬取。
Allow 明确允许某个路径,即使其父目录已被禁止。
Crawl-delay 要求机器人在请求之间等待 N 秒(Google 不支持此指令)。
Sitemap 将爬虫指向您的 XML 站点地图。

User-agent 值 — 您在与谁通话?

每个爬虫都有唯一的 user-agent 字符串。最重要的几个:

User-agent 爬虫 搜索引擎
* 所有爬虫
Googlebot Google 网页爬虫 Google Search
Googlebot-Image Google 图片爬虫 Google Images
Googlebot-Video Google 视频爬虫 Google Video
Bingbot Microsoft Bing 爬虫 Bing Search
Slurp Yahoo! 爬虫 Yahoo Search
DuckDuckBot DuckDuckGo 爬虫 DuckDuckGo
Baiduspider 百度爬虫 百度搜索
YandexBot Yandex 爬虫 Yandex Search
GPTBot OpenAI 训练爬虫 ChatGPT
ClaudeBot Anthropic 训练爬虫 Claude
CCBot Common Crawl 机器人 各类 AI 数据集

规则按 user-agent 分别应用。如果机器人匹配某个特定的 user-agent 记录,则应用该记录中的规则。如果不存在特定记录,则应用 *(通配符)规则。


Disallow 与 Allow — 路径匹配的工作原理

Disallow

Disallow: /path/ 会阻止该路径及其下的所有内容被爬取。

Disallow: /admin/       # 阻止 /admin/、/admin/users、/admin/login 等
Disallow: /private.html # 仅阻止该文件
Disallow: /             # 阻止整个网站
Disallow:               # 空值 = 允许所有内容(无限制)

Allow

Allow 会针对更具体的路径覆盖 Disallow 规则。更具体的规则优先生效。

User-agent: Googlebot
Disallow: /products/
Allow: /products/featured/   # 尽管上方有 Disallow,Googlebot 仍可爬取 /products/featured/

通配符

大多数爬虫(包括 Google)支持两种通配符字符:

模式 含义 示例
* 匹配任意字符序列 Disallow: /*.pdf$
$ 匹配 URL 末尾 Disallow: /*.pdf$ — 阻止以 .pdf 结尾的 URL
Disallow: /*?           # 阻止所有带查询字符串的 URL
Disallow: /*.pdf$       # 阻止所有 PDF 文件
Disallow: /tag/*/page/  # 阻止分页标签归档页面

常见 robots.txt 规则模式

允许所有内容(默认行为)

User-agent: *
Disallow:

空的 Disallow 表示无任何限制。这等同于没有 robots.txt 文件——但拥有该文件是良好实践,方便日后添加规则。

阻止整个网站(例如,测试环境)

User-agent: *
Disallow: /

在开发、测试或预览环境中使用此设置,防止这些环境被索引。

阻止特定目录

User-agent: *
Disallow: /admin/
Disallow: /wp-admin/
Disallow: /wp-login.php
Disallow: /checkout/
Disallow: /cart/
Disallow: /account/

阻止 AI 训练爬虫

User-agent: GPTBot
Disallow: /

User-agent: ClaudeBot
Disallow: /

User-agent: CCBot
Disallow: /

User-agent: Google-Extended
Disallow: /

电商网站 — 阻止不需要索引的页面

User-agent: *
Disallow: /cart/
Disallow: /checkout/
Disallow: /account/
Disallow: /wishlist/
Disallow: /*?sort=
Disallow: /*?filter=
Disallow: /*?ref=
Allow: /products/
Allow: /collections/

Sitemap: https://yourdomain.com/sitemap.xml

WordPress 网站

User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Disallow: /wp-login.php
Disallow: /wp-includes/
Disallow: /?s=
Disallow: /search/
Disallow: /trackback/

Sitemap: https://yourdomain.com/sitemap.xml

如何在不编写代码的情况下生成 robots.txt 文件

手动编写 robots.txt 容易出错——一个小错别字可能就会阻止您本想允许的页面。我们的 Robots.txt Generator 让您可以:

  1. 选择要针对的机器人
  2. 通过简单的表单添加允许和禁止规则
  3. 按需设置爬取延迟
  4. 添加您的 Sitemap URL
  5. 即时复制或下载生成的文件

生成后,请使用 Robots.txt Tester 在部署前验证规则是否按预期生效。


robots.txt 文件应放置在哪里

该文件必须位于域名根目录:

https://yourdomain.com/robots.txt    ✓ 正确
https://yourdomain.com/robots/robots.txt    ✗ 错误
https://subdomain.yourdomain.com/robots.txt    ✓ 正确(适用于子域名)

每个子域名都需要有自己的 robots.txt。位于 www.yourdomain.com/robots.txt 的文件不适用于 blog.yourdomain.com

部署 robots.txt

静态网站(HTML):robots.txt 上传到 Web 服务器公共目录的根目录(/public_html//dist//public/ 等)。

WordPress: 将其放置在 WordPress 安装目录的根目录。许多 SEO 插件(Yoast、RankMath)会通过管理面板自动管理该文件。

Next.js:robots.txt 放在 /public 文件夹中,或在 /app 中使用 robots.js 文件进行程序化生成(Next.js 13+)。

Vercel / Netlify: 放置在 /public 目录中——部署时会自动从根目录提供服务。


robots.txt 与 SEO — 需要注意的要点

不要阻止 CSS 和 JavaScript

过去有一种常见做法是阻止 /wp-content//assets/ 以节省爬取预算。这样做会适得其反:Google 需要渲染您的页面才能理解其内容,而阻止 CSS/JS 会妨碍这一过程。只阻止您真正不想被索引的内容。

robots.txt 不能防止索引——noindex 才能

Disallow 阻止 Google 爬取 URL,但不能阻止 Google 索引它(如果其他网站链接到该页面)。要阻止索引,请在页面本身使用 noindex meta 标签或 X-Robots-Tag HTTP 头。

声明 Sitemap

务必在 robots.txt 中包含您的 Sitemap URL——这是确保爬虫找到它的最可靠方式:

Sitemap: https://yourdomain.com/sitemap.xml
Sitemap: https://yourdomain.com/sitemap-images.xml

您可以列出多个 Sitemap。

爬取预算

大型网站(数千个页面)从 robots.txt 优化中获益最多。阻止低价值页面(过滤 URL、内部搜索结果、重复的低质量内容)有助于 Google 将爬取预算集中在真正重要的页面上。


验证您的 robots.txt 文件

创建文件后,请在部署前进行验证:

  1. Robots.txt Tester — 粘贴文件内容并测试特定 URL,确认允许/禁止行为是否正确
  2. Google Search Console — 爬取统计报告显示 Google 如何爬取您的网站;URL 检查工具显示特定页面是否被阻止
  3. 手动检查 — 部署后访问 https://yourdomain.com/robots.txt,确认文件已上线并正常提供服务

常见问题

Google 一定会遵守 robots.txt 吗? Google 会遵守爬取方面的 Disallow 指令。但是,如果 Google 发现指向被禁止 URL 的链接,它仍可能索引该 URL——Disallow 阻止的是爬取行为,而非索引条目。请在页面本身使用 noindex 来防止索引。

同一个机器人可以有多个 User-agent 块吗? 不可以。每个 user-agent 应只出现在一个块中。如果同一个机器人在多个块中有冲突的规则,其行为是不确定的。请将某个 user-agent 的所有规则合并到一条记录中。

如果我的 robots.txt 有语法错误会怎样? 大多数爬虫会忽略格式错误的规则,或在错误处停止解析。Google 通常会继续应用错误之前已成功解析的规则。请在部署前测试您的文件。

我应该阻止 Googlebot-Image 吗? 仅当您明确不希望自己的图片出现在 Google 图片搜索结果中时才阻止。如果您销售摄影作品或运营图片密集型网站,阻止 Googlebot-Image 可能会大幅减少流量。

爬虫多久重新读取一次 robots.txt? Google 通常会将 robots.txt 缓存最多 24 小时。更新文件后,更改可能需要长达一天时间才能反映在 Google 的爬取行为中。

robots.txt 会影响页面速度或 Core Web Vitals 吗? 不会。robots.txt 只影响爬取行为,不影响页面为真实用户加载或运行的方式。


robots.txt 文件大小与限制

  • Google 支持大小最多为 500 KB 的 robots.txt 文件
  • 超过 500 KB 的文件会被截断——超出该大小的规则将被忽略
  • 规则数量没有官方上限,但请保持文件条理清晰、简洁明了
  • 推荐使用 UTF-8 编码;ASCII 也适用

相关工具