目录
正在阅读…0%

robots.txt 是网站根目录下的一个纯文本文件,用来告诉搜索引擎蜘蛛哪些页面可以抓取、哪些不要访问。它是 SEO 的基础配置,也是 GEO(生成式引擎优化)中影响 AI 爬虫行为的第一道开关。

robots.txt 是怎么工作的?

当 Googlebot、Baiduspider、GPTBot 或其他爬虫访问你的网站时,会先请求 https://你的域名/robots.txt。服务器返回这个文件后,爬虫才会按规则决定后续抓取范围。如果文件不存在,爬虫默认可以抓取全站所有公开页面。

一个最基础的 robots.txt 长这样:

User-agent: *
Disallow:
Allow: /

这表示”允许所有爬虫抓取所有页面”。

三条核心语法

1. User-agent:指定规则给谁看

User-agent 后面跟爬虫名称。* 代表所有爬虫。你也可以单独针对某个爬虫设置规则:

# 只禁止 GPTBot 抓取
User-agent: GPTBot
Disallow: /

# 允许其他所有爬虫
User-agent: *
Allow: /

2. Disallow:禁止抓取的路径

Disallow 后面写不希望爬虫访问的目录或文件:

User-agent: *
Disallow: /admin/
Disallow: /wp-admin/
Disallow: /cart
Disallow: /checkout

注意:Disallow: /admin 会同时禁止 /admin、/admin/、/administer 等所有以 admin 开头的路径。要精确匹配需要用 Disallow: /admin/。

3. Sitemap:主动告知地图位置

在 robots.txt 末尾加一行,搜索引擎会自动读取:

Sitemap: https://blog.wangchenyu.com/sitemap.xml

GEO 视角:AI 爬虫也要管

传统 SEO 只关心 Googlebot 和 Baiduspider。但做 GEO 时,你还需要决定是否允许以下 AI 爬虫抓取你的内容:

  • GPTBot(OpenAI/ChatGPT)
  • ClaudeBot(Anthropic/Claude)
  • Google-Extended(Google Gemini 训练数据)
  • ChatGPT-User(ChatGPT 用户实时浏览)
  • PerplexityBot(Perplexity AI)
  • Bytespider(字节跳动/豆包)

如果你希望品牌在 AI 回答中被引用,不要禁止这些爬虫。如果你不希望内容被用于训练模型,可以在 robots.txt 中单独 Disallow。

常见错误

错误 1:用 Disallow 隐藏敏感内容。 robots.txt 只是”君子协定”,爬虫看到规则会遵守,但恶意扫描器根本不读这个文件。密码保护、服务器端鉴权才是真正的安全措施。

错误 2:Disallow: /post/。 如果你的文章 URL 是 /post/123.html,这一行会把所有文章都封掉——我们之前就踩过这个坑。

错误 3:文件名写错。 必须是全小写的 robots.txt,放在网站根目录,不能放在子文件夹。

错误 4:禁止 CSS/JS 抓取。 不要 Disallow /wp-content/css/ 或 /wp-includes/js/,Google 需要渲染页面才能正确索引。

一个实用的 WordPress robots.txt 示例

User-agent: *
Allow: /

Disallow: /wp-admin/
Disallow: /wp-login.php
Disallow: /cart/
Disallow: /checkout/
Disallow: /*?s=
Disallow: /*?orderby=

# 允许 AI 爬虫(GEO 需要)
User-agent: GPTBot
Allow: /

User-agent: ClaudeBot
Allow: /

User-agent: Google-Extended
Allow: /

Sitemap: https://blog.wangchenyu.com/sitemap.xml

常见问题

robots.txt 和 noindex 有什么区别?

Disallow 是不让爬虫抓取页面;noindex 是允许抓取但不允许出现在搜索结果里。要让页面不被索引但保留抓取,用 noindex 而不是 Disallow。

robots.txt 修改后多久生效?

主流爬虫下次抓取时就会读取新规则,通常几小时到几天。Google Search Console 里可以手动请求重新抓取 robots.txt。

我想让 ChatGPT 引用我的内容,该怎么做?

确保 robots.txt 没有 Disallow GPTBot 和 ChatGPT-User,内容用结构化数据(JSON-LD)标记,并且有明确的作者、发布日期和权威信息。这正是西安 GEO 优化服务的核心工作。


本文由 王尘宇博客 原创发布,专注西安本地 SEO 与 GEO(生成式引擎优化)。如需检查你的 robots.txt 是否配置正确,欢迎联系。