0

I'm confused as to the proper way (in terms of SEO and W3C validation and not breaking the Schema.org rules) of combining Schema.org microdata tags with unordered lists.

Is it better to keep the Schema elements on their own, and intersperse with the HTML structure, like this:

<ul>
  <div itemscope itemtype="http://schema.org/LocalBusiness">
    <li><span itemprop="name">My Business Name</span></li>
    <div itemscope itemprop="address" itemtype="http://schema.org/PostalAddress">
      <li><span itemprop="streetAddress">123 Main Street</span></li>
      <li><span itemprop="addressLocality">Cityville</span>, <span itemprop="addressRegion">CA</span> <span itemprop="postalCode">90210</span></li>
    </div>
    <span itemprop="telephone" content="+18001112222">(800) 111-2222 (Toll-Free)</span><br />
    <span itemprop="telephone" content="+19251113333">(925) 111-3333</span><br />
    <span itemprop="faxnumber" content="+19259998888">(925) 999-8888</span><br />
    <link itemprop="url" href="http://www.mywebsite.com" />
    <li><span itemprop="email"><a href="mailto:myemail@domain.com">myemail@domain.com</a></span></li>
  </div>
  <div itemprop="geo" itemtype="http://schema.org/GeoCoordinates">
    <meta itemprop="latitude" content="77.111222333" />
    <meta itemprop="longitude" content="-77.12345678" />
  </div>
</ul>

OR is it better (if possible) to combine the Schema tags directly with the HTML elements:

<ul itemscope itemtype="http://schema.org/LocalBusiness">
    <li itemprop="name">My Business Name</li>
    <div itemscope itemprop="address" itemtype="http://schema.org/PostalAddress">
      <li itemprop="streetAddress">123 Main Street</li>
      <li><span itemprop="addressLocality">Cityville</span>, <span itemprop="addressRegion">CA</span> <span itemprop="postalCode">90210</span></li>
    </div>
[etc...]

Which is the "correct" method?

unor
  • 92,415
  • 26
  • 211
  • 360
TomJones999
  • 775
  • 2
  • 13
  • 30

1 Answers1

0

Quoting my answer to a similar (if not duplicate) question:

You can use every HTML5 element for Microdata. But note that some elements have special rules for determining the value, and some elements come with additional requirements if used with Microdata.

Both ways are allowed (in the same way that it would be allowed to nest 100 div elements without any reason). So you should re-use your existing markup, if possible.

Community
  • 1
  • 1
unor
  • 92,415
  • 26
  • 211
  • 360