web-dev-qa-db-fra.com

Quelle est l'implémentation correcte du type "article" Open Graph?

Je dois ajouter des balises Open Graph à une page de blog. Il semble à la lecture de la spécification ( http://ogp.me/ ) en utilisant un og:type de article est la voie à suivre. Cependant, je trouve la spécification peu claire et je ne sais pas comment implémenter correctement la syntaxe.

Par exemple, deux sites Web implémentent cela différemment:

  1. Exemple de 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="...">
    

    Notez que les espaces de noms og et article sont enregistrés et que og et article sont utilisés comme propriétés.

  2. Article de BBC News

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

    Notez l'absence d'enregistrement d'espace de noms et og et og:article sont utilisés comme propriétés.

  3. Une variation que j'ai vue dans la nature de ce qui précède, enregistrant uniquement l'espace de noms og et référençant toujours og:article en tant que propriété.

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

L'option 3 est celle que j'ai utilisée la première fois que j'ai essayé de l'implémenter. Lorsque je l'ai parcouru via l'outil de validation Facebook, on m'a dit:

Les objets de ce type n'autorisent pas les propriétés nommées "og: article: published_time".

Pour le moment, j'ai opté pour l'option 1 et bien que cela soit valide, je voudrais savoir quelle est la syntaxe correcte définitive?

20
jamieburchell

Jetez un œil à la page des développeurs Facebook: https://developers.facebook.com/docs/reference/opengraph/object-type/article

Il semble que vos exemples 2 et 3 aient une mise en forme incorrecte. Aucune des propriétés "article" ne doit commencer par "og:"

Voici ce que j'ai sur l'un de mes sites, et je ne reçois aucune erreur du débogueur 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' />
12
Greg