HTML结构化数据标记评论与评分的核心是采用Schema.org的Review、AggregateRating和Rating类型,推荐用JSON-LD嵌入<head>或<body>开头,包含作者、时间、星级(ratingValue/bestRating)、标题、正文等字段,并可选reviewAspect;AggregateRating用于整体评分汇总,需填ratingValue和reviewCount;Microdata虽兼容旧项目但维护难;DedeCMS中应动态调用模板标签(如{dede:field.scores/})避免硬编码,确保itemReviewed名称与页面title一致。

HTML 结构化数据标记评论、评分与用户反馈,核心是使用 Schema.org 定义的 Review、AggregateRating 和 Rating 类型,通过 JSON-LD(推荐)或 Microdata 嵌入页面,让搜索引擎准确理解评价内容,提升富文本摘要(Rich Snippets)展示概率。
用 JSON-LD 标记单条评论 + 评分
这是最清晰、最易维护的方式,直接写在 <head> 或 <body> 开头的 <script type="application/ld+json"> 中:
- 包含评论者姓名、发表时间、标题、正文、星级(1–5)、是否为作者认证等关键字段
- 评分值用
ratingValue(数字),最大值用bestRating(通常为5) -
reviewAspect可选,用于细分维度(如“画质”“音效”“剧情”)
示例:
{
"@context": "https://schema.org",
"@type": "Review",
"itemReviewed": {
"@type": "Article",
"name": "DedeCMS评分功能详解"
},
"author": {
"@type": "Person",
"name": "张明"
},
"datePublished": "2026-08-22",
"reviewRating": {
"@type": "Rating",
"ratingValue": "4.7",
"bestRating": "5"
},
"name": "实用性强,步骤清晰",
"reviewBody": "按文档修改模板后立刻生效,星标交互流畅,AJAX提交无刷新。唯一建议是补充移动端触摸适配说明。"
}
用 JSON-LD 标记整体评分汇总(AggregateRating)
适用于文章/产品页顶部显示“平均分+总人数”,常与单条评论并存,增强可信度:
立即学习“前端免费学习笔记(深入)”;
-
ratingValue是平均分(保留一位小数更规范) -
reviewCount是总评价条数,必须为整数 - 可与
itemReviewed关联同一内容实体,避免歧义
示例(接续上例,放在同一页面):
{
"@context": "https://schema.org",
"@type": "AggregateRating",
"itemReviewed": {
"@type": "Article",
"name": "DedeCMS评分功能详解"
},
"ratingValue": "4.6",
"reviewCount": 28,
"bestRating": "5"
}
Microdata 方式(兼容旧项目但不推荐)
若需内联在 HTML 内容中(如评论区 DOM),可用 Microdata,但维护成本高、易出错:
- 在外层容器加
itemscope itemtype="https://schema.org/Review" - 用
itemprop标注每个字段,如<div itemprop="author" itemscope itemtype="https://schema.org/Person"><span itemprop="name">李华</span></div> - 评分需嵌套
<div itemprop="reviewRating" itemscope itemtype="https://schema.org/Rating">
注意:Microdata 不支持数组类多评论批量标记,JSON-LD 更适合动态生成场景。
与 DedeCMS 实际结合的关键点
DedeCMS 模板中实现结构化数据,要避开硬编码,利用标签动态输出:
- 用
{dede:field.scores /}获取平均分,填入ratingValue - 用
{dede:field.reviewcount /}(需自定义字段或 SQL 调用)获取总评人数 - 每条评论循环中,用
{dede:field name='username'/}、{dede:field name='pubdate' function='GetDateMk(@me)'/}等输出对应字段 - 确保 JSON-LD 中的
itemReviewed名称与当前文档<title>或{dede:field.title/}一致,强化关联性



















