Facebook a publié Open Graph en 2010 afin de permettre une meilleure pré­sen­ta­tion des sites Internet externes sur sa propre plate-forme. À cette fin, les dé­ve­lop­peurs du réseau social ont développé une tech­no­lo­gie in­té­res­sante : Open Graph (Open Graph Protocol ; OGP) trans­forme les sites Internet en objets. Cette tech­no­lo­gie aide les uti­li­sa­teurs de la plate-forme à partager des contenus de sources externes sur le réseau. Une fonc­tion­na­lité par­ti­cu­liè­re­ment in­té­res­sante pour de nombreux ex­ploi­tants de sites Internet puisque la plupart de ces derniers sou­hai­tent accroître la notoriété de leur site Internet.

D’autres réseaux comme Twitter, LinkedIn ou Xing ont suivi les traces de Facebook et ont im­plé­menté Open Graph sur leurs pla­te­formes. Ce protocole est aujourd’hui un outil essentiel dans le webdesign.

Créer un site Internet
Votre site en un éclair grâce à l'in­tel­li­gence ar­ti­fi­cielle
  • Éditeur de site intuitif avec fonctions d'IA
  • Gé­né­ra­teur d'images et de textes avec op­ti­mi­sa­tion SEO
  • Domaine, SSL et boîte email inclus

Fonc­tion­ne­ment de l’Open Graph de Facebook

Lorsqu’un uti­li­sa­teur partage un site Internet sur les réseaux sociaux, celui-ci doit ap­pa­raître d’une façon ou d’une autre sur la pla­te­forme. Une vignette et un texte d’ac­com­pag­ne­ment re­pré­sen­tant le site Internet sont en effet mis en place de manière aussi efficace que possible pour inviter les in­ter­nautes à visiter le site en question. Mais pour que le contenu de la vignette soit le plus pertinent possible, les web­de­sig­ners utilisent Open Graph.

Ils peuvent insérer des balises Open Graph dans le texte source du site Internet, et dé­ter­mi­ner ainsi la manière dont ce site doit être présenté sur les réseaux sociaux. Open Graph est donc un outil in­té­res­sant dans le domaine du marketing en ligne. Ce protocole permet aux pro­prié­taires de contenus de mieux gérer la manière dont ils partagent leurs contenus et leurs in­for­ma­tions avec les in­ter­nautes.

Les balises cor­res­pon­dantes sont placées dans l’en-tête du document HTML sous forme de meta property :

<meta property="og:title" content="Titre du site Internet tel qu’il doit apparaître sur Facebook."/>

On définit donc tout d’abord le type de balise et on lui attribue une valeur ou un contenu.

Remarque

Twitter a inventé ses propres balises. Toutefois, lorsque le robot Twitter ne trouve pas ces dernières en analysant la page, il a recours à Open Graph.

Avant de commencer à insérer les dif­fé­rentes meta pro­per­ties, on définit le vo­ca­bu­laire au moyen d’un préfixe.

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

Vient ensuite l’en-tête du document.

Les prin­ci­pales balises Open Graph

Les balises Open Graph que l’on peut placer sur un site Internet sont nom­breuses. Nous avons détaillé pour vous les prin­ci­pales ci-après. Elles doivent im­pé­ra­ti­ve­ment être placées sur tous les sites Internet destinés à être partagés sur les réseaux sociaux.

Title

Quel sera le titre affiché en cas de partage du site Internet sur les réseaux sociaux ? La balise title permet de définir un nom. Sur Facebook, elle ne doit pas dépasser les 95 ca­rac­tères. Un saut de ligne est effectué après environ 50 ca­rac­tères. Ceci impacte également la façon dont les uti­li­sa­teurs réagiront à la pré­sen­ta­tion du site.

<meta property="og:title" content="Titre du site Internet"/>

Chaque document Web dispose dans tous les cas d’une balise title qui in­ter­vient par exemple pour l’affichage dans un na­vi­ga­teur ou un moteur de recherche. En principe, il est possible de la reprendre dans la balise Open Graph, mais le protocole Facebook permet également aux ex­ploi­tants de sites Internet de définir une option plus adaptée au réseau social. Il est par exemple possible de mieux exploiter la longueur mise à dis­po­si­tion par Facebook avec une al­ter­na­tive adaptée plutôt qu’avec une balise standard qui sera également utilisée pour les moteurs de recherche. Une autre balise title permet par ailleurs d’adapter plus pré­ci­sé­ment le titre au groupe cible sur le réseau social.

Des­crip­tion

Tout comme le titre, la des­crip­tion fait déjà partie in­té­grante de tout document HTML. Une balise Open Graph ap­pro­priée permet aux web­de­sig­ners d’adapter la des­crip­tion du contenu aux réseaux sociaux. Pour ce faire, Facebook prévoit une longueur d’environ 300 ca­rac­tères. Selon le titre ou l’URL, l’espace peut également être plus court. On re­com­mande donc de limiter la longueur à 200 ca­rac­tères au maximum pour des raisons de sécurité.

<meta property="og:description" content="Description du site Internet"/>
Conseil

Con­trai­re­ment à la des­crip­tion HTML, la variante proposée par Open Graph n’est pas concernée par la SEO. Les mots-clés ne jouent donc aucun rôle.

Image

L’image constitue une autre com­po­sante de l’aperçu du site Internet avec le titre et le texte de des­crip­tion. Cette balise Open Graph permet aux ex­ploi­tants de sites Internet d’empêcher Facebook et les autres pla­te­formes de réseaux sociaux de récupérer une vignette du site plus ou moins aléa­toi­re­ment. En effet, le résultat peut être dra­ma­tique si l’image affichée est celle d’une bannière pu­bli­ci­taire plutôt que celle de l’article à pro­pre­ment parler.

<meta property="og:image" content="http://www.example.org/images/image.jpeg" />

Il est re­com­mandé de concevoir une image dédiée à cet aperçu afin de susciter le meilleur nombre de clics. Pour y parvenir, il faudra non seulement soigner le contenu de l’image, mais aussi veiller à son format. Les vignettes qui fonc­tion­nent bien sont celles qui associent un visuel à un texte. Pensez à po­si­tion­ner le texte au centre de l’image, car il arrive à Facebook de rogner les bords. Le format 1200 x 627 pixels s’avère être le format optimal. Si l’on choisit ces pa­ra­mètres, Facebook affiche l’image au-dessus du titre et de la des­crip­tion. En cas de format plus petit, l’image passe en miniature à côté du texte.

Il est possible de fournir de plus amples in­for­ma­tions à la balise image afin de garantir son bon fonc­tion­ne­ment :

<meta property="og:image" content=" http://www.example.org/images/prévisualisation.jpeg" />
<meta property="og:image:secure_url" content="https://www.example.org/images/prévisualisation.jpeg" />
<meta property="og:image:type" content="image/jpeg" />
<meta property="og:image:width" content="1200" />
<meta property="og:image:height" content="627" />
<meta property="og:image:alt" content="Une cascade tropicale" />
  • secure_url : si le site Internet impose le protocole HTTPS, vous devez pouvoir proposer une option ap­pro­priée.
  • type : dans le cas d’une image, le type de média est toujours « image ». Le format utilisé est également indiqué à cette ligne. (L’IANA a élaboré une liste de tous les types de médias uti­li­sables.)
  • width : cette entrée transmet à l’autre site Internet la largeur de l’image en pixels.
  • hight : cette entrée transmet à l’autre site Internet la hauteur de l’image en pixels.
  • alt : Il s’agit d’un texte fa­cul­ta­tif que l’on retrouve en HTML. Il tient lieu de des­crip­tion du contenu de l’image lorsque la miniature ne peut pas être affichée.

URL

La balise URL permet de définir l’adresse Web du site Internet partagé. Cela peut sembler quelque peu redondant puisque l’URL est de toute façon connue. Cependant, certains ex­ploi­tants de sites Internet disposent de plusieurs URL pour le même contenu dans le but, par exemple, de favoriser un meilleur traçage. La balise Open Graph veille à ce que le bon site Internet soit toujours mis en lien.

<meta property="og:url" content="http://www.example.org/articles/id3498/" />
Note

Facebook n’affiche pas l’URL complète dans l’aperçu, mais uni­que­ment le domaine.

Type

Le type indique la nature exacte du contenu. Les types « website », « blog » ou « article » con­vien­nent à la plupart des sites Internet. Mais il existe d’autres options :

  • website
  • article
  • blog
  • profile
  • book
  • video
    • video.movie
    • video.episode
    • video.tv_show
    • video.other
  • music
    • music.song
    • music.album
    • music.playlist
    • music.radio_station
Note

Afin de pouvoir utiliser cor­rec­te­ment le type music, Facebook doit tout d’abord valider l’ex­ploi­tant du site Internet cor­res­pon­dant. La « liste blanche » de Facebook contient toutefois en premier lieu des grandes en­tre­prises telles que Spotify.

En pratique, on peut ren­con­trer d’autres types que l’on peut trouver sur la liste de schema.org. Les types présentés dans cet article sont tous spécifiés sur le site Internet officiel d’Open Graph.

Remarque

Plusieurs types acceptent d’autres spé­ci­fi­ca­tions que vous pourrez en­re­gis­trer en tant que meta pro­per­ties spé­ci­fiques, une fois que vous aurez défini le type. Le cas d’un article est détaillé ici à titre d’exemple. D’autres spé­ci­fi­ca­tions sont dis­po­nibles pour les autres types sur le site Internet d’Open Graph.

<meta property="og:type" content="article">
<meta property="article:published_time" content="2019-04-25">
<meta property="article:section" content="Multimedia">

Dans cet exemple, le code indique donc non seulement aux réseaux sociaux que l’objet est un article, mais précise aussi quand il a été publié et dans quelle catégorie il apparaît.

Aperçu des balises Open Graph

Outre les prin­ci­pales balises Open Graph pré­sen­tées plus haut, d’autres balises peuvent être placées dans le texte source de votre site Internet. Elles per­met­tent de pousser encore plus loin l’adap­ta­tion du contenu aux réseaux sociaux.

Chaque balise Open Graph dispose d’un contenu qui doit ap­pa­raître au bon endroit sur le réseau social et doit respecter le bon format. La balise og:title requiert par exemple un ou plusieurs mots, c’est-à-dire une chaîne de ca­rac­tères. Les valeurs suivantes sont également possibles :

  • Boolean : valeurs de vérité (true, false, 1, 0)
  • DateTime : in­di­ca­tion tem­po­relle au format yyyy-mm-ddThh:mm:ss
  • Enum : ensemble d’in­di­ca­tions définies (par ex. masculin, féminin)
  • Float : nombre flottant 64 bits
  • Integer : nombre entier 32 bits
  • String : suite de ca­rac­tères Unicode
  • URL : URL fonc­tion­nelle utilisant les pro­to­coles HTTP ou HTTPS
  • Array : col­lec­tion de valeurs
Balise Des­crip­tion Contenu
og:title Titre du site Internet String
og:de­ter­mi­ner Article gram­ma­ti­cal précédant le titre Enum
og:des­crip­tion Des­crip­tion du site Internet String
og:site_name Nom du site Internet String
og:url URL canonique URL
og:locale Pays et langue String (language_TERRITORY)
og:locale:alternate Pays al­ter­na­tif Array
og:type Type de contenu String
og:image Source d’une image URL
og:image:secure_url URL sécurisée al­ter­na­tive (HTTPS) URL
og:image:type Type de média de l’image String
og:image:width Largeur en pixels Integer
og:image:height Hauteur en pixels Integer
og:image:alt Texte al­ter­na­tif de l’image String
og:audio Source d’un fichier audio URL
og:audio:secure_url URL sécurisée al­ter­na­tive (HTTPS) URL
og:audio:type Type de média du fichier audio String
og:audio:alt Texte al­ter­na­tif du fichier audio String
og:video Source d’une vidéo URL
og:video:secure_url URL sécurisée al­ter­na­tive (HTTPS) URL
og:video:type Type de média de la vidéo String
og:video:width Largeur de la vidéo en pixels Integer
og:video:height Hauteur de la vidéo en pixels Integer

