前阵子一个做少儿编程的校长找我:官网做了三年,百度搜机构名能排第一,但在豆包、ChatGPT里搜"济南少儿编程机构推荐",翻遍回答都没有他。

我让他把官网域名发我,第一件事不是看内容,是看 robots.txt。浏览器直接访问 域名/robots.txt,赫然两行:

robots.txt(事故现场)User-agent: *
Disallow: /

这行配置的意思是:所有爬虫,一律不许抓。当年建站公司为了防止内容被抄,给全站加了封禁。百度能搜到是因为后来单独提交过、且有大量外链导流;但AI爬虫老老实实遵守规则,三年从来没进去过——不是AI不推荐他,是AI根本没见过他的网站。

这篇把排查和修复过程完整记录下来。教培机构官网想被AI正确引用,要过三道门:robots.txt 决定AI爬虫能不能进来,llms.txt 决定AI进来后先看到什么,JSON-LD 决定AI能不能准确理解你是谁。三道门全通,AI才谈得上"推荐"。

1. 为什么现在必须配置:你网站15%的"访客"已经是AI

BrightEdge 在2026年4月发布的监测数据显示:AI Agent 的请求量已达到人类自然搜索活动的 88%,Agent 流量约占网站总流量的 15%,其中约95%来自 OpenAI 系爬虫;BrightEdge 同时预测,2026年底前 AI Agent 活动将超过人类搜索。

换句话说,现在每天爬你网站的"访客"里,接近六分之一不是家长,是AI。它们读完页面内容,决定家长在AI里提问时你的机构会不会出现、以什么形象出现。

但AI爬虫不是铁板一块,配置前必须先分清两类:

AI爬虫分流策略:训练爬虫vs搜索爬虫

▲ 图1:AI爬虫分两类——训练爬虫抓内容喂模型,搜索爬虫抓页面做答案引用

  • 训练爬虫:GPTBot(OpenAI训练)、ClaudeBot(Anthropic训练)、Google-Extended(Gemini训练)、CCBot(Common Crawl通用语料)、Bytespider(字节训练)。抓你的内容用于模型训练,不直接决定搜索引用,介意内容被训练可以拦。
  • 搜索/引用爬虫:OAI-SearchBot(ChatGPT搜索索引)、ChatGPT-User(用户实时浏览)、PerplexityBot(Perplexity引用)、claude-web(Claude联网)、以及永远不能拦的 Googlebot(Google传统搜索与AI概览共用同一索引,拦了等于网站从Google消失)。这类必须放行,被引用就是免费获客。

⚠️ 注意:OAI-SearchBot 与 GPTBot 是 OpenAI 两个独立爬虫,官方文档明确二者可分别控制。拦 GPTBot 不影响 ChatGPT 搜索收录,这是最容易被"AI爬虫全屏蔽"教程带沟里的地方。

2. 第一层:robots.txt 精确分流

robots.txt 放在网站根目录,是爬虫进站前读的第一个文件。教培机构官网的推荐配置如下,可直接替换使用:

robots.txt(推荐配置)# ===== AI搜索引用爬虫:必须放行(被AI引用=免费曝光)=====
User-agent: OAI-SearchBot
Allow: /

User-agent: ChatGPT-User
Allow: /

User-agent: PerplexityBot
Allow: /

User-agent: claude-web
Allow: /

User-agent: Googlebot
Allow: /

# ===== AI训练爬虫:不希望内容被用于模型训练可拦截(不影响搜索引用)=====
User-agent: GPTBot
Disallow: /

User-agent: ClaudeBot
Disallow: /

User-agent: Google-Extended
Disallow: /

User-agent: CCBot
Disallow: /

User-agent: Bytespider
Disallow: /

# ===== 后台与隐私目录:任何爬虫都不许抓 =====
User-agent: *
Disallow: /admin/
Disallow: /order/
Disallow: /pay/
Allow: /

Sitemap: https://www.example-edu.com/sitemap.xml

几个要点:

  1. 规则是从上到下逐条匹配的,具体 User-agent 段放在通配段 * 之前;
  2. /admin//order//pay/ 这类后台和交易路径对所有爬虫封禁,既防信息泄露也防AI引用到不该引用的页面;
  3. 最后一行 Sitemap 声明站点地图,给爬虫一份完整的页面清单,新站收录速度明显更快。

3. 第二层:llms.txt——给AI看的"网站说明书"

robots.txt 解决"能不能进",llms.txt 解决"进来后先看什么"。这是一份放在根目录的 Markdown 文件,用AI最容易解析的结构,直接告诉它:这个机构是谁、提供什么课程、核心页面在哪。

格式很简单:一个 H1 标题、一段引用块简介、一组核心页面列表。教培机构示例:

llms.txt(放在 https://域名/llms.txt)# 示例教育

> 济南市历下区少儿编程与Python培训机构,成立于2017年,全职教师
> 平均教龄5年,小班教学每班不超过8人,覆盖Scratch启蒙、Python
> 进阶、C++信奥竞赛三条课程线,累计服务学员3000余人。

## 核心页面(部署时按标准Markdown链接写:- [页面名](URL):说明)
- 机构介绍与师资:https://www.example-edu.com/about | 办学资质、教师团队、校区位置
- Scratch启蒙班:https://www.example-edu.com/course/scratch | 6-8岁,图形化编程入门,48课时/学期
- Python进阶班:https://www.example-edu.com/course/python | 9-12岁,代码编程与项目实战
- C++信奥竞赛班:https://www.example-edu.com/course/cpp | 面向信息学奥赛的系统训练
- 家长常见问题:https://www.example-edu.com/faq | 试听预约、班型、收费、退费政策
- 校区与联系方式:https://www.example-edu.com/contact | 历下区XX路XX号,电话0531-XXXXXXXX

写法上三个讲究:

  • 简介里堆事实不堆形容词:成立年份、教师教龄、班型人数、学员数量——AI引用的是可核验的事实,"最专业""最权威"这类词它不会采信;
  • 核心页面控制在5-8个:首页、课程页、师资页、FAQ、联系页,每个链接配一句说明,AI回答家长问题时会直接定位到对应页面;
  • 课程名称带上年龄段和关键词:"Scratch启蒙班 6-8岁"比"少儿编程班"匹配精度高一个量级——家长问"7岁孩子学编程",AI能直接对上。

4. 第三层:JSON-LD 结构化数据

网页是写给人看的,AI需要从散文里"猜"哪个是机构名、哪个是地址、哪个是问答。JSON-LD 就是把这些事实用机器语言直接标注出来,以 <script type="application/ld+json"> 形式放在页面里,不影响显示效果。schema.org 是各大搜索引擎共同维护的词表,教育机构对应的类型是 EducationalOrganization

教培官网AI可见性三层配置架构图

▲ 图2:三层配置——robots.txt管准入、llms.txt管导航、JSON-LD管语义理解

4.1 机构实体:EducationalOrganization

放在官网首页 <head> 或页面底部,声明"我是谁、在哪、教什么":

首页 JSON-LD:EducationalOrganization{
  "@context": "https://schema.org",
  "@type": "EducationalOrganization",
  "@id": "https://www.example-edu.com/#org",
  "name": "示例教育",
  "url": "https://www.example-edu.com",
  "logo": "https://www.example-edu.com/logo.png",
  "telephone": "0531-XXXXXXXX",
  "address": {
    "@type": "PostalAddress",
    "addressCountry": "CN",
    "addressRegion": "山东省",
    "addressLocality": "济南市",
    "streetAddress": "历下区XX路XX号",
    "postalCode": "250000"
  },
  "areaServed": ["历下区", "市中区", "槐荫区"],
  "makesOffer": [
    { "@type": "Offer", "itemOffered": {
      "@type": "EducationalOccupationalProgram",
      "name": "少儿Scratch编程",
      "educationalProgramMode": "线下小班" } },
    { "@type": "Offer", "itemOffered": {
      "@type": "EducationalOccupationalProgram",
      "name": "Python进阶班",
      "educationalProgramMode": "线下小班" } }
  ],
  "sameAs": [
    "https://www.douyin.com/xxxxxx",
    "https://mp.weixin.qq.com/xxxxxx"
  ]
}

教培机构最该填实的三个字段:address(精确到区,家长提问高度本地化)、areaServed(服务覆盖的区域列表)、makesOffer(课程项目,用 EducationalOccupationalProgram 类型)。sameAs 填抖音、公众号等官方账号URL,帮助AI交叉验证"这是同一个机构"。

4.2 FAQ页:FAQPage 问答对

家长最常问的问题,用 FAQPage 类型标注后,AI可以整段提取答案直接引用——这是所有结构化数据里被AI引用率最高的一类:

FAQ页 JSON-LD:FAQPage{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "试听课收费吗?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "试听课免费,需提前一天预约,每节45分钟,家长可全程旁听。"
      }
    },
    {
      "@type": "Question",
      "name": "一个班多少人?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "小班教学,每班不超过8人,满6人开班,保证每位学员的课堂练习时间。"
      }
    },
    {
      "@type": "Question",
      "name": "老师是全职还是兼职?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "全部教师为全职,平均教龄5年,持教师资格证上岗,授课老师固定不频繁更换。"
      }
    }
  ]
}

