GEO-056·第 05 期·技术底座·56 / 132

Review 结构化数据:聚合评分与单条评论

评分标记常见三种错法:搬运站外评分、把订单数当评论数、用户看不到却标给机器。本文拆开聚合评分与单条评论的字段关系与资格要求,给出五步落地表、一段示例 JSON-LD,并说明五种不该标的情况。

6 分钟GEO技术底座出海

本期主线信任证据:评测、UGC 与第三方语料

示例:五月的复盘会上,一家做人体工学椅的出海品牌把商品页截图投上屏——4.8 星、1,284 条评论,JSON-LD 里也规规矩矩写着 AggregateRating。技术负责人接着打开前台:评论区加载出来只有 128 条,翻到第三页就到底了;那 1,284 是过去十二个月的订单数。同一天,他们在 Perplexity 里问“这把椅子坐久了腰托会不会塌”,答案引的是 Reddit 上一条讲腰托异响的帖子,评分一个字没提。

评分标记的价值不在星星,而在这个数字能被追溯到哪些可见评论;聚合评分与单条评论是两种证据,标错一次,AI 学到的不是 4.8,而是“这家的数据对不上”。

模型读的是字段关系,不是星星

JSON-LD 里的评分对模型不是一张图,而是一组可以互相校验的断言:ratingValue 是多少、reviewCount 是几条、bestRating 按几分制、这条评分挂在哪个 itemReviewed 上、单条评论的 author 是谁、datePublished 是什么时候。少一个,这组断言就从“事实”降级为“说法”。

聚合与单条回答不同的问题。买家问“整体口碑怎么样”,模型要的是均值、样本量与时间窗;问“有什么缺点”,模型要的是一条具体、可引用的负面描述。只有聚合,答案只能是“评分 4.8”,没有信息增量;只有单条,模型无法判断这条是不是特例。

模型还会做交叉验证:页面正文、JSON-LD、站外语料三处对不上时,它倾向退回最保守的表述——“该品牌有用户评分”。这种保守表述为什么进不了推荐位,机制在AI 推荐你的四个信任前提里拆过:证据不一致,等于没有证据。

被忽略的变量是分母。reviewCount: 1284 如果不说明这是订单数、评论数还是各市场相加,模型既无法判断 4.8 的置信度,也无法解释德语页面为什么只有 128 条德语评论。

字段与资格:两类标记不要混

先分清资产,再谈字段。聚合评分是结论,单条评论是证据;前者挂在 Product 或 Offer 上,后者一条 Review 只对应一次真实评价。

FAQ、HowTo、Review 三类标记的展示价值在收窄,但“机器能不能读懂”这一层没有变。展示是平台的开关,字段正确才是自己的事。

标记挂在哪关键字段通过标准
AggregateRatingProduct / OfferratingValue、reviewCount 或 ratingCount、bestRating均值能由页面上可见评论复算出来
ReviewProduct / Organizationauthor、datePublished、reviewRating、reviewBody页面上能找到同一段文字与同一作者
资格全站实体具体,是某款商品而不是整个类目评论由用户产生,且用户能读到

两条硬要求:评论必须对用户可见,只给爬虫的输出不算数;品牌自己给自己写的评分不是用户评价,Google 的 review snippet 文档长期把这类自评列为不适用,具体条款以官方文档当前版本为准(截至 2026-05)。字段名对、口径错,是最难查的一类问题。

三种违规,后果都是“整站不可信”

第一种,搬运与自评。把 Trustpilot、Amazon 的星级复制进自家 JSON-LD,或把市场部写的“专业评测”标成用户评价。author 一栏填公司名,模型和审核方都看得出源不对;一处被判定为搬运,同站其他评分会一起被打折。

第二种,分母注水。reviewCount 写订单数、写“服务客户数”,或把各国评分数加总后挂到每个市场页。德国买家看到 1,284 条,点开只有 128 条德语评论,这种落差比没有评分更伤。

第三种,隐藏与条件渲染。低分评论用 CSS 折叠、评论只在“加载更多”后出现、JSON-LD 由爬虫 UA 单独返回。用户看不到的内容不该被标记,模型也不该被要求相信它;一旦被识别,等于告诉平台“这站给人和给机器准备了两套数据”。

五步落地:从对账到回归

顺序不是先写 JSON-LD,而是先把评论数据做成单一事实源,再让它同时喂页面和结构化数据。

步骤做什么谁来做怎么算过
1 建主数据SKU × 市场 × 时间窗,定义评分、计数与分母口径数据 / 电商页面、JSON-LD、feed 三处同源
2 分两类标记聚合挂商品,单条只标页面上真实可读的评论前端 / 内容每条标记都能在页面找到原文
3 补必填字段author、datePublished、bestRating、reviewRating前端校验工具零 error
4 加 CI 门禁评分为空、计数变小、评论不足 5 条时不输出聚合前端 / QA构建期拦截,不靠人眼
5 月度回归抽 20 个 SKU 人工对账内容 / 增长差异为 0,偏差有记录

第 4 步最值得先做。评分字段的腐化是静默的:换一版模板、评论系统换了供应商、某个市场的接口超时,ratingValue 变成空字符串,页面照常渲染,只有抓取日志里多出一批缺字段的请求。

示例:同一把椅子,两版标记

以下品牌、评分与评论均为虚构,只用来说明字段关系。改前是 ratingValue: 4.8、reviewCount: 1284、没有 bestRating、没有单条 Review,德语页直接复用美国站数据。改后:

{
  "@type": "Product",
  "name": "Ergo Chair S2",
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": 4.6,
    "reviewCount": 128,
    "bestRating": 5
  },
  "review": [{
    "@type": "Review",
    "author": { "@type": "Person", "name": "M. Weber" },
    "datePublished": "2026-03-11",
    "reviewRating": { "@type": "Rating", "ratingValue": 2, "bestRating": 5 },
    "reviewBody": "腰托在第三个月开始异响,客服寄了替换件,两周到货。"
  }]
}

改动只有三处:均值按页面上 128 条可读评论重算,计数改成评论数而不是订单数,补一条带作者和日期的负面评论。主动标低分不是自曝,而是让“有什么缺点”这个问题有官方答案;处理差评的逻辑在差评怎么处理,AI 才不放大里有更完整的做法。

边界:什么情况下不该标评分

第一,评论太少。新品只有 3 条评论时,聚合评分不标,只标单条真实评论;5.0 分、3 条评论挂在页面上,暴露的是样本不足,不是质量。

第二,成交几乎都在平台内。平台 AI 读的是 listing、评论与履约指标,官网评分的权重往后放;先看清AI 搜索把海外电商流量切成了四段里的入口分工。

第三,定制、B2B 报价、工程单。没有公开评分体系,硬造一个“综合评分”只会多一个被质疑的面。

第四,评论来源本身有问题。返现换评、刷单、把测评机构的分数当用户评分,schema 只会把问题放大;欧盟消费者保护规则要求商家说明评论真实性如何保障,具体适用请以当地法务判断为准。

第五,把 schema 当排名开关。它提高的是“被正确理解”的概率,不保证富媒体展示,也不保证被引用。

评分标记属于技术底座这条线,和抓取、Offer、实体一样,都是让机器能核对的事实层。

这个月先做一件事:挑一个主力 SKU,把 JSON-LD 里的 ratingValue、reviewCount、bestRating 与页面上能点开的评论导出成一张对账表,把三个数字拉平,再把“评论不足 5 条不输出聚合评分”写进模板。做完这一步,再谈扩展。