我真的需要 xmlns 或前缀来使用 opengraph 元标记吗?

Do I really need xmlns or prefix to use opengraph meta tags?

http://ogp.me上建议我使用:

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

令人困惑的是,在同一页面上,他们 link 一篇关于 technical design decisions 的文章使用了这个:

<html xmlns:og="http://opengraphprotocol.org/schema/">

我查看了 facebook.comtwitter.com 和 [=22= 的来源]whosebug.com 并且都使用 Opengraph 元标记,但 none 包括任何 xmlns 或前缀声明。

什么给了?

我的回答基本上是对给定 here and here 的答案的重复。 您应该使用 prefix 属性(较新的、更推荐的方法)或 xmlns 声明(等效;较旧的 xhtml)来指定名称空间。但是,对于 Opengraph 元标记,您可以选择省略 prefix/declarations,因为 Opengraph (among others) 已被广泛认可:

RDFa users can use these prefixes without having the obligation of defining the prefixes in the HTML code

尽管如此,正如他们在我们的行业中所说的那样,显式优于隐式。最好宣布您正在使用 Opengraph 元标签,然后就使用它们,并期望阅读标签的人根据 "oh, if I ever see the 'og' prefix, it probably stands for Opengraph" 的经验推断出这一点——尽管大多数人会这样做。声明前缀的建议非常好,您应该 遵循它。原因之一是,与未来可能更流行的其他 'og' 标签相比,它将更容易区分 Opengraph 'og' 标签。

最后,您可以选择以下三种方法中的任何一种:prefixxmlns 或完全不选择任何方法,优先选择第一种。