Google 是否需要 schema.org 的 AggregateRating 类型才能在搜索结果中显示星级?

Does Google require a type for schema.org's AggregateRating in order to display stars in search results?

我想将 AggregateRating 信息添加到我的网站,以便在 Google 的搜索结果中显示星星。

在 Google 的开发网站上,it says 这仅适用于五种不同的评论类型:

就我而言,none 这些类型描述了我网站上的评级。但是,我发现一个网站没有在其标记中定义任何类型,AggregateRating 仍然显示在 Google 的搜索结果中。

网站 https://www.1averbraucherportal.de/ernaehrung 包含以下标记:

<div style="display: none;" itemprop="aggregateRating" itemscope="" itemtype="http://schema.org/AggregateRating">
    <meta itemprop="bestRating" content="5">
    <meta itemprop="worstRating" content="1">
    <meta itemprop="ratingValue" content="3.46">
    <meta itemprop="ratingCount" content="158">
</div>

它不包含类型,但 Google 考虑了评级:https://www.google.de/search?q=site%3A1averbraucherportal.de+ernaehrung

我的问题:

有问题的站点确实提供了被评级项目的类型:Article

在您的示例中,aggregateRating 是一个 属性,其值类型为 AggregateRating。这个 属性 属于另一个项目,即具有 itemscope 属性的最近的父元素。所以他们页面上的完整相关标记是:

<span itemscope itemtype="http://schema.org/Article">
  <!-- … -->
  <div itemprop="aggregateRating" itemscope itemtype="http://schema.org/AggregateRating">
    <!-- … -->
  </div>
</span>

(注意HTML无效。)

如果您不为父元素提供 itemscope,则 HTML+微数据将无效。但是仅提供 itemscope 属性而不提供 itemtype 属性是可能且有效的。

因此 aggregateRating 属性 可能属于未指定此项目代表什么的项目:

<div itemscope>
  <div itemprop="aggregateRating" itemscope itemtype="http://schema.org/AggregateRating">
    <!-- … -->
  </div>
</div>

但你也可以使用 Schema.org 的 Thing 类型(一切 都是 Thing):

<div itemscope itemtype="http://schema.org/Thing">
  <div itemprop="aggregateRating" itemscope itemtype="http://schema.org/AggregateRating">
    <!-- … -->
  </div>
</div>

也就是说,所有这些并不意味着 Google 搜索将显示其富媒体搜索结果。他们有他们的规则,即使他们有时会显示不遵守这些规则的内容,这可能取决于各种未知因素,并且随时可能改变。