Lister les commentaires Facebook rattachés à une url grâce à Open Graph

facebook-commentaires-json-php

Pour utiliser le système de commentaires de Facebook, vous avez le choix. Vous pouvez utiliser le système d’iFrame que propose Facebook cependant si vous vous intéréssez un peu au référencement naturel vous savez sans doutes que le contenu d’une Frame n’est pas indexé par les moteurs de recherche (ce qui parait logique puisque le contenu n’est pas sur votre site…).

Pour répondre à cette probélmatique, je vous propose d’utiliser Open Graph pour récupérer les commentaires associés à une url (corespondant à l’url de l’un de vos article par exemple).

Open Graph

Pour utiliser Open Graph, il vous faut utiliser cette url :

https://graph.facebook.com/comments/?ids=URL_DE_VOTRE_ARTICLE

par exemple, pour l’un de mes articles:

https://graph.facebook.com/comments/?ids=https://matthieufleitz.fr/site/article/surpasser-la-peur-de-l-echec

Si vous rentrez cette url dans votre navigateur, vous allez vous retrouvez avec une page en json avec la liste des commentaires de l’url de mon article.

Snippet PHP pour afficher les articles

<?php

$result = json_decode(file_get_contents('https://graph.facebook.com/comments/?ids='.current_url().''));

    <?php foreach($result as $res): ?>
        <?php foreach($res->comments->data as $item): ?>
<div class="com">
<h3><a href="<?php echo "https://facebook.com/".$item->from->id; ?>"><?php echo $item->from->name; ?></a></h3>
<?php echo $item->message; ?>
<p class="date"><?php echo date('d/m/Y H:i',strtotime($item->created_time));?></p>

</div>
<?php endforeach; ?>
                <?php endforeach; ?>

Explications:

On récupère le contenu JSON avec file_get_contents(), on le décode avec json_decode(). précision: j’utilise current_url() pour préciser l’url de la page en question qui est une fonction native de Code Igniter. Sachez que si vous n’utilisez pas de Framework PHP vous pouvez utiliser: $_SERVER[‘SERVER_PROTOCOL’];

On utilise ensuite deux foreachs pour afficher chaque commentaire et on affiche le tout en html en faisant un lien vers le profil Facebook de l’auteur. 😉

Conclusion:

On a donc nos commentaires Facebook directement dans la page. Leur contenu sera indexé par Google et votre referencement sera boosté par vos lecteurs. N’oubliez pas d’utiliser un système de cache pour limiter les appels à Open Graph. 😉 See you!

4 réflexions au sujet de « Lister les commentaires Facebook rattachés à une url grâce à Open Graph »

  • 16 avril 2015 à 19 h 44 min
    Permalink

    Bonjour,
    J’aimerai savoir si les commentaires sont synchronisés avec la Fan Page ?
    Merci d’avance.

    Répondre
    • 17 avril 2015 à 10 h 09 min
      Permalink

      Bonjour,

      les commentaires sont synchroniser avec n’importe quel type de page Facebook.

      Cordialement,

      Répondre
  • 11 juillet 2015 à 2 h 31 min
    Permalink

    Bonjour,
    Merci pour ce partage
    et pour l’URL c’est quoi ? il s’agit d’une page patagé sur facebook ? est ce que on peut le tester sur un post?
    est ce que on doit déclarer quelques choses au niveau de facebook developer ?

    Merci

    Répondre
    • 19 août 2015 à 10 h 13 min
      Permalink

      Non il s’agit simplement d’une page PHP/Html sur n’importe quel site. Il n’y a rien à déclarer chez Facebook Dév puisque l’API pour les commentaires est accessible en publique (au moment où j’ai écris l’article en tous cas ;)).

      Répondre

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *