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
我的问题:
- 一般情况下可以省略类型吗,如果我想在 Google 的搜索结果中使用星标,我使用 JSON-LD 而不是 Microdata?
- 我是不是误解了Google的指南?
有问题的站点确实提供了被评级项目的类型: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 搜索将显示其富媒体搜索结果。他们有他们的规则,即使他们有时会显示不遵守这些规则的内容,这可能取决于各种未知因素,并且随时可能改变。
我想将 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
我的问题:
- 一般情况下可以省略类型吗,如果我想在 Google 的搜索结果中使用星标,我使用 JSON-LD 而不是 Microdata?
- 我是不是误解了Google的指南?
有问题的站点确实提供了被评级项目的类型: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 搜索将显示其富媒体搜索结果。他们有他们的规则,即使他们有时会显示不遵守这些规则的内容,这可能取决于各种未知因素,并且随时可能改变。