54°F

Aaron Parecki

  • Articles
  • Notes
  • Photos
  • Why Microformats? Owning My Reviews

    December 17, 2016

    Back in October, I wrote a bunch of short mini-reviews on products and services that I use regularly. I published them all on a single page called "Favorite Things". In the past, I've written a couple of reviews on Amazon and then copied them to my website as a blog post.

    I decided it was time to be able to publish proper reviews from my own website, including having them show up in Google with the little stars, what Google now calls "Rich Snippets."

    Searching for Google's documentation on how to mark up a web page to show the Rich Snippet reveals an interesting pattern. Currently, their documentation provides three recommended markup styles: Microdata, RDFa, and JSON-LD. All three use the Schema.org vocabulary.

    Source

    In 2015, they hadn't quite implemented JSON-LD yet, so were recommending Microdata or RDFa only.

    Source

    In 2013, they had a different set of recommendations: Microdata, Microformats, and RDFa. However, at this time, all three formats used the Microformats hReview vocabulary.

    Source
    Source

    In 2009, when they launched Rich Snippets, there were only two recommendations: Microformats and RDFa. The Microformats markup used the hReview vocabulary, and the RDFa markup used data-vocabulary.org's vocabulary.

    Source

    Here is a table summarizing these results.

    Historical recommended markup for Rich Snippets

    Container Format Serialization Vocabulary 2005 2006 2009 2013 2015 2016
    txt n/a Google Base ✓ ✓
    RSS/Atom XML Google Base ✓ ✓
    RSS/Atom XML GData ✓ ✓*
    HTML Microformats hReview ✓ ✓ ✓* ✓*
    HTML RDFa hReview / data-vocabulary.org ✓ ✓ ✓* ✓*
    HTML Microdata hReview / data-vocabulary.org ✓ ✓* ✓*
    HTML RDFa schema.org/Review ✓ ✓
    HTML Microdata schema.org/Review ✓ ✓
    HTML JSON-LD schema.org/Review not yet ✓

    • Recommended in Google Webmasters Guide
    • ✓* no longer mentioned in documentation, but still consumes

    A rough timeline follows:

    • 2005: Google Base launched. A Google-invented vocabulary was serialized in txt, RSS or Atom and uploaded directly to their system for indexing. (Eventually shut down in 2010.)
    • 2006: GData launched. GData was a format that used a Google namespace (schemas.google.com/g/2005) for the addition of the properties of a review, typically serialized in an Atom feed.
    • 2009: Google launched Rich Snippets. This was a drastic change from before, where now Google would parse the review directly from any web page, rather than making websites upload data to their servers. When Rich Snippets launched, they recommended the hReview vocabulary marked up with either Microformats or RDFa. They created a namespace, data-vocabulary.org for RDFa, whose Review object derived directly from the hReview vocabulary.
    • 2013: By 2013, Google started recommending Microdata markup. Their documentation still referred to the hReview vocabulary, and recommended all three formats: Microformats, RDFa and Microdata.
    • 2015: In 2015, Google launched the schema.org vocabulary for reviews. Their documentation finally dropped the mention of Microformats, and instead recommended using Microdata or RDFa. At the same time, the schema.org FAQ went all-in on Microdata, specifically recommending Microdata over RDFa and Microformats. (see below)
    • 2016: By February, Google finally launched JSON-LD support for review snippets. Around this time, the Schema.org FAQ was updated to recommend JSON-LD over their previous recommendation of Microdata. (see below)

    Here is the Schema.org FAQ from 2014 compared to 2016, where they answer "Why Microdata? Why not RDFa or Microformats?":

    schema.org FAQ 2014
    schema.org FAQ 2016

    Why this Matters

    The pattern that is particularly concerning to me when choosing a format to publish my reviews in, is that the formats that Google invented on their own have changed the most often. Over the years, Google has gone from recommending uploading a text file, to parsing RDFa with a slightly modified Microformats vocabulary, to going all-in on Microdata, to then replacing Microdata with JSON-LD and the new Schema.org vocabulary. In the mean time, the Microformats hReview vocabulary hasn't changed, and has continued to be parsed by Google since it is so widely deployed. It would seem there is some advantage to using a format that was developed externally from Google, since they are unable to simply turn their backs on it and replace it with a new format whenever they want.

    For this reason, I'm sticking with publishing the Microformats 1 hReview markup for my reviews.

    Sticking with hReview

    Here is a minimal example of a Microformats 1 hReview.

    <div class="hreview"> <div class="item"> <a href="https://amazon.com/dp/B012B7S46Q/?tag=aaronpk-20" class="url fn">Bose Solo 15 Sound System</a> </div> <div class="rating"><span class="value">2</span> out of <span class="best">5</span></div> <p class="summary">Bluetooth works great, sound leaves something to be desired</p> <div>Review by <span class="reviewer"><a href="https://aaronparecki.com/" class="url fn">Aaron Parecki</a></span></div> <p class="description">I was optimistic about this item at first given my experience with the BOSE SoundLink Mini Bluetooth speaker which has excellent audio quality and bass for its size. However, I was disappointed by this device. The bass wasn't as rich as I had hoped, and it didn't fill the room like I had hoped. It sounds very mono-directional compared to other sound bars which have speakers on the ends to simulate surround sound better.</p> </div>

    You can copy and paste this into Google's Structured Data Testing Tool to confirm that Google still parses it.

    Once Google indexes the page, here's how it appears in search results!

    In my experience, submitting a URL through their Fetch as Google tool and submitting it for indexing would cause it to appear in search results within minutes!

    Portland, Oregon
    Sat, Dec 17, 2016 11:16am -08:00 #microformats #google #reviews #schemaorg #microdata #longevity
    3 likes 3 reposts 1 bookmark 12 replies 6 mentions
    • Anonymous
    • ᛚᛖᛁᚠ Warner
    • Joe Crawford
    • Michael Shook
    • Kevin Marks
    • Jim Pick
    • Chris Aldrich
    • ˗ˏˋ Doug Belshaw ˎˊ˗ 🇪🇺☠️✊: fosstodon.org/@dajbelshaw

      @petermolnar Commenting on someone else's website by logging into your own site is barely intuitive for *me* never mind anyone else.

      As I've said before, it feels like a bunch of guys in their 40s and 50s trying to rewind time.

      Actually, this conversation has solidified my position, so thanks! 😅

      Sun, Nov 22, 2020 9:53am -08:00 (via brid-gy.appspot.com)
    • Peter Molnar mastodon.social/@petermolnar

      @dajbelshaw

      User workflow? Would you please give an example?

      cc @kev

      Sun, Nov 22, 2020 9:51am -08:00 (via brid-gy.appspot.com)
    • ˗ˏˋ Doug Belshaw ˎˊ˗ 🇪🇺☠️✊: fosstodon.org/@dajbelshaw

      @petermolnar @kev The plugins aren't high maintenance, especially if you have them on 'auto-upgrade', it's the user workflow that's high maintenance...

      Sun, Nov 22, 2020 9:38am -08:00 (via brid-gy.appspot.com)
    • nystudio107 twitter.com/nystudio107
      When I think of "simple, reusable markup" it's JSON-LD, and not microformats, FWIW It's simple, highly reusable, and also unlike microformats, also scales, is highly readable, lacks the bidirectional fragility of microformats, and can easily be generated programmatically
      Wed, Jan 22, 2020 4:47pm +00:00 (via brid-gy.appspot.com)
    • Aaron Parecki twitter.com/aaronpk
      Frankly "linked data" is not a priority for me. There's plenty of useful structured data that is not LD, and tbh most developers who use JSON-LD don't even know about the LD part, they just copy the examples and wonder why they have "@context" everywhere
      Wed, Jan 22, 2020 4:43pm +00:00 (via brid-gy.appspot.com)
    • Kevin Marks twitter.com/kevinmarks
      I don't care about SEO, I care about simple, reusable markup with actual user needs and usecases. Hence h-feed and microformats, not custom cruft for each silo kevinmarks.com/partialsilos.h…
      Wed, Jan 22, 2020 4:42pm +00:00 (via brid-gy.appspot.com)
    • nystudio107 twitter.com/nystudio107
      JSON-LD is the way. 😀
      Wed, Jan 22, 2020 4:41pm +00:00 (via brid-gy.appspot.com)
    • Aaron Bradley twitter.com/aaranged
      What Google sayx. And Bing. And Yahoo. And Yandex. But if all you care about is SEO by all means use what you perceive as the flavor of the day. But if you also care about a robust, developer-friendly, serialization format for linked data then JSON-LD is there for you.
      Wed, Jan 22, 2020 4:39pm +00:00 (via brid-gy.appspot.com)
    • Aaron Parecki aaronparecki.com
      If all you care about is SEO then do whatever Google says to do this year and you're fine. Today that's JSON-LD, tomorrow it's ???? I need to update this chart for 2020 but as we see, history keeps repeating itself. https://aaronparecki.com/2016/12/17/8/owning-my-reviews#historical-recommendations
      Wed, Jan 22, 2020 8:35am -08:00
    • Aaron Parecki aaronparecki.com
      You'd probably get a kick out of this https://aaronparecki.com/2016/12/17/8/owning-my-reviews
      Sat, Aug 4, 2018 3:24pm -07:00
    • Aaron Bradley www.seoskeptic.com
      I appreciate the reference and your thoughts, but fundamentally disagree about the continued utility of employing microformats.
      Thu, Mar 23, 2017 3:16pm +00:00 (via brid-gy.appspot.com)
    • Aaron Parecki aaronparecki.com
      @aaranged I did some research into the historical recommended markup from Google, with interesting results: https://aaronparecki.com/2016/12/17/8/owning-my-reviews
      Thu, Mar 23, 2017 8:14am -07:00

    Other Mentions

    • Peter Molnar petermolnar.net
      Refactoring my static generator
      Mon, Jun 1, 2020 8:30am +01:00
    • Tantek Çelik tantek.com
      15 years ago @KevinMarks & I introduced #microformats @oreillymedia ETech 2004 real world semantics, before #RDFa #microdata etc., with <15k #HTMLFirst+inline #CSS+#JS: tantek.com/presentations/2004etech/realworldsemanticspres.html (faster than JS-only)

      Previously: https://twitter.com/t/status/433494367601717248

      Since then:
      * drop the (X), just HTML
      * meta tags still web alchemy, even more bloated DRY rot
      * h-entry superceded hAtom/hentry/rel="bookmark" - microformats.org/wiki/h-entry
      * recommendations: hReview still more reliable than anything from Google (https://aaronparecki.com/2016/12/17/8/owning-my-reviews). Use h-review today microformats.org/wiki/h-review
      * syndication: h-feed publishing/consuming growing rapidly. microformats.org/wiki/h-feed
      * music playlists still unsolved for any cross-site/service use-cases

      Blogged 15 years ago:
      * tantek.com/log/2004/02.html#d12t0012
      Wed, Feb 13, 2019 12:29am -08:00
    • gRegor Morrill gregorlove.com
      Recap of An Introduction to Microformats
      Fri, Nov 9, 2018 8:43am -08:00
    • Nils Norman Haukås nilsnh.no
      So, you have microdata, RDFa and JSON-LD available for marking up your site as structured data. 💭 It's interesting to read how they shift over time. Source: aaronparecki.com/2016/12/17/8/o…
      Sat, Aug 4, 2018 2:39pm +00:00 (via brid-gy.appspot.com)
    • Marty McGuire martymcgui.re

      Great write-up by Aaron Parecki about web reviews, the dangers of letting individual companies control standards.

      https://aaronparecki.com/2016/12/17/8/owning-my-reviews

      Sat, Dec 17, 2016 2:44pm -05:00
    • Ianforrester
      A better way to review books online?
      Sat, Aug 29, 2020 2:49pm -08:00 (via cubicgarden.com)
Posted in /articles using quill.p3k.io

Hi, I'm Aaron Parecki, Director of Identity Standards at Okta, and co-founder of IndieWebCamp. I maintain oauth.net, write and consult about OAuth, and participate in the OAuth Working Group at the IETF. I also help people learn about video production and livestreaming. (detailed bio)

I've been tracking my location since 2008 and I wrote 100 songs in 100 days. I've spoken at conferences around the world about owning your data, OAuth, quantified self, and explained why R is a vowel. Read more.

  • Director of Identity Standards at Okta
  • IndieWebCamp Founder
  • OAuth WG Editor
  • OpenID Board Member

  • 🎥 YouTube Tutorials and Reviews
  • 🏠 We're building a triplex!
  • ⭐️ Life Stack
  • ⚙️ Home Automation
  • All
  • Articles
  • Bookmarks
  • Notes
  • Photos
  • Replies
  • Reviews
  • Trips
  • Videos
  • Contact
© 1999-2025 by Aaron Parecki. Powered by p3k. This site supports Webmention.
Except where otherwise noted, text content on this site is licensed under a Creative Commons Attribution 3.0 License.
IndieWebCamp Microformats Webmention W3C HTML5 Creative Commons
WeChat ID
aaronpk_tv