Product Vocabularies for Online Retailers [Structured Data & Microformats]

If you’ve been testing Microformats on your website, you’ll be quite familiar with hReview, hRecipe, and hCalendar to enhance your search results with rich snippets.

For each type of site content, be it events, reviews and the like, there are a number of different markup languages you could use: Microformats, Microdata or RDFa. Along with Google’s recent confirmation that they’re now using structured data gleaned from web page mark-up for shopping sites, comes the announcement of support for GoodRelations and their very own Product Vocabulary.

Let’s take a look at what’s available if you’re marketing product content online.

Microformats: hProduct with nested hReview

My personal preference for structured data has been Microformats for some long time. Why? I like the priciple that elemental Microformats are interchangeable and are often inspired by standards elewhere on the web. They’re simple, easy to understand and easy to implement. Some months ago, I covered testing strategies for Microformats implementation. In the example I used, you might have noticed I was combining (nesting) hProduct properties in the hReview. Here’s a snippet of the aggregate hReview with hProduct properties visible (you can do this the opposite way round, too – nesting hReview elements inside hProduct mark-up):

With Microformats, be sure to use fn, photo, brand, description, category and review properties in your actual product page. A correctly marked up page might look a little like this:

Frolicat bolt

With all this said, for larger online retailers, hProduct might not be the best solution. If you have more data available than simply price, description and a photo, read on.

Good Relations – RDFa based mark-up

Good Relations is an RDFa based mark-up using established, and self defined namespaces. You can create your own snippet code with their generator, which produces markup for entities such as companies (and their locations), shops and products and services. According to their site:

GoodRelations is a language that can be used to describe very precisely what your business is offering. Some people call GoodRelations a “data dictionary”, others prefer “schema” or “ontology”. The name, however, is not important. Important is that you can use GoodRelations to create a small data package that describes your products and their features and prices, your stores and opening hours, payment options and the like.

Here’s an example snippet (missing the namespace declarations):

Good Relations have put a lot of effort into catering for online retail, and their documentation is easily accessible and well worth a review. To help you learn more, they created a handly little presentation on Slideshare.

Google Product Vocabulary – good for price comparison

You’d expect that if Google were to create their own mark-up standard, they might base it a little more closely on their product feed specification. Seemingly, not. There’s a comparision table available on this page where you can directly compare the elements from Google Product, hProduct, Good Relations and the product feed.

Something I really like about Google’s own, Microdata driven vocabulary is the concept of “offer”, where price, currency, condition and availablity are amongst the elements available to deploy. It certainly seems powerful when you review their offer aggregate vocabulary. Offer aggregate allows you to aggregate prices for the same product, showing lowest and highest prices available and the number of offers on the page.

Take a look at the examples code snippets here.

Which format will win?

I really enjoy working with Microformats, but I suspect that for the long haul, Google’s Product Vocabulary might be a wise choice for review. hProduct just doesn’t offer the attributes covered by Google and Good Relations. If you have a large dynamic site, with a lot of data on-page with multiple price comparison pages, you’ll probably have an easier time marking up with the product vocabulary on offer from Google.

Image credits: Mike Cattell



Stay Updated: Sign Up for Webinar & New Blog Alerts

6 thoughts on “Product Vocabularies for Online Retailers [Structured Data & Microformats]

  1. Martin Hepp says:

    Hi, Thanks for your analysis. I am the designer of the GoodRelations vocabulary, and I have worked with Google over the past 12 months towards their adoption of GoodRelations.

    If you compare GoodRelations and Google’s Microdata variant with hProduct, I think we agree that hProduct does provide a lot less detail. So it’s the weakest of the three choices.

    If you compare GoodRelations with Google’s Microdata variant, the main differences are as follows:

    1. The Google vocab is a tiny bit simpler. 2. GoodRelations will be honored by Google AND Yahoo AND lots of third-party applications. The Google vocab will be honored only by Google. 3. GoodRelations is much more extensible. For example, you can combine it with domain-specific RDFa vocabularies for vertical industries, like http://purl.org/vso/ns for cars, http://www.ebusiness-unibw.org/ontologies/consumerelectronics/v1 for consumer electronics, etc.

    4. GoodRelations markup will be honored by any client-side browser extension that is RDFa aware, and by many upcoming RDFa-aware services.

    So in a nutshell, with GoodRelations RDFa your serve Google AND the rest of the Web 3.0, while the Google microdata format is a proprietary solution for Google only.

    Best wishes

    Martin Hepp @mfhepp mhepp@computer.org

  2. Awesome, thanks Martin – really appreciate your comments and thanks for stopping by!

  3. Barry Adams says:

    I’m a fan of microformats/microdata/whateverflavourofsemanticmarkupweendupusing, but for ecommerce sites isn’t it more worthwhile to build a Google Merchant feed?

    Phrasing on Google’s help centre suggests (and yes I do take this with a healthy pinch of salt, as I do all Google’s proclamations) that they prefer a product feed over semantic markup.

  4. I’d tend to agree Barry. My preference is feed and I don’t yet have cause to change that – though we are already testing product vocabulary. Google have added a layer of complexity with the vocab, as it’s microdata based this is quite a challenge to rdfa and microformats folks marking up their reviews.

  5. Martin Hepp says:

    The key advantage of using rich markup inside the page with GoodRelations, then your product details will be honored by a wealth of applications.

    1. Google Rich Snippets for Products 2. Yahoo 3. All RDFa-aware upcoming new services, e.g. http://linkedopencommerce.com/, http://www.sindice.com/, etc. 4. All RDFa-aware client applications, e.g. browser extensions that do currency conversion or show remotely available reviews etc.

    Note: This requires that you use GoodRelations in RDFa and not the other two Google formats (hProduct and Google’s own Microdata vocabulary).

    So GoodRelations in RDFa is a “one for all” approach. If you combine it with a proper sitemap.xml with correct lastmod attributes (that tell the search engine which pages have actually changed), then the keeping the data up to data is almost as feasible as with feeds.

    There may be cases in which using feeds and GoodRelations in RDFa is the best choice, but leaving out the opportunity to make your value proposition heard with GoodRelations over the WWW is unwise, in my opinion.

    Best wishes

    Martin Hepp

  6. Rob Kerry says:

    That pie shop looks good! Mmmm… pie.

Comments are closed.