Reputation: 682
The docs for the MusicEvent schema show the property performer
can be of type Organization
or Person
, with the description:
A performer at the event—for example, a presenter, musician, musical group or actor. Supersedes performers.
The docs for the Person schema show the property jobTitle
with the description:
The job title of the person (for example, Financial Manager).
But when used like this:
<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>
the Google Structured Data Testing tool shows the warning:
The property jobTitle is not recognized by Google for an object of type MusicEvent.
In a related schema.org question, the answer was the property was not wrapped correctly. I've double and triple-checked the HTML to be sure the jobTitle
itemprop is wrapped within the Person
schema tags, which are wrapped within the MusicEvent
schema tags. Is there something I am misunderstanding, or are things that are valid in MusicEvent schema without being valid to Google's tools?
Upvotes: 1
Views: 131
Reputation: 96697
In Microdata, each item is required to have an itemscope
attribute. The itemtype
can be specified in addition (it’s optional).
Your snippet with the two itemscope
attributes that were missing:
<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’s SDTT recognizes it correctly:
@type MusicEvent
performer
@type Person
name Constantine Kitsopoulos
jobTitle conductor
(The warnings/errors it reports aren’t problems with your markup; these are just things that are recommended/required for getting one of Google’s rich results.)
Upvotes: 1