Open Graph "article" 类型的正确实现是什么?

What is the correct implementation of the Open Graph "article" type?

我需要将 Open Graph 标签添加到博客页面。从阅读规范 (http://ogp.me/) 看来,使用 articleog:type 是可行的方法。但是,我发现规范不清楚,我不确定如何正确实现语法。

两个示例网站以不同方式实现,例如:

  1. 来自 GitHub 的示例:(https://github.com/niallkennedy/open-graph-protocol-examples/blob/master/article-utc.html)

    <head prefix="og: http://ogp.me/ns# article: http://ogp.me/ns/article#">
    <meta property="og:title" content="...">
    <meta property="og:type" content="article">
    <meta property="article:published_time" content="...">
    

    请注意 ogarticle 命名空间已注册,并且 ogarticle 用作属性。

  2. BBC 新闻文章

    <head>
    <meta property="og:title" content="...">
    <meta property="og:type" content="article">
    <meta property="og:article:author" content="...">
    

    注意没有命名空间注册,ogog:article 用作属性。

  3. 我在上面看到的一个变体,只注册了 og 命名空间并且仍然引用 og:article 作为 属性.

    <head prefix="og: http://ogp.me/ns#">
    <meta property="og:title" content="...">
    <meta property="og:type" content="article">
    <meta property="og:article:published_time" content="..">
    

选项 3 是我第一次尝试实现它时使用的。当我 运行 通过 Facebook 验证工具时,我被告知:

Objects of this type do not allow properties named 'og:article:published_time'.

目前,我选择了选项 1,虽然这有效,但我想知道最终的正确语法是什么?

查看 Facebook 开发者页面:https://developers.facebook.com/docs/reference/opengraph/object-type/article

您的示例 2 和示例 3 的格式似乎不正确。 "article" 个属性中的 None 应以 "og:"

开头

这是我的一个网站上的内容,我从 FB 调试器中没有收到任何错误:

<meta property='og:type' content='article' />
<meta property='article:author' content='https://www.facebook.com/YOUR-NAME' />
<meta property='article:publisher' content='https://www.facebook.com/YOUR-PAGE' />
<meta property='og:site_name' content='YOUR-SITE-NAME' />

这是来自 http://ogp.me/#array

的示例
<meta property="og:image" content="http://example.com/rock.jpg" />
<meta property="og:image:width" content="300" />
<meta property="og:image:height" content="300" />
<meta property="og:image" content="http://example.com/rock2.jpg" />
<meta property="og:image" content="http://example.com/rock3.jpg" />
<meta property="og:image:height" content="1000" />
you can  post this code to your blog or article header


<meta property="article:publisher" content="https://www.facebook.com/author/"/>
<meta property="article:published_time" content="2017-11-26T17:41:45+00:00" />
<meta property="article:modified_time" content="2017-11-27T00:32:23+00:00" />
<meta property="og:updated_time" content="2017-11-27T00:32:23+00:00" />

您可以使用这个杀手级的 Open Graph 文章生成器工具为您生成代码,并帮助回答您对 formatting/protocol 的任何问题。

Open Graph Generator | Article

对于 author 属性 还有一个非常有用的提示说...

Provide a URL to the author's Facebook profile or a page with open graph data of type profile.

所以您不必一定要使用 Facebook 个人资料,只要您 link 访问的页面上有 Open Graph 个人资料标签即可。如果您对 Open Graph Profile 标签感到困惑,还有一个 Profile Generator...

Open Graph Generator | Profile