OpenGraph or Schema.org?

schema.orgMicrodataFacebook OpengraphRdfa

schema.org Problem Overview


Just wondering whether you guys out there are favouring the OpenGraph protocol following markup like:

<meta property="og:title" content="The Rock" />
<meta property="og:type" content="movie" />
<meta property="og:url" content="http://www.imdb.com/title/tt0117500/" />

Or the Schema.org protocol with

<div itemscope itemtype="http://schema.org/Product">
  <span itemprop="name">Kenmore White 17" Microwave</span>
  <img src="kenmore-microwave-17in.jpg" alt='Kenmore 17" Microwave' />
  <div itemprop="aggregateRating"
    itemscope itemprop="http://schema.org/AggregateRating">

Which one should I integrate as I think only 1 is necessary ? [actually can you only integrate one or ?]

Frankly, IMHO - I think OpenGraph is "less intrusive" to the total codebase - as it's easier to implement Partial Views [using ASP.NET MVC] whereas the Schema.org protocol requires [at least in my opinion] disruptive HTML add-ins across your code ?

Edit: Seems I ended up integrating both - not sure whether this is allowed but the documentation on Schema.org is unclear. Notably, this link doesn't provide much info

> Q: How does schema.org relate to Facebook Open Graph?
> Facebook Open Graph serves its purpose well, but it > doesn't provide the detailed > information search engines need to > improve the user experience.

A single > web page may have many components, and > it may talk about more than one thing. > If search engines understand the > various components of a page, we can > improve our presentation of the data. > Even if you mark up your content using > the Facebook Open Graph protocol, > schema.org provides a mechanism for > providing more detail about particular > entities on the page.
For example, a > page about a band could include any or > all of the following: >

  • A list of albums
  • A price for each album
  • A list of songs for each album, along with a link to hear samples of each song
  • A list of upcoming shows Bios of the band members

So I assume that they are compatible together.

schema.org Solutions


Solution 1 - schema.org

So, to start with a couple of cliche's and mangled metaphors - we're talking apples and oranges a bit comparing OG and Schema.org, and when it comes to this metadata it's horses for courses.

The right answer depends on your intent, in adding metadata to your page. What is it that you're hoping to gain? What is the win for you here? The different forms of metadata are for slightly different purposes.

Google has made it clear that it's moving away from a focus on microformats and onto a focus on Schema.org in order to build rich-data results for search. If you want to optimize for Google, Bing and other search engines add the Schema.org markup. It's the direction HTML5 has stepped in.

Facebook OG markup is to be added if what you want is to benefit from turning your content into a social object and enable its multi-point connectivity to the social graph that is the Facebook universe.

In my experience most people are looking to gain from both approaches - do as well as they can in search rankings and increase reach and distribution through social channels. So, IMHO, it's probably best to be as thorough as possible adding the Schema.org markup where it fits your content and use Open Graph metadata. They do slightly different, but complementary things.

Solution 2 - schema.org

We are talking about two separate concepts here: syntax and vocabulary.

The Open Graph Protocol and Schema.org are vocabularies. Other vocabularies are, for example, Dublin Core, FOAF, and SIOC.

These vocabularies are typically not coupled to a specific syntax. If you want to describe your content in HTML documents with such a vocabulary, you could use the syntaxes RDFa and/or Microdata.

> Which one should I integrate as I think only 1 is necessary ? [actually can you only integrate one or ?]

Your first example uses Open Graph Protocol (= vocabulary) with RDFa (= syntax). Your second example uses Schema.org (= vocabulary) with Microdata (= syntax).

You can mix them up as you like. (You could use both vocabularies with both syntaxes on the same page. You could use both vocabularies with only one syntax. You could use only one vocabulary with both syntaxes, or with only one syntax. …). It totally depends on your specific use case.

What do you want to achieve? If you are interested in a specific 3rd party parsing your content, you should check their documentation. They typically support only certain vocabularies with certain syntaxes.

But if you want to mark up your content with semantic metadata without having a specific use case in mind, you could stick to one syntax and use whichever vocabularies are appropriate for your content. Personally, I’d choose RDFa (Lite). It is based on RDF, which works with other formats than HTML, too. It is a W3C Recommendation (Microdata is not). And most vocabularies you’ll find are defined in RDF(S). See my answer about the future of RDFa and Microdata.

Solution 3 - schema.org

All depends if you're trying to markup your website for a social world (facebook) or search engines. Both are recommended but if you only have time for one then prioritize the company's marketing focus. OGP is huge for facebook, but does not have an ounce of use in SEO. Seo is completely reliant on micro-data and is the way for proper html5 creation.

HTML5Doctor on Microdata http://html5doctor.com/microdata/

Google talking about markup: http://www.google.com/support/webmasters/bin/answer.py?answer=1211158

Bing talking about markup: http://onlinehelp.microsoft.com/en-us/bing/hh207238.aspx


Update

For anyone finding this answer, a lot has changed since I first posted it. Schema.org is widely used by all major search engines and then some but the markup is now preferred to JSON-LD. Great article from SEO Skeptic outlining the change made by Google.

Google Structured Data provides documentation in JSON-LD and is greatly encouraged although RDFa and microdata is still partial supported.

JSON-LD should be used in conjunction with any social channels you are trying to target OGP for Facebook, Twitter Cards for Twitter, etc

Solution 4 - schema.org

They can both be used safely together. Currently the two efforts use different syntaxes to encode data in HTML (W3C RDFa or Microdata), but there are active discussions at W3C towards eventual convergence of those designs. Or greater compatibility, at least. Whether there will also be convergence at the vocabulary level between Schema.org and OGP, or services that consume both, remains to be seen. But in the meantime they both add value and can be safely combined.

Solution 5 - schema.org

Google does favor schema, and open graph is better for web content that is related to social media. Your sample code looks good, but don't forget to include the prefix

<html prefix="og: http://ogp.me/ns#">

in the head of each page that has ogp.

You can check to make sure the ogp or schema works by using the rich snippet testing tool

http://www.google.com/webmasters/tools/richsnippets

In the case of Schema, you can check by using the SDTT: Structured Data Testing Tool

https://search.google.com/structured-data/testing-tool

Solution 6 - schema.org

Why not use json-ld for markup? I'm thinking of implementing json-ld based schema.org markup. That way it'll not be intrusive. My ghost blog uses it. Don't know if it's well supported by search engines yet. But all examples on schema.org now includes implementation for json-ld. see here http://schema.org/WebPage

And all my apps use twitter cards, fb opengraph tags and microformats tags like rel and structured schema.org metadata. And I find implementing schema.org metadata most instrusive. So replacing this last bit with json-ld and keeping code clean is nice. Too many tags and it's recommended to keep your html small ;)

Solution 7 - schema.org

RDFa og serves as uniform way to recognize content better by REST for consideration when embedding within containers not predicted at the time of creation. If the container is predetermined as search results, then schema.org microdata is well-understood by search bots. With og presentation is responsibility of container publisher & such quality freedom might improvise search ranking, while schema.org will improvise search result comprehensibility in the context of content creator's intent. The vocabularies usually are ignored when used with the competing semantic markup technique so best to use microdata with schema.org only and og with RDFa only. Both microdata and RDFa can coexist in same document.

Solution 8 - schema.org

rdfa(opengraph) and microdata(schema) cannot be used on same html page

"3) We’ll continue to support our existing rich snippets markup formats. If you’ve already done markup on your pages using microformats or RDFa, we’ll continue to support it. One caveat to watch out for: while it’s OK to use the new schema.org markup or continue to use existing microformats or RDFa markup, you should avoid mixing the formats together on the same web page, as this can confuse our parsers."

SRC: http://googlewebmastercentral.blogspot.in/2011/06/introducing-schemaorg-search-engines.html

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionTomView Question on Stackoverflow
Solution 1 - schema.orgRichard JordanView Answer on Stackoverflow
Solution 2 - schema.orgunorView Answer on Stackoverflow
Solution 3 - schema.orgMatthew SprankleView Answer on Stackoverflow
Solution 4 - schema.orgDan BrickleyView Answer on Stackoverflow
Solution 5 - schema.orgCynthia CoffieldView Answer on Stackoverflow
Solution 6 - schema.orglightsaberView Answer on Stackoverflow
Solution 7 - schema.orgChawathe Vipul SView Answer on Stackoverflow
Solution 8 - schema.orgVinodView Answer on Stackoverflow