Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

They both serve the same purpose: Providing a vocabulary for semantic markup. Schema is recognized and standardized… but the microformats standard is by an open community process.

Schema exploits microdata in documentation, while microformats go on classes. (Of note: microdata means that an element must be of a single itemtype, while microformats allow several classes to apply to the same element. I can markup xFolk+hAtom with classes, but not with microdata.)

Is this a black-and-white situation? Google says I can't use both "because it may confuse the parser".

What's the consensus on these?

share|improve this question
All things being equal, my preference is to align myself with Google guidelines. The guidelines are moving targets but (as of this writing) this help section from google seems to suggest a Google preference for – User Feb 10 '14 at 7:48
up vote 19 down vote accepted

tl;dr, the three ways how to semantically annotate content in HTML5 documents:

  • Microdata and RDFa are syntaxes (extending HTML) for semantically marking up content, but they don‘t supply vocabularies.
  • Microformats is a convention (re-using what HTML provides) for semantically marking up content, and (solely!) supplies vocabularies for that purpose. is a collection of vocabularies (that can be used with various syntaxes, including Microdata and RDFa, but not Microformats), so this question should be: Microdata vs. Microformats? And why not invite RDFa to the party?

RDFa and Microdata are not the same, but conceptional similar. Microformats however differs strongly from both.

If your only aim would be to enhance the display of search results from search engines, it doesn’t matter which markup way you choose (as long as it is supported by the search engine). But "semantic markup", of course, allows much more: building the Semantic Web. Not without reason do Microformats relate to the term "lower-case semantic web", while RDFa relates to "upper-case Semantic Web" (Microdata is a newer syntax, but it would fit into the upper-case variant).

The main difference: extensibility. RDFa and Microdata use URIs, Microformats uses specific class names (for HTML’s class attribute) and link types (for HTML’s rel attribute). That means:

  • With Microformats you can only markup certain content if the Microformats community created and accepted an appropriate "vocabulary" (i.e., a Microformat).

  • With RDFa and Microdata you can create your own vocabulary if there doesn’t already exist an appropriate one (and there are many vocabularies).

Google says I can't use both "because it may confuse the parser".

I wouldn't let this stop me from implementing several markup ways. Also, Google kind of revoked this statement in a chat.

Update: On Google’s Structured Data documentation, it nowhere says they couldn’t handle different syntaxes on the same document. And their Testing Tool reports no errors if several syntaxes are used.

See also related questions on Stack Overflow:

share|improve this answer

There is no consensus on these.

Both can be used for Google, though is the newer of the two and appears to be more comprehensive in my opinion.

It boils down to your needs for markup - use what is easier and more suitable to what you are doing.

share|improve this answer

Google's structured data tester shows how well its parsers recognize both their presence together. documentation is biased to microdata- invented within Google by WHATWG HTML5 editor. It prefixes RDFa lite reseved words with "item", eg. property=itemprop and so forth. Also it is unsupported outside HTML5.

RDFa initial context allows schema: prefix, so rest assured as RDFa despite lacking any bias favoring schema treats it as well as any vocab for semantic web.

vocabs address semantic aspects from domains outside W3's jurisdiction. The initial context illustrates this by recognizing cc and license for legal matters, og for social networks, and so forth. Search is more cross-cutting concern than aspect specific to domain, so aspects covered by schema vocab range from webPagElement to geographic maps and taxIDs. Its sameas giving dictionary meaning to machine for every word targeted to human user. Despite consensus on the vocab aspects by major search players, commitment on how which of such structured data will be pushed to user querys' results is absent. So far only ratings are seen on Google results and they are mostly misleading.

Microformats solve indivisible recurring use-cases. For larger use-cases RDFa works on both HTML5 and non-HTML5 pages. And if XHTML is used the same semantic content can be transformed through xslt or grddl or so on.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.