✅ 答案文本就是你希望AI对家长说的原话,写的时候用"问题-直接作答"结构,50字以内说清事实。页面上可见的FAQ内容要与JSON-LD完全一致——结构化数据与页面可见内容矛盾,会被判定为不可信,反而扣分。

5. 配置上线后:四步验证

配置不是写完就完,按下面四步验证,确认AI爬虫真的进得来、数据真的读得懂:

配置上线后四步验证清单

▲ 图3:四步验证——curl模拟UA、Search Console、富结果测试、日志复查

第一步,curl 模拟爬虫 UA,本地就能测,不用等爬虫来访:

终端命令# 模拟搜索爬虫,期望返回 HTTP/2 200
curl -A "Mozilla/5.0 (compatible; OAI-SearchBot/1.0; +https://openai.com/searchbot)" -I https://www.example-edu.com/

# 模拟训练爬虫,按你的拦截策略期望返回 403(放行策略则为200)
curl -A "Mozilla/5.0 (compatible; GPTBot/1.0; +https://openai.com/gptbot)" -I https://www.example-edu.com/

第二步,Google Search Console 的 robots.txt 测试工具确认规则没有误伤,Sitemap 显示已提交;第三步,用 Google 富结果测试(Rich Results Test)输入页面URL,确认JSON-LD零报错、FAQ问答对可被识别;第四步,上线1-2周后回看服务器访问日志或CDN分析面板,确认 OAI-SearchBot、PerplexityBot 已有真实抓取记录。

6. 五个真实踩坑

1、一刀切封禁:就是开头案例,Disallow: / 把搜索爬虫一起拦了,AI三年没进过门。

2、只改robots.txt不够:Cloudflare 已宣布自2026年9月15日起,新站点对训练类和Agent类爬虫默认拦截(搜索爬虫保持放行)。用了CDN的站点,robots.txt 之外还要去CDN后台核对AI爬虫分类规则,两道门都开着才是真开。

3、Perplexity-User 不遵守 robots.txt:它的索引爬虫 PerplexityBot 遵守规则,但用户触发的实时抓取 Perplexity-User 可能绕过,需要在CDN或服务器层用访问规则控制,别以为写了robots就万事大吉。

4、JSON-LD 与页面内容不一致:结构化数据里写"全职教师",页面上挂的是兼职师资介绍;FAQ答案写"试听免费",落地页却收费——AI做多源交叉验证时发现矛盾,整站可信度下调。

5、把 llms.txt 当广告位:塞满"行业领先""效果最好"和关键词堆砌。llms.txt 是事实说明书,堆营销话术的结果是AI直接忽略这个文件。

小结

三层配置职责对照
配置位置解决的问题
robots.txt根目录AI爬虫能不能进来:训练爬虫可拦、搜索爬虫必放、Googlebot永远不拦
llms.txt根目录AI进来先看什么:机构事实简介+5-8个核心页面导航
JSON-LD页面内嵌AI能不能读懂:EducationalOrganization标注实体、FAQPage标注问答

三层配置的成本几乎为零——都是静态文件和页面代码,不改业务系统,一个技术人员半天能上线。它不保证AI一定推荐你(推荐还取决于内容质量、权威信源、口碑密度),但它保证了一件事:AI来找你的时候,门是开的、路标是清楚的、你说的话它听得懂。

至于门开好之后,怎么让AI愿意引用你、推荐时说的是你想强调的卖点,那是内容层和信源层的工作——这篇先把门修好。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