How to nest Microdata (using Schema.org) in a valid way? -
i have page of name , address search results trying add together microdata markup to, using schema.org. seems me names ("familyname" , "givenname") belong schema.org/people, while address details (such "addresscountry") belong schema.org/postaladdress.
so declare schema.org/people @ top of page, bracket actual names in schema.org/people reference - seems span or div as ignored distinction seems unimportant.
when submit page google complains mad that:
error: page contains property "familyname" not part of schema. error: page contains property "givenname" not part of schema. error: page contains property "familyname" not part of schema. error: page contains property "givenname" not part of schema.
and testing bing's structured info tool results in names beingness omitted finds. have clue might doing wrong here?
here's code snippet. ahead of results table:
class="lang-html prettyprint-override"><div id="center" itemscope itemtype="http://schema.org/postaladdress"> and extract table itself:
class="lang-html prettyprint-override"><tr><td><div itemprop="familyname" itemscope itemtype="http://schema.org/person">macdonold</div></td><td><div itemprop="givenname" itemscope itemtype="http://schema.org/person">carol</div></td><td><span itemprop="addresscountry">australia</span></td><td><span itemprop="telephone">0439213078</span></td><td><div class="arrow"></div></td></tr> <tr><td colspan="5"><h4>additional information</h4> <ul> <li>occupation: <span class="resultdata" itemprop="contacttype">secretary</span></li> <li>address: <span class="resultdata" itemprop="streetaddress">324 coombe street</span></li> <li>city: <span class="resultdata" itemprop="addresslocality">nangwarry</span></li> <li>state / region: <span class="resultdata" itemprop="addressregion">south australia</span></li> </ul> </td></tr> <tr><td><div itemprop="familyname" itemscope itemtype="http://schema.org/person">hughes</div></td><td><div itemprop="givenname" itemscope itemtype="http://schema.org/person">frank</div></td><td><span itemprop="addresscountry">uk</span></td><td><span itemprop="telephone">07369884589</span></td><td><div class="arrow"></div></td></tr> <tr><td colspan="5"><h4>additional information</h4> <ul> <li>occupation: <span class="resultdata" itemprop="contacttype">chef</span></li> <li>address: <span class="resultdata" itemprop="streetaddress">22 melrose place</span></li> <li>city: <span class="resultdata" itemprop="addresslocality">london</span></li> <li>state / region: <span class="resultdata" itemprop="addressregion">greater london</span></li> </ul> </td></tr> edit: 'seem' have solved re-ordering markup around names. see next snippet:
class="lang-html prettyprint-override"><div itemscope itemtype="http://schema.org/person"><span itemprop="familyname"><span itemprop="name">adam</span></span></div></td><td><div itemscope itemtype="http://schema.org/person"><span itemprop="givenname"><span itemprop="name">smith</span></span></div> my reservation seems counter intuitive. have specified illustration next bit of info of type 'familyname', why need go on 'name'? seems hierarchical relationship there front. tried other way around , google wont take it. is, google doesn't complain now, marked construction reports seems little crazy, no linkage between 'adam' , 'smith' seem read 2 unrelated names.
what trying ought simple , basic, , yet can't work 1 suppose should do.
i've seen same error message when attempting utilize familyname , givenname properties person instead of name. personal feeling it's glitch in google's testing tool , in real world, should able understand markup fine. on safe side, can seek marking name in way, if page construction allows it:
<div itemscope itemtype="http://schema.org/person"> <span itemprop="name"><span itemprop="familyname">adam</span> </td><td><span itemprop="givenname">smith</span></span></div> schema.org microdata
No comments:
Post a Comment