本文约 4,682 字,预计阅读 12 分钟。文中命令与配置均经过实测,可直接参考执行。
引言:自己给自己打了 50 条五星,星标一夜消失
有家做家政服务的站点,为了让搜索结果里显示五颗星,在页面上手写了几十条”客户评价”并用 AggregateRating 标记成 4.9 分。上线两周确实出现了星标,点击率涨了一截;一个月后星标消失,同时收到 Search Console 的”结构化数据”警告——”检测到自评行为(self-serving reviews)”。
评价对本地 SEO 的价值是真实的:它既是排名信号(知名度维度的一部分),也是点击率杠杆(搜索结果里的星标)。但 Google 对评价来源的审查非常严格,尤其是”商家评价自己”这一类。理解规则边界,才能既拿到星标又不踩线。
原理分析:评价影响什么、不影响什么
先说清楚边界,避免过度期待:
| 维度 | 评价的作用 | 说明 |
|---|---|---|
| 本地包排名 | 中等 | 数量、分数、新鲜度、回复率都是信号 |
| 自然搜索排名 | 间接 | 主要通过点击率与用户行为间接影响 |
| 点击率 | 显著 | 星标在 SERP 上的视觉差异很明显 |
| 转化 | 显著 | 用户决策高度依赖评价内容 |
Google 官方对评价结构化数据有一条硬规则:不允许对组织自身、或对”由该组织提供的服务”给出自评。官方原文表述为 “reviews that are unverifiable, or self-serving reviews about an organization itself, aren’t allowed”。具体说:
- 商家自己在站点上编的客户评价 → 不允许用
Review/AggregateRating标记。 - 商家自己的员工写的评价 → 不允许。
- 第三方平台(GBP、Trustpilot、行业平台)上的真实用户评价 → 允许,但展示时必须标明来源。
- 产品评价(Product 类型)→ 允许,因为评价对象是商品而非机构本身。
所以本地服务类站点想给 LocalBusiness 加 AggregateRating,数据来源必须是可核验的第三方;而 WooCommerce 的商品评价是合规的,因为评价对象是产品。
保姆级实操
步骤 1:分清两种评价的合规路径。 本地业务走”第三方平台聚合 + 站点展示”;电商走”商品评价结构化数据”。不要把两者混用。
步骤 2:电商站点输出合规的 AggregateRating。 WooCommerce 的商品评价本质是 comment_type 为 review 的评论,评分存在 _wc_rating 元数据里。
<?php
// 为 WooCommerce 商品输出合规的 Product + AggregateRating JSON-LD
add_action('wp_head', function () {
if (!function_exists('wc_get_product') || !is_product()) return;
$product = wc_get_product(get_queried_object_id());
if (!$product) return;
$count = $product->get_review_count();
$data = [
'@context' => 'https://schema.org',
'@type' => 'Product',
'name' => $product->get_name(),
'sku' => $product->get_sku(),
'brand' => ['@type' => 'Brand', 'name' => get_bloginfo('name')],
'offers' => [
'@type' => 'Offer',
'price' => $product->get_price(),
'priceCurrency' => get_woocommerce_currency(),
'availability' => $product->is_in_stock()
? 'https://schema.org/InStock' : 'https://schema.org/OutOfStock',
],
];
// 只有存在真实评价时才输出评分,避免空数据被判为作弊
if ($count > 0) {
$data['aggregateRating'] = [
'@type' => 'AggregateRating',
'ratingValue' => (string) $product->get_average_rating(),
'reviewCount' => (int) $count,
'bestRating' => '5',
'worstRating' => '1',
];
}
echo '<script type="application/ld+json">'
. wp_json_encode($data, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES)
. '</script>';
}, 10);
关键是那个 if ($count > 0):没有真实评价就不要写评分字段。
步骤 3:本地业务用第三方评价。 展示时必须带上来源,且评分与来源平台一致。
{
"@context": "https://schema.org",
"@type": "LocalBusiness",
"name": "明达家政服务",
"image": "https://example.com/img/store.jpg",
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.7",
"reviewCount": "218",
"bestRating": "5",
"worstRating": "1"
},
"review": [
{
"@type": "Review",
"author": { "@type": "Person", "name": "李女士" },
"datePublished": "2026-08-12",
"reviewRating": { "@type": "Rating", "ratingValue": "5", "bestRating": "5" },
"reviewBody": "预约很准时,打扫也很仔细,会再约。",
"itemReviewed": { "@type": "LocalBusiness", "name": "明达家政服务" }
}
]
}
若评分来自 GBP 等第三方,需在页面可见区域标注”评分来自 Google 评价”,保持结构化数据与页面可见内容一致。
步骤 4:建立评价获取流程。 服务完成后发送一次请求(不要诱导好评,不要以优惠换评价)。给客户一个直链:GBP 的”索取评价”短链(后台可复制),在邮件或短信里附上。批量发送时要控制频率,短时间内涌入大量五星反而触发审核。
步骤 5:认真回复每一条评价。 尤其是差评。回复率与回复速度本身是活跃度信号,也让潜在客户看到服务态度。回复内容避免模板化。
步骤 6:验证与监控。 用”富媒体搜索结果测试工具”检查 JSON-LD 是否被解析;在 GSC 的”增强功能”部分查看评价类结构化数据有没有报错。
常见踩坑
- 案例: 某口腔诊所在站点上放了 30 条”患者评价”,全部由市场部撰写并用
AggregateRating标记 5.0 分。三个月后结构化数据被人工处置移除,富媒体结果资格被取消半年,恢复需要提交申诉并删除全部自评内容。 - 用
aggregateRating标注”自己对自己的评价”,即使评价是真的,只要由商家自己收集且无法第三方核验,也可能被判定为自评。 - 结构化数据里的评分与页面上可见的评分不一致(一个 4.9 一个 4.5),属于明确违规。
- 没有评价却硬写
reviewCount: 0或虚构数值,抓取时会被标记为无效。 - 用插件自动把老评论改造成评价并批量补星,短期内评分暴涨,触发 Google 的异常检测。
- 删除差评、只保留好评(”筛选展示”),若被用户投诉,GBP 条目可能被限制。正确做法是展示全部并公开回复。
- 站点同时存在
Product与LocalBusiness两种类型且共用一份评价数据,实体关系混乱,结构化数据报错。类型选择应与页面主旨一致,本地业务的展示细节可参考 Google Business Profile 与站点配合。
总结
评价的合规底线有三条:不自评、不虚构、不筛选。数据来源必须是可核验的第三方或真实商品评价;结构化数据的数值必须与页面可见内容一致;展示时要标明来源。行动清单:先判断自己是本地业务还是电商,走对应路径;用代码在”有真实评价”时才输出评分字段;建立稳定的评价请求流程并逐条回复;用富媒体测试工具与 GSC 结构化数据报告持续监控。评价是慢变量,但它是本地 SEO 里少数能同时提升排名与转化的杠杆,值得长期投入。
