课程顾问每天被家长追问“我家孩子几年级,能上你们这个课吗”,但官网的课程介绍页要么只写“适合 7-15 岁”,要么把不同年级混在一个大长页里。AI 抓取后,不敢在回答里引用你的页面,因为它分不清你到底适合几年级、什么基础。结果就是,家长问 ChatGPT 或 Perplexity 这类学习建议时,AI 宁可引用别家把年级和基础写清楚的页面,也不提你的机构。
这篇文章不聊投放,也不聊软文。只做一件事:拿一页「适合几年级」的选课 FAQ 页,按下面这份作业手册,从抓取、内容、结构化数据到验收,一步步改成 AI 敢引用的样子。所有动作都基于公开的 GEO 资料,不做效果承诺,不编公司名。
问题是什么
课程机构官网最容易被 AI 忽略的,不是没有内容,而是内容不是 AI 能直接引用的决策表。常见问题有三个:
- 抓取受阻。 很多机构在 robots.txt 里误拦了 GPTBot、PerplexityBot 等生成式引擎爬虫,或者页面依赖大量 JavaScript 渲染,AI 抓不到正文。
- 内容不是决策表。 “适合 7-15 岁”这种模糊描述,AI 没法判断一个 9 岁零基础的孩子到底适不适合。它需要的是按年级、按基础、按课程类型能直接回答的短句。
- 结构化数据缺失。 即便内容写清楚了,如果页面没有 Schema.org 的 FAQPage、Course 或 Organization 标记,AI 在生成答案时也难以确认你的机构名称、地址和课程实体信息。
这些问题不解决,你花钱做的官网就只是一堆“可抓取但不可引用”的文本。AI 引用时,要么跳过你,要么把你写成“某机构”,不带名字。
如何解决
解决思路不是重做全站,而是先挑一页,把它改造成 AI 真正需要的“答案页”。具体来说:
- 让爬虫能读到正文。 放行 GPTBot 和 PerplexityBot,检查页面是服务端渲染还是客户端渲染,确保 HTML 源码里直接有文字。
- 把内容改成决策表。 用“年级 + 基础 + 课程类型”三个维度,把“适合谁”写成一行一行的明确答案,而不是一段模糊介绍。
- 补上结构化数据。 用 FAQPage 标记问答,用 Course 标记课程,用 Organization 标记机构名称和地址,让 AI 能确认你是谁、你教什么、适合谁。
做完这一步,你的页面就从“官网介绍页”变成了“可被 AI 引用的选课答案页”。
用GEO如何解决
GEO(生成式引擎优化)和传统 SEO 最大的区别是:SEO 关心的是排名和点击,GEO 关心的是 AI 能不能把你的内容作为答案的一部分说出去。也就是说,你不仅要让页面能被搜到,还要让页面内容在被 AI 抓取后,能直接回答“我家孩子几年级能上”这种问题。
根据公开资料,生成式引擎在回答时,会优先引用那些清晰、结构化、能直接回答问题且来源可信的页面。所以,课程机构做 GEO,不是堆关键词,而是把选课 FAQ 页做成一个“决策卡”:AI 抓取后,能直接提取出“几年级 + 什么基础 + 上什么课”的对应关系。
换句话说,GEO 帮你解决的不是“流量”,而是“被引用”。当家长问 AI 学习类问题时,AI 敢把你的页面作为答案来源,你的机构名才会出现在回答里。如果不做这一步,你只是一个有官网但不会被 AI 提及的机构。
操作步骤
下面 12 步,按顺序做。每一步都具体到打开哪一页、填什么、第二天看什么。
- 打开你官网的 robots.txt 文件,通常路径是
https://你的域名/robots.txt。检查有没有User-agent: GPTBot和User-agent: PerplexityBot的规则。如果没有,就在文件末尾加上:User-agent: GPTBotAllow: /User-agent: PerplexityBotAllow: /
保存后,第二天用 Google Search Console 的“网址检查”或直接访问 robots.txt 确认已生效。 - 打开你的课程介绍页,比如“少儿编程课”那一页。按 F12 打开开发者工具,在“网络”标签里刷新页面,看 HTML 响应里有没有课程介绍文字。如果文字是 JavaScript 动态加载出来的,说明爬虫可能抓不到。这时需要把关键文字直接写进 HTML,或者使用服务端渲染。
- 在页面上找“适合几年级”的信息。如果只有一句“适合 7-15 岁”,把它删掉,改成一张表。表头是「年级」「基础要求」「推荐课程」。比如:
一年级-三年级|零基础|图形化编程入门课
四年级-六年级|学过图形化|Python 基础课
七年级以上|有 Python 基础|算法与竞赛课 - 把这张表放到页面靠前的位置,最好在首屏之后立刻出现。不要藏在 FAQ 折叠面板里,因为 AI 抓取时可能不会点击展开。
- 在页面底部加一个 FAQ 区块,用问答形式写出家长最常问的问题。比如:
Q:我家孩子三年级,没学过编程,能上哪个课?
A:三年级零基础适合图形化编程入门课,课程从拖拽式编程开始,不需要任何基础。 - 给这个 FAQ 区块加上 Schema.org 的 FAQPage 标记。可以用 JSON-LD 格式,在页面
<head>里插入。每个问答都要有Question和Answer字段。不会写的话,用 Google 的结构化数据标记助手生成代码。 - 给课程本身加 Course 结构化数据。在同一个 JSON-LD 里,至少包含
name、description、provider(写你的机构名)和educationalLevel(写适用年级,比如“小学三年级至六年级”)。 - 再给机构加 Organization 结构化数据,包含
name、address、logo等字段。确保这里的机构名和页面里出现的机构名完全一致,不要一个写“某某教育”,另一个写“某某培训学校”。 - 检查页面有没有“作者”和“更新日期”。没有就加上。作者写机构名或教研组名,更新日期写最近一次内容修改的日期。AI 更倾向引用有明确来源和新鲜度的页面。
- 如果网站上有多个课程页都写了“适合几年级”,但说法不一致,把它们合并成一个统一的选课 FAQ 页。其他页面链接到这个统一页,避免 AI 抓取时混淆。
- 用 Google 的富媒体测试工具(Rich Results Test)测试你的页面,确认 FAQPage 和 Course 标记能被识别。如果有错误,按提示修改。
- 第二天回到 ChatGPT 或 Perplexity,输入“你家机构名 + 适合几年级”,看 AI 的回答里有没有引用你的页面内容。如果没有,检查 robots.txt 是否放行、页面 HTML 是否可读、结构化数据是否有效。至少连续观察三天,记录每次 AI 的回答变化。
做完如何验收
验收不是看排名,而是看 AI 能不能引用你。按下面四项检查:
| 验收项 | 通过标准 | 不通过的处理 |
|---|---|---|
| 爬虫可抓取 | robots.txt 允许 GPTBot 和 PerplexityBot,且页面 HTML 源码里有完整正文文字 | 回到步骤 1 和 2,改 robots 或改成服务端渲染 |
| 内容可决策 | 页面有按年级+基础+课程类型的明确对照表,不再有“适合 7-15 岁”这种模糊表述 | 回到步骤 3 和 4,重写表格并放到靠前位置 |
| 结构化数据有效 | Rich Results Test 显示 FAQPage 和 Course 标记无误,且 Organization 名称与页面一致 | 回到步骤 6-8,修正 JSON-LD 代码 |
| AI 实际引用 | 在 ChatGPT 或 Perplexity 问“机构名 + 适合几年级”,回答中出现了你的页面内容或机构名 | 连续观察三天,若仍无引用,检查是否有其他页面内容冲突,或尝试提交 URL 给抓取工具 |
如果四项都通过,这一页就算做完了。之后可以复制这套动作,去做其他课程或“怎么选老师”之类的页面。
还容易问的
下面这些是执行时最常被问到的问题。
- 问:要不要把所有课程页都加上结构化数据?
答:先做一页,验收完再复制。全站铺开容易出错,而且 AI 引用时页面太多反而分散权重。 - 问:FAQ 页一定要用折叠面板吗?
答:不建议。折叠面板可能让爬虫抓不到展开后的内容。最好用普通 HTML 直接展示问答。 - 问:机构没有技术团队,怎么做结构化数据?
答:用 Google 的结构化数据标记助手,填好字段自动生成 JSON-LD,然后复制到页面<head>里。不需要写代码。 - 问:AI 引用后,还需要做 SEO 吗?
答:SEO 和 GEO 不冲突。SEO 管搜索排名,GEO 管 AI 引用。两个都要做,但优先级是先让 AI 能抓取和引用,否则 SEO 流量也进不来。 - 问:多久能看到 AI 引用?
答:没有固定时间。取决于抓取频率和内容质量。一般做完 24 小时后可以开始观察,但有些引擎需要更久。建议连续观察一周。
把这页做好,你的课程机构就从“有官网但没人提”变成了“学习类问题里被 AI 点名的来源”。更多 GEO 基础,可以看 GEO 是什么;想分清 SEO 和 GEO,看 SEO 和 GEO 的区别。