Aperçu des liens ne fonctionne pas pour un site spécifique

Bonjour,

Je gère un forum Discourse récemment migré. Les « aperçus de liens » bien présentés fonctionnent correctement pour tous les sites que j’ai testés, sauf pour celui-ci (qui est important pour nous) :

Puisque cela ne semble pas fonctionner ici sur Meta non plus, je me demande s’il s’agit d’un bug dans Discourse ou peut-être simplement d’un problème étrange lié au site lui-même qui cause ces difficultés ? Auriez-vous des indices sur ce que cela pourrait être ?

Ce site n’est pas privé et ne nécessite aucune connexion. Je gère également ce site, donc s’il y a quelque chose à faire de mon côté, je peux essayer.

Merci.

Le gem onebox de Discourse exige que les sites définissent correctement les balises Open Graph. Le site mentionné dans votre message ne possède aucune balise Open Graph.

Par conséquent, nous ne pouvons pas grand-chose à ce sujet. Le site doit ajouter les balises OG nécessaires pour qu’il puisse être intégré dans Discourse.

Parfait, c’est exactement ce dont j’avais besoin. Je vais voir si je peux ajouter ces balises. Merci.

:thinking: Alors, j’ai ajouté les balises : vérifiez mon site sur iframeley

Et je parviens à afficher une Onebox sur WhatsApp :

Mais pas sur Discourse :

Je me demandais si cela pouvait être un problème de cache, mais cela ne semble pas être le cas. J’ai essayé sur différents sites Discourse et avec des variantes d’URL…

Y a-t-il une autre balise requise par Discourse que j’aurais oubliée ? Dans un autre post ici, j’ai lu que title et description sont les seules obligatoires, et je les ai toutes les deux…

Merci pour votre aide.

onebox visite la page de destination et vérifie la présence de balises Open Graph ou oEmbed , notamment :

  • l’adresse du site
  • le titre
  • l’image à la une
  • la description (obligatoire)
  • le prix du produit

:warning: Veuillez noter que Discourse exige la présence de la balise description, qui doit contenir suffisamment de texte pour résumer la page, sinon le lien cible ne sera pas encadré par un onebox.

Une autre explication détaillée est disponible sur Creating rich link previews with Onebox.

Iframes avancées

Par défaut, la balise <iframe> est bloquée pour des raisons de sécurité. Toutefois, si l’iframe provient d’une source hautement fiable, un administrateur Discourse peut explicitement autoriser ce domaine comme cible <iframe> dans les paramètres du site.

D’accord, merci. J’ai le titre et la description. Peut-être que c’est l’absence de l’attribut og:image qui pose problème à Discourse, bien que je n’aie lu nulle part que cet attribut soit obligatoire.

Je vais devoir essayer avec cet attribut, mais j’ai rencontré des difficultés techniques pour le faire avec Hugo. Une fois que j’aurai résolu cela, je reviendrai vers vous ici. Merci.

Cela s’avère difficile. J’ai donc ajouté og:image dans mes métadonnées, et en examinant avec iframeley, tout semble correct.

Mais je n’arrive toujours pas à obtenir la onebox de Discourse… :frowning:

Qu’est-ce qui pourrait manquer ?

L’image ne suffit pas. La description textuelle est également requise.

Il se peut que j’oublie quelque chose d’évident, mais qu’est-ce qui ne va pas ou manque dans ma balise meta og:description ?

Rien, mais la description doit exister et contenir un nombre minimum de caractères, du point de vue de Discourse.

Vous pouvez consulter ces deux liens. Vers la fin du premier message du premier lien, il y a un court passage sur les Advanced iFrames, et juste en dessous de l’image publiée, on trouve des informations sur les Advanced iFrames. Vers la fin du deuxième sujet (Onebox challenges), vous trouverez quelque chose d’intéressant à essayer… une commande curl - et le message fournit le code à utiliser (il suffit de remplacer votre URL par celle indiquée). Creating rich link previews with Onebox Onebox challenges - #9 by Stephen