Perhaps the first question should be, why bother to use semantic markup at all? What’s to be gained?
There are three major benefits to using semantic markup:
- Provide a great deal of information to the search engines, which will allow them to better determine your relevance to a search query;
- Provide more information in the SERPs, so that users can better determine whether your page is likely to provide the information they seek;
- Provide a high degree of classification to the data on your page, building out the graph of Linked Data.
For the Search Engines
Semantic markup, regardless of which style you eventually select, can provide a great deal of amplifying information to the search engines, when responding to a search query. This information also becomes resident in their index, contributing to the graph of Linked Data, which gradually will make searching more efficient, as the Semantic Web develops.
For the Users
The search engines can display certain aspects of that expanded information in the SERPs, in the form of Rich Snippets. These snippets not only convey more information to users, enticing them to visit your page, they also tend to stand out from the more mundane entries, gaining more attention.
There are several options available for semantic markup: RDFa, microdata, microformats, Open Graph… which you choose to use is up to you. Microformats has about run its race, and is almost certain to see less use as time goes on). Microdata is the heart of schema.org, with some refinements, and is likely to be around for some time. RDFa, while similar in function, is more scalable, and should also exist for some time. Open Graph is somewhat unique, but doesn’t conflict with any of the others.
I think there are three primary criteria to be considered when selecting the language you want to use:
- Which has the ontology best suited to your needs;
- Which is receiving the widest acceptance;
- Which are you most familiar with/accustomed to.
The vocabularies of both Open Graph and schema.org are somewhat limited, although for most sites, they will serve well for what they’re intended. RDFa has the most expressive capabilities of any of the semantic markup languages. But then, since Google, Bing and Yahoo joined in lockstep with schema.org, microdata is the one that seems to have the greatest acceptance and its adoption is likely to continue.
I’ve been interested in RDFa for a few years now and in discussions, one of the most common arguments I’ve heard against it is that it’s so complicated. I’ll grant, it’s a little more complex than straight HTML, but then, it delivers SO much more, too!
Figure 1 Microdata – schema.org
Figure 2 RDFa 1.1
As you can see, there’s not a lot of difference… one calls for span itemprop and the other calls for span property. Hardly enough to warrant calling RDFa more complicated. To be fair, though, the RDFa 1.1 in the above example is the “Lite” version of RDFa, and is somewhat simpler than its predecessor.
The nice thing about RDFa is that it’s a lot more flexible. Depending upon your niche, that additional flexibility may or may not be of any use to you, of course. RDFa categorizes data with some XHTML attributes that aren’t available with the other markups, although the most common ones can be utilized with microdata.
Schema.org, having been adopted as the vocabulary endorsed by Google, Bing and Yahoo, may be the most likely to survive the test of time. All three major search engines presently can parse RDFa and microformats, as well as microdata, but whether they will continue to do so in the face of increased implementation of schema.org is a question.
Hopefully, the adoption of schema.org will grow to envelope more classifications, but if the intricacy of your data is sufficient that schema.org doesn’t offer you the granular segmentation you need, the vocabulary available to RDFa may be the quickest solution.
Right after schema.org was first introduced, Google said that whichever markup you choose, you should avoid mixing them on the same page, as their algorithms had difficulty parsing mixed languages. However, Kavi Goel, Google Product Manager, later retracted that statement, and in fact, RDFa and microdata have since been successfully combined on the same page, with no issues.
You’ll need to decide which is best for your site. There is a great deal of partisanship involved in the discussion of which markup is the most appropriate, and frankly, there is no single correct answer. What works best for one site might not be best for another.
Assuming that schema.org offers sufficient capability for the site in question, I would probably lean toward the microdata markup, based primarily on its somewhat higher adoption level. But then, that’s just me.
Which will you choose?
Editor’s Note: Thanks to Aaron Bradley for pointing out some poor wording that might have confused some readers. Schema.org is the vocabulary, whereas microdata is the actual markup used with it and embraced by Google, Bing and Yahoo.