1
votes

What are the downfalls (if any) to placing all microdata into meta tags in the body, compared to extending the existing markup? Will I be any less trustworthy in the eyes of a search engine?

For example, this:

<div>
  <ul>
    <li>10 Example Street</li>
    <li>Boston, MA 02120</li>
  </ul>
</div>

<div itemprop="address" itemscope itemtype="http://schema.org/PostalAddress">
  <meta itemprop="streetAddress" content="10 Example Street">
  <meta itemprop="addressLocality" content="Boston">
  <meta itemprop="addressRegion" content="MA">
  <meta itemprop="postalCode" content="02120">
  <meta itemprop="addressCountry" content="US">
</div>

instead of this mess:

<div itemprop="address" itemscope itemtype="http://schema.org/PostalAddress">
  <ul>
    <li><span itemprop="streetAddress">10 Example Street</span></li>
    <li><span itemprop="addressLocality">Boston</span>, <span itemprop="addressRegion">MA</span> <span itemprop="postalCode">02120</span></li>
  </ul>
  <meta itemprop="addressCountry" content="US">
</div>

It is my understanding that they're both valid HTML5.

1
I'm voting to close this question as off-topic because it is about SEO - John Conde
The question is off-topic if you ask about how search engines handle this. You could make it on-topic here if you remove the SEO question, so making this only about the specification. -- On Webmasters, question asking for SEO advice are on-topic (and the SEO part of this question is likely already answered there; see for example my answer to a similar question; especially its last two paragraphs). - unor
linked data != seo. considering how search engines will harvest linked data in the future, this will surely be an annoying hot button topic here. but i cannot emphasis enough: linked data != seo - albert

1 Answers

0
votes

the example you gave is not 'extending the markup' because you aren't introducing new terms, you are only adding markup using meta tags rather than adding the markup where the data is visible.

You are adding extra work for yourself and may be seen as adding a lot of hidden data, which google advises against in their documentation. Meta tags for hidden data are best used for ambigious data like dates, which would be written 2015-10-31 for instance, or currencies like 10.99 USD.

If you do not wish to have schema.org markup so close to your code then use JSON-LD instead, which can be in the <head> or anywhere in the <body>