Open Graph namespace declaration: HTML with XMLNS or head prefix?

Matt Beckman picture Matt Beckman · Nov 23, 2011 · Viewed 53.2k times · Source

I have seen conflicting information on how to best implement Open Graph namespaces. Specifically, the Open Graph website uses a few different methods, and the Facebook Open Graph examples use other methods.

Open Graph website example (using HTML prefix attribute):

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

Open Graph website source code (using HTML XMLNS attribute):

<html xmlns="http://www.w3.org/1999/xhtml" xmlns:og="http://ogp.me/ns#">

Facebook Open Graph documentation (using HEAD prefix attribute):

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

Facebook Open Graph documentation #2 (using HTML XMLNS attribute):

<html xmlns="http://www.w3.org/1999/xhtml" xmlns:og="http://ogp.me/ns#" 
      xmlns:fb="https://www.facebook.com/2008/fbml">

What is the recommended method or does it not even matter?

Answer

Paul Tarjan picture Paul Tarjan · Nov 23, 2011

They are all equivalent and will all work.

Use prefix as it is the new recommended way and is fewer characters.

I'll get all our documentation updated to prefix.