MusicEvent架构的docs显示属性performer
可以是Organization
或Person
类型,其描述如下:
活动中的表演者 - 例如,主持人,音乐家,音乐剧 小组或演员。取代表演者。
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的工具无效的东西?
答案 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丰富搜索结果所推荐/需要的内容。)