I have a page listing multiple events in a table, so I have each one set as its own Event in microdata markup, as below:
<div itemscope itemtype="https://schema.org/Event">
<tr>
<meta itemprop="name" content="Really Cool Event">
<td itemprop="location" itemscope itemtype="https://schema.org/Place">
<a href="#"><span itemprop="name">Hooville</span></a>
<div itemprop="address" itemscope itemtype="http://schema.org/PostalAddress">
<meta itemprop="addressLocality" content="Hootown, USA">
</div>
</td>
<td><span itemprop="startDate" content="2015-12-25">25th</span> - <span itemprop="endDate" content="2015-12-30">30th December 2015</span></td>
<td itemprop="offers" itemscope itemtype="https://schema.org/Offer" id="price" class="text-success">
<span itemprop="price" content="1000"><strong>$1000</strong></span>
</td>
</tr>
</div>
However, Google's Structured Data Tester fails to find the location, startDate and offer for the Event. It finds the Place just fine, but separates it from the Event. It seems to me that they are all nested within the Event div, so what's up?
table? – ElendilTheTall Nov 24 '15 at 12:19itemrefsometimes.) – unor Nov 24 '15 at 12:24Eventaname, but I want this hidden as it would be redundant to put this in the table. How can I do that and still play ball with Google? – ElendilTheTall Nov 24 '15 at 12:29metaelement (there is no definite answer if or if not this is a problem for Google; see my answer). – unor Nov 24 '15 at 13:38tdand move the actual markup in adivin thattd, or you could useitemrefto reference ametaelement outside of thetable(see an example). – unor Nov 24 '15 at 14:12