教培机构官网“AI隐身“排查实录:robots.txt、llms.txt、JSON-LD 三层配置
前阵子一个做少儿编程的校长找我:官网做了三年,百度搜机构名能排第一,但在豆包、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爬虫不是铁板一块,配置前必须先分清两类:

▲ 图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
几个要点:
- 规则是从上到下逐条匹配的,具体 User-agent 段放在通配段
*之前; /admin/、/order/、/pay/这类后台和交易路径对所有爬虫封禁,既防信息泄露也防AI引用到不该引用的页面;- 最后一行
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。

▲ 图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愿意引用你、推荐时说的是你想强调的卖点,那是内容层和信源层的工作——这篇先把门修好。
更多推荐
所有评论(0)