OpenGraph还是Schema.org?

86

想知道你们是否喜欢使用 OpenGraph 协议进行标记,例如:

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

或者使用Schema.org协议

<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">

我应该集成哪个,因为我认为只有一个是必要的?[实际上您是否只能集成一个或?]

老实说,在我看来 - 我认为OpenGraph对于整个代码库来说“ less intrusive ”- 因为它更容易实现Partial Views [使用ASP.NET MVC],而Schema.org协议需要在您的代码中添加[至少在我看来]破坏性的HTML插件?

编辑:似乎我最终集成了两者 - 不确定是否允许,但是Schema.org上的文档不清楚。值得注意的是,此链接未提供太多信息

问:schema.org与Facebook Open Graph有何关系?
Facebook Open Graph很好地完成了其工作,但是它 并没有为搜索引擎提供所需的详细信息以 提高用户体验。
单个网页可能有许多组件,并且 它可能会谈论多个主题。 如果搜索引擎了解页面的各个组件,我们可以 改善数据的呈现方式。 即使您使用 Facebook Open Graph协议标记内容, schema.org也提供了一种机制,用于 提供有关页面上特定实体的更多详细信息。例如,一个 关于乐队的页面可以包括以下任何一项或 所有以下内容:

  • 专辑列表
  • 每张专辑的价格
  • 每个专辑的歌曲列表,以及听取每首歌曲样本的链接
  • 乐队成员的传记

所以我认为它们是兼容的。


我们的网站使用OG和微格式。虽然我目前正在从微格式迁移到schema.org,但我们肯定也会保留OG标签。 - David Harkness
1
"Schema.org协议不需要破坏性的HTML插件" - 这是不正确的,可以查阅JSON-LD。 - BlueRaja - Danny Pflughoeft
8个回答

89

所以,先来说几个陈词滥调和扭曲的比喻-比较起OG和Schema.org有点像是比较苹果和橙子,在涉及元数据方面,要根据不同需求采用不同方法。

正确的答案取决于您为网页添加元数据的意图。您希望获得什么?对于稍微不同的目的,有不同形式的元数据。

谷歌已经明确表示它正在放弃对微格式的关注,转而关注于Schema.org,以建立搜索结果的丰富数据。如果您想优化Google、Bing和其他搜索引擎的排名,请添加Schema.org标记。这是HTML5的方向。

如果您想将内容转化为社交对象并使其与Facebook宇宙中的社交图形多点连接,则应添加Facebook OG标记。

根据我的经验,大多数人都希望从两种方法中受益-在搜索排名中表现尽可能好,并通过社交渠道增加影响力和分发量。因此,我认为最好尽可能全面地添加Schema.org标记,适合自己的内容并使用Open Graph元数据。它们执行略有不同但互补的功能。


10
我刚刚在我的产品页面中添加了 schema.org 的信息,但它们已经有了针对 Facebook/Pinterest 的 og:image 行。当我在 Google 的富媒体片段测试工具中测试结果时,它只识别了 og:image。Google 只使用页面上找到的一个协议吗? - Rodolfo

31
我们在这里谈论两个不同的概念:语法和词汇。 Open Graph ProtocolSchema.org是词汇。其他词汇包括Dublin CoreFOAFSIOC
这些词汇通常不与特定的语法耦合。如果您想使用这样的词汇在HTML文档中描述您的内容,则可以使用RDFa和/或Microdata等语法。
“我应该集成哪一个?因为我认为只需要1个?”
你的第一个例子使用了Open Graph Protocol(=词汇表)与RDFa(=语法)。你的第二个例子使用了Schema.org(=词汇表)与Microdata(=语法)。
你可以按照自己的喜好混合使用它们。(你可以在同一页上同时使用两种词汇表和两种语法。你可以在同一页上只使用一种语法或只使用一种词汇表。...)。这完全取决于你特定的用例。
你想要实现什么?如果你对某个特定的第三方解析你的内容感兴趣,你应该查看他们的文档。他们通常只支持某些词汇表和某些语法。
如果您想使用语义元数据标记您的内容,但没有特定的用例,请使用一种语法并使用适合您内容的词汇表。个人而言,我会选择RDFa(Lite)。它基于RDF,也可以与HTML以外的其他格式一起使用。它是W3C推荐的(Microdata不是)。大多数词汇表都定义在RDF(S)中。有关RDFa和Microdata的未来,请参见我的答案。