Balises Open Graph con­cer­nant dif­fé­rents types d’objets :

Balise Des­crip­tion Contenu
music:duration Durée de la chanson en secondes Integer (>=1)
music:album Album de la chanson Array (music.album)
music:album:disc Disc (CD, page LP) de la chanson Integer (>=1)
music:album:track Numéro de la chanson sur l’album Integer (>=1)
music:musician Nom du com­po­si­teur Array (profile)
music:song Chanson sur l’album String (music.song)
music:song:disc Disque (CD, page LP) de la chanson Integer (>=1)
music:song:track Numéro de la chanson sur l’album Integer (>=1)
music:release_date Date de pu­bli­ca­tion de l’album DateTime
music:creator Créateur de la playlist ou de la station de radio Array (profile)
video:actor Acteur dans le film Array (profile)
video:actor:role Rôle de l’acteur String
video:director Metteur en scène du film Array (profile)
video:writer Scé­na­riste du film Array (profile)
video:duration Durée du film en secondes Integer (>=1)
video:release_date Date de pu­bli­ca­tion du film DateTime
video:tag Mots-clés sur la vidéo Array (String)
video:series Série à laquelle l’épisode ap­par­tient String (video.tv_show)
article:published_time Date de pu­bli­ca­tion de l’article DateTime
article:modified_time Dernière mo­di­fi­ca­tion de l’article DateTime
article:ex­pi­ra­tion_time Date limite de l’article DateTime
article:author Auteurs de l’article Array (profile)
article:section Catégorie de l’article String
article:tag Mots-clés con­cer­nant l’article Array (String)
book:author Auteurs du livre Array (profile)
book:isbn ISBN du livre String
book:release_date Date de pu­bli­ca­tion du livre DateTime
book:tag Mots-clés du livre Array (String)
profile:first_name Prénom de la personne String
profile:last_name Nom de la personne String
profile:username Pseu­do­nyme de la personne String
profile:gender Sexe de la personne Enum

Uti­li­sa­tion d’Open Graph : exemple de code

L’exemple suivant présente un document HTML très simple qui a été préparé pour les réseaux sociaux avec des balises Open Graph :

<!DOCTYPE html>
<html>
<html prefix="og: http://ogp.me/ns#">
<head>
<title>First Article</title>
<meta property="og:type" content="article">
<meta property="og:title" content="My first article">
<meta property="og:description" content="This is a very cool article.">
<meta property="og:site_name" content="Our Website">
<meta property="og:url" content="http://www.example.org/ogp_test.html">
<meta property="og:image" content="http://www.example.org/teddy.png">
<meta property="og:image:type" content="image/jpg" />
<meta property="og:image:width" content="1200" />
<meta property="og:image:height" content="627" />
<meta property="og:image:alt" content="A teddy bear" />
<meta property="article:published_time" content="2019-04-25">
<meta property="article:author" content="Carl">
</head>
<body>
<h1>My First Article</h1>
<p>This is a test.</p>
</body>
</html>

Dans les balises Open Graph, on spécifie le document en tant qu’article, on définit le titre, la des­crip­tion et l’URL et on propose une image adaptée. On fournit également des in­for­ma­tions sup­plé­men­taires sur l’article, mais aussi sur l’image.

Il n’est pas né­ces­saire d’attendre que quelqu’un partage le contenu pour vérifier si le code est bien compris par Facebook : avec le Sharing Debugger, Facebook propose un outil qui vérifie que le code source est exempt d’erreur et présente toutes les in­for­ma­tions col­lec­tées sous une forme préparée. L’outil montre également à quoi res­sem­blera le rendu final sur Facebook.

Pour utiliser le Debugger, il est né­ces­saire de disposer d’un compte Facebook. Toutefois, le site Internet à contrôler doit déjà être en ligne.

Aller au menu principal