Je migre de phpBB vers Discourse et j’ai découvert que l’implémentation OpenGraph de Discourse manque certaines balises importantes dont Facebook dépend pour un affichage correct des images.
Le Problème
Lors du partage de sujets Discourse sur Facebook, les images n’apparaissent pas dans l’aperçu du lien. Cependant, lors du partage de messages phpBB du même forum, les images s’affichent correctement.
En utilisant le Débogueur de partage de Facebook, j’ai constaté que :
phpBB inclut :
<meta property="og:image" content="https://example.com/image.jpg">
<meta property="og:image:width" content="1024">
<meta property="og:image:height" content="768">
<meta property="og:image:type" content="image/jpeg">
Discourse inclut :
<meta property="og:image" content="https://example.com/uploads/.../image.JPG" />
Le débogueur affiche correctement l’image et retourne le code HTTP 200, mais Facebook ne l’affichera pas dans l’aperçu de partage réel sans les métadonnées de dimensions et de type.
Pourquoi c’est Important
Selon la spécification du protocole OpenGraph :
La balise
og:imagepossède plusieurs propriétés structurées optionnelles, y comprisog:image:width,og:image:heightetog:image:type
Bien que celles-ci soient techniquement optionnelles, le robot d’exploration de Facebook semble les exiger ou les préférer fortement pour un affichage fiable des images. Ceci est documenté dans diverses sources et affecte le partage sur les réseaux sociaux pour toutes les communautés Discourse.
Solution Proposée
Discourse devrait ajouter automatiquement ces trois balises méta supplémentaires chaque fois que og:image est présent :
og:image:width- largeur réelle de l’image en pixelsog:image:height- hauteur réelle de l’image en pixelsog:image:type- type MIME (image/jpeg, image/png, etc.)
Étant donné que Discourse traite et optimise déjà les images, il a accès à ces informations et peut facilement les inclure dans la sortie OpenGraph.
Impact
Cela améliorerait le partage sur les réseaux sociaux pour tous les sites Discourse, rendant les liens partagés plus attrayants visuellement et augmentant l’engagement lorsque le contenu Discourse est partagé sur Facebook, LinkedIn et d’autres plateformes qui consomment les données OpenGraph.