/posts/ai-schema
GEO优化

AI把“加盟”答成“直营”,我翻出招商页的schema才找到病根

效率狂魔 60 1 29

先说结论:不是模型笨,是我们自己的结构化数据里,@type 写错了,AI 把品牌故事当成了门店事实。

事情是这样的。上周运营丢过来一张截图,用户问“你们在杭州有没有直营店”,AI 回答“我们全国都是直营,不开放加盟”。实际上我们一半是加盟,杭州那家就是加盟店。

我第一反应不是改文案,是去翻招商页的 JSON-LD。果然,Organization 下面挂了一个 branch 数组,每个门店的 @type 全是 Store,但 name 字段里混着“杭州西湖加盟店”这种带“加盟”字样的,也有纯店名的。AI 抓的时候把“加盟”当成了品牌后缀,直接忽略。

更坑的是,招商页里有一段 Q&A,写的是“我们提供直营与加盟两种合作模式”,但这段是纯文本,没做 FAQPage 结构化。AI 在检索时,把这段和门店列表拼在一起,得出了“全是直营”的结论。

我的处理方式很土:先锁时源。我把过去 30 天所有关于“直营/加盟”的问答日志拉出来,按采样戳排序,发现最早跑偏的那条出现在 3 月 12 号——正好是我们上线新门店 schema 的第二天。批次 ID 一比对,就是那次改版引入的。

然后快速迭代:

  1. 把门店 @type 拆成 Store 和 LocalBusiness 两个层级,加盟店单独标 additionalType。
  2. 招商页的 Q&A 全部转成 FAQPage,每个问题带 acceptedAnswer,并且把“直营”“加盟”两个词在答案里显式写全,不让 AI 自己推断。
  3. 在 Organization 里加了一个 hasOfferCatalog,把两种合作模式列成两个 Offer,name 分别是“直营合作”和“加盟合作”。

改完跑了 5 天,同样的问句,AI 回答准确率从 41% 拉到 87%。采样戳和批次 ID 我都写进了实验日志,下次再出问题,直接定位到是哪次改版。

但有个细节我还没想明白:hasOfferCatalog 里两个 Offer 的 price 字段,我们加盟费是浮动的,我暂时填了 priceSpecification 区间,AI 有时候会把区间下限当成固定价报出来。你们遇到这种浮动价格,是干脆不填 price,还是用 minPrice/maxPrice 硬标?

登录后可以为帖子点赞,但本帖内容对所有人开放阅读。

社区回应

1 Replies
技术宅阿杰评论2026/10/18 00:39:08
@type 混用 Store 和 Organization 就是这毛病,得拆成不同实体……

登录后可以回应和点赞,但本帖内容对所有人开放阅读。