在MusicEvent模式中,为什么Person中的jobTitle属性不被Google识别?

时间:2018-06-14 10:58:24

标签: schema.org microdata

MusicEvent架构的docs显示属性performer可以是OrganizationPerson类型,其描述如下:

  

活动中的表演者 - 例如,主持人,音乐家,音乐剧   小组或演员。取代表演者。

Person模式的docs显示属性jobTitle,其中包含以下描述:

  

此人的职位(例如,财务经理)。

但是当这样使用时:

<article itemtype="http://schema.org/MusicEvent">

   <!-- other stuff -->

   <p itemprop="performer" itemtype="http://schema.org/Person">
      <b itemprop="name">Constantine Kitsopoulos</b>, 
         <span itemprop="jobTitle">conductor</span>
    </p>

   <!-- other stuff -->

</article>

Google结构化数据测试工具会显示警告:

  

Google无法识别属性jobTitle   键入MusicEvent。

related schema.org question中,答案是财产没有正确包装。我对HTML进行了双重和三重检查,以确保jobTitle itemprop包含在Person模式标记中,这些标记包含在MusicEvent模式标记中。有没有我误解的东西,或者是对MusicEvent架构有效而且对Google的工具无效的东西?

1 个答案:

答案 0 :(得分:1)

在微观数据中,每个项目都必须具有itemscope属性。可以另外指定itemtype(它是可选的)。

包含缺少的两个itemscope属性的代码段:

<article itemscope itemtype="http://schema.org/MusicEvent">

  <p itemprop="performer" itemscope itemtype="http://schema.org/Person">
    <b itemprop="name">Constantine Kitsopoulos</b>, 
    <span itemprop="jobTitle">conductor</span>
  </p>

</article>

Google的SDTT正确识别它:

@type MusicEvent
performer   
  @type Person
  name Constantine Kitsopoulos
  jobTitle conductor

(它报告的警告/错误不是您的标记问题;这些只是获取Google丰富搜索结果所推荐/需要的内容。)