我是否必须创建新的可见元素以遵守Google的Microdata Schema.org要求?

时间:2016-05-27 14:14:59

标签: schema.org microdata google-rich-snippets

我已将Schema.org/Microdata属性添加到我网站上的列表组件中:

// This is one item in my list:

<div itemscope 
     itemtype  = "http://schema.org/WebApplication"
  >
  <span itemprop  = "name">
    The Awesome Web App 01
  </span>
  <span 
        itemprop  = "locationCreated"
        itemscope
        itemtype = "http://schema.org/City" 
    >
    <span itemprop = "name">
      Chicago
    </span>
  </span>
</div>

当我通过google Structured Data Testing Tool运行时出现错误:

  

两个operatingSystem,aggregateRating,applicationCategory,提供   是必需的。

所以我有几个问题:

1 - 我有error这是否重要?这个错误会强制google忽略其他所有内容吗?

2 - 我现在是否必须创建新的可见<div>来保存这些新字段?

3 - 在4个必填字段中,只有一个applicationCategory与我的情况相关......其他字段不是......所以为什么我必须使用它们?

更新:我想使用Microdata格式而不是JSON-LD格式(或RDFa)。请参阅comparison of formats here

2 个答案:

答案 0 :(得分:2)

1 - 是的,是的。

2 - 不,见下文。

3 - 好的,只需添加操作系统,如下所示。如果您支持2+ operatingSystem,请将其设为数组(JSON-LD)或包含另一个<span></span>

以下内容有效,Google将对其进行正确解析:

<div itemscope 
     itemtype  = "http://schema.org/WebApplication"
  >
  <span itemprop  = "name">
    The Awesome Web App 01
  </span>
  <span 
        itemprop  = "locationCreated"
        itemscope
        itemtype = "http://schema.org/City" 
    >
    <span itemprop = "name">
      Chicago
    </span>
  </span>
  <span itemprop = "operatingSystem">
       Android
  </span>
  <span itemprop = "applicationCategory">
       Games
  </span>
</div>

如果要隐藏元素的值,请使用以下方法:

<span>
  <meta itemprop = "operatingSystem" content="Android"/>
 </span>

答案 1 :(得分:2)

您不必提供这些属性。词汇表Schema.org没有定义任何必需的属性。

如果Google的结构化数据测试工具说需要一个属性,那么只表示获取Google搜索结果功能之一需要此属性(例如,Rich Snippet)。

如果您不提供属性,Google(可能)将不会显示该搜索结果功能。没有其他事情发生。不提供SDTT希望看到的所有属性是完全正常/正常的。

如果您可以提供属性,但又不想在页面上显示这些属性,则可以使用link元素(如果值为URI)或meta元素(对于所有其他值)。对于微数据,这些元素可能会添加到body,默认情况下会隐藏。