13

如果您想要标记您的网站以适应社交媒体(Facebook)或搜索引擎,那就看情况而定。两者都建议使用,但是如果您只有时间做其中一个,则优先考虑公司的营销重点。OGP对于Facebook非常重要,但在SEO方面毫无用处。 SEO完全依赖于微数据,并且是正确创建HTML5的方法。

HTML5Doctor 关于微数据的文章: http://html5doctor.com/microdata/

Google 对于标记语言的讨论: http://www.google.com/support/webmasters/bin/answer.py?answer=1211158

Bing 对于标记语言的讨论: http://onlinehelp.microsoft.com/en-us/bing/hh207238.aspx


更新:

对于任何找到这篇答案的人,自我发布后已经发生了很多变化。 Schema.org被所有主要搜索引擎广泛使用,但是现在优先选择标记语言,不再使用JSON-LD。来自SEO Skeptic的精彩文章概述了Google所做出的更改。

Google 结构化数据 提供JSON-LD文档,并且极力推荐使用,尽管RDFa和微数据仍然部分支持。

应与您尝试针对Facebook的OGP、Twitter Cards等社交渠道一起使用JSON-LD。


由于Facebook与必应地图相连,认为OGP将变得过时是一个安全的假设。这是一个很大的逻辑飞跃。Facebook仍然非常独立于Bing和微软。 - mahemoff
1
这是在一个方向似乎不同的时候。感谢您让我重新关注它。 - Matthew Sprankle

12

它们都可以安全地一起使用。目前,这两种方法在HTML中编码数据使用不同的语法(W3C RDFa或Microdata),但是W3C正在积极讨论最终将这些设计融合在一起以达到更高的兼容性。至少会有更高的兼容性。是否也会在Schema.org和OGP之间以及同时使用两者的服务之间在词汇级别上实现融合,还有待观察。但在此期间,它们都可以增加价值并且可以安全地组合使用。


3
谷歌确实偏爱架构,而对于与社交媒体相关的网络内容,开放图形更好。您的示例代码看起来不错,但不要忘记包含前缀。
<html prefix="og: http://ogp.me/ns#">

在每个具有ogp的页面头部,您可以使用富媒体片段测试工具检查ogp或模式是否有效。

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

在Schema的情况下,您可以使用SDTT(Structured Data Testing Tool)进行检查。

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


2
为什么不使用json-ld进行标记?我在考虑实现基于json-ld的schema.org标记。这样它就不会很突兀。我的ghost博客正在使用它。不知道搜索引擎是否已经完全支持。但是,现在schema.org上的所有示例都包括了json-ld的实现。 请查看此处 http://schema.org/WebPage 而且,我所有的应用程序都使用twitter cards、fb opengraph标签和microformats标签,比如rel和结构化schema.org元数据。我发现实现schema.org元数据最为突兀。因此,用json-ld替换最后一部分并保持代码简洁是不错的选择。标签太多,建议将html保持小巧;)

0

RDFa是一种统一的方式,通过REST更好地识别内容,以便在创建时未预测到的容器中嵌入。如果容器被预定为搜索结果,则schema.org微数据可以被搜索机器人很好地理解。使用og时,容器发布者负责呈现,这种质量自由可能会提高搜索排名,而schema.org将提高搜索结果在内容创建者意图上下文中的可理解性。当与竞争的语义标记技术一起使用时,通常会忽略词汇表,因此最好仅使用带有schema.org的microdata和带有RDFa的og。microdata和RDFa可以共存于同一文档中。


-1

rdfa(opengraph)和microdata(schema)不能在同一HTML页面上使用

“3)我们将继续支持现有的丰富片段标记格式。如果您已经在页面上使用了微格式或RDFa进行标记,我们将继续支持它。需要注意的一个警告是:虽然可以使用新的schema.org标记或继续使用现有的微格式或RDFa标记,但应避免在同一网页上混合使用这些格式,因为这可能会使我们的解析器混淆。”

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接