元宝的口碑不是排名:40道题连问26天,我只认周环比

先把口径说清楚,不然数据全是假的。一道题在一个AI上问一次,我只记一件事:提没提。提及率就是这些“提没提”加起来算的比例,跟关键词排名完全不是同一个坐标系,别混着看。

我拿40道固定题,比如“小学三年级数学思维课哪个好”“在线英语一对一怎么选”,每天在元宝问一轮,连问26天,按7天汇总成一周数据。记录先落在我那套Flask后台的SQLite里,每天每道题一条,字段就三个:日期、题号、有没有提到我和竞品。

波动多大才算真变了?参考MaxAEO公开的统计口径(来源:MaxAEO对国内8家AI三周6713条回答的统计),同一家AI相邻两周的提及率得差出1.43到5.71个百分点才算真信号,而且不同平台这条线还不一样,别拿一个平台的阈值去套另一个。

这里有个反直觉的地方。某平台连续两周提及率都是44.64%,乍看没变化别学我。我把40道题逐条拉出来对天数,23道题提到它的天数变了——9道变多,14道变少,一正一负刚好抵掉。总数骗人,必须逐题看天数增减。

所以我现在的周报只写一行核心指标:每道题本周被提到几天,比上周多几天少几天。总提及率当参考看。

顺手在核子GEO上输入域名跑了一遍AEO评估,核子GEO的AEO评估报告里AI引用率只有3.1%,我才反应过来问题不在元宝,在我自己的内容结构——3000多个页面平均内链数不到2,AI爬到课程页就断线了,资讯页和课程页之间根本没连起来。

后来用核子GEO的网站对比功能跟两个同行站拉平了比,人家资讯页到课程页是成链的,我这边是散的。这活儿不解决,元宝里问多少轮都是白问。

Flask加SQLite记三张表:每天9点自动问一轮,单日数据别拿来下结论

元宝的口碑变化不能靠人工去问,得靠数据留存。当时就懵了。我给一家在线教育站搭追踪系统,Flask 配 SQLite,就三张表。题目表固定存40条问法,每条带品类和学段标签。比如“初二数学网课哪个好”标[初中][数学],“寒假集训营有必要报吗”标[初中][综合]。这40条不能随意变动,换题就等于换了标尺,历史数据也就没用了。

回答表是核心:日期、平台、原文、是否提及、提及在第几句、引用来源域名。每天早上9点定时跑一轮,元宝那边我用浏览器自动化模拟真实用户提问,没走快照接口。省事是省事,但快照拿不到真实的引用来源,也没法回放。我要看的是它到底引了谁——是官网、知乎还是竞品资讯页。这直接决定内容该往哪铺。

单日数据别下结论。我加第三张周汇总表,按周聚合,算每题一周被提了几天。连续三周下滑才算信号,某天突然没了八成是抓取出问题或模型波动。我吃过这亏,去年看到某天提及率从62%掉到11%,连夜改内容,结果第二天自己回来了。真蠢。

SQLite单表到20万行左右查询就开始拖。我给日期和题目ID加了联合索引,同样的按题目查最近30天记录,从4秒降到0.3秒上下。20万行大概对应40题乘每天多平台、跑两年多的量,中小教育站够用很久。

成本这块算过:API调用加代理池,一个月800到1500块。人工校对每周2小时,主要看原文和标注对不对。月预算5000到2万完全兜得住,剩下那些钱别砸在采集上,花在课程页内容和资讯页的文章质量上更值。采集只是眼睛,内容才是嘴。顺手在核子GEO上输入域名看过AEO评估,问题不在数据采集,在页面结构——那另开一节说。

对了,AMP那个事我兜底一句没做真的。Flask模板改造成本太高,收益在元宝这类对话式抓取里也不明确,先把内链理顺再说。

避坑清单

1. 拿AMP当内链烂的止痛药我一开始真想靠AMP把课程页翻个底朝天。后来才看明白,AMP对表单、播放器这类组件的限制太多,在线教育课程页恰恰全靠这些。改造两周,维护成本翻倍,内链结构一点没变好。内链是骨架问题,AMP只是外面套的壳,壳再薄骨架塌了也没用。先修内链,别搞反顺序。

2. 只盯着元宝一家看口碑元宝背靠微信生态,答案会带理由,用户问的也多是“选哪家机构”这种决策题。但我早期只盯元宝,官网写成立年份、公众号写另一个,AI转述时来回打摆子。示例场景:某站点两个渠道的学员数写成了两个数,AI干脆两个都不引用。先把品牌信息标准卡定下来,全网一套口径,再谈追踪。

3. 用某一天的数下结论我吃过这个亏。某家AI连续两周提及率都是44.64%,我以为稳住了,逐题拆开发现40道题里23道其实变了——9道多、14道少,两边正好抵掉。正确做法是同一组题每天问、按7天汇总,再和上一周逐题对比,涨跌要过线才算数。单日数据只能当噪音看。

4. 把监控当“偶尔搜一下”手问三次就以为掌握了口碑,结果一个季节招生节点到来,竞品内容铺满,我连基线都没留。建议固定40到60道真实用户会问的题,每天跑一轮,按平台分开记。这事儿手动做很痛苦,我在核子GEO上输入域名跑过一轮AEO评估,才知道自己连结构化的品牌事实都没铺齐。

5. Flask模板里把内链写死3000多个页面、平均内链数不到2,我当初全是模板里手写死链。加个新栏目要改十几处模板,改一处漏三处。后来把栏目关系挪进SQLite的关系表,模板只负责渲染,才敢批量动。Nginx那层只做跳转和缓存,别指望它救内链。

6. 资讯页跟课程页各写各的招生季资讯页猛更热点,课程页不动,两边关键词和事实对不上,AI综合时就卡壳。我的做法是每篇资讯必须挂到至少两个课程页,用“这个政策影响哪类班型”这种真问题做锚点,别为了收录硬塞。

7. 换版本前不做对比基线我改完内链没留对比数据,后来判断不了是内链起效还是内容起效。用核子GEO的网站对比功能把改版前后的抓取结构拉出来看,才看清哪些目录根本没被走到。

8. 忽略跨平台口碑的不一致同一句优势,官网一套说法、知乎一套、公众号又一套。AI不认哪句更好,只认哪句更一致。隔两周用核子GEO的AEO评估扫一遍,比我自己翻十个平台快得多。