Anteprima link non funzionante per un sito specifico

Ciao,

Sto gestendo un forum Discourse migrato di recente. Le belle “anteprime dei link” vengono generate correttamente per tutti i siti che ho provato, tranne questo (che è importante per noi):

Dato che non sembra funzionare nemmeno qui su Meta, mi chiedo se si tratti di un bug in Discourse o forse di qualche stranezza del sito stesso che sta causando problemi. Hai qualche indizio su cosa potrebbe essere?

Quel sito non è privato e non richiede alcun accesso. Amministro anche quel sito, quindi se c’è qualcosa che deve essere fatto lì posso provare a occuparmene.

Grazie.

Il gem onebox di Discourse richiede che i siti definiscano correttamente i tag Open Graph. Il sito nel tuo post non ha alcun tag Open Graph.

Quindi, non c’è molto che possiamo fare a riguardo. Il sito deve aggiungere i tag OG necessari affinché venga visualizzato come onebox in Discourse.

Perfetto, è esattamente quello che mi serve. Vedrò se riesco ad aggiungere quei tag. Grazie.

:thinking: Quindi ho aggiunto i tag: controlla il mio sito su iframeley

E riesco a far apparire un Onebox su WhatsApp:

Ma non su Discourse:

Mi chiedevo se potesse essere un problema di cache, ma non sembra, ho provato su diversi siti Discourse e con variazioni dell’URL…

C’è qualche altro tag richiesto da Discourse che mi sto perdendo? In un altro post qui ho letto che title e description sono gli unici obbligatori, e io li ho entrambi…

Grazie per l’aiuto.

onebox visita la pagina di destinazione e verifica la presenza di tag Open Graph o oEmbed , tra cui:

  • indirizzo del sito
  • titolo
  • immagine in evidenza
  • descrizione (obbligatoria)
  • prezzo del prodotto

:warning: Tieni presente che Discourse richiede che il tag descrizione sia presente e contenga un testo sufficiente a riassumere la pagina; altrimenti, il link di destinazione non verrà visualizzato come onebox.

Un’altra spiegazione dettagliata è disponibile su Creating rich link previews with Onebox.

Iframe avanzati

Di default, il tag <iframe> è bloccato per motivi di sicurezza, ma se proviene da una fonte altamente attendibile, un amministratore di Discourse può esplicitamente autorizzare quel dominio come destinazione per <iframe> nelle impostazioni del sito.

Ok, grazie. Ho il titolo e la descrizione. Forse è la mancanza dell’attributo og:image a far sì che Discourse non gradisca il mio sito, anche se non ho letto da nessuna parte che questo attributo sia obbligatorio.

Dovrò provare con quell’attributo, ma ho incontrato alcune difficoltà tecniche nel farlo con Hugo. Una volta risolto il problema, farò sapere qui. Grazie

Si sta rivelando difficile. Quindi ora ho l’og:image nel mio meta e, esaminando con iframeley, sembra che tutto sia a posto.

Ma ancora non riesco a far produrre a Discourse la onebox… :frowning:

Cosa potrebbe mancare?

L’immagine non è sufficiente. È necessaria anche la descrizione testuale.

Potrei star trascurando qualcosa di ovvio, ma cosa c’è di sbagliato o mancante nel mio tag meta og:description?

Niente, ma la descrizione deve esistere e deve superare un numero minimo di caratteri, dal punto di vista di Discourse.

Puoi consultare questi due link. Verso la fine del primo post nel primo link c’è un breve paragrafo su Advanced iFrames, e subito sotto l’immagine pubblicata si parla di Advanced iFrames. Verso la fine del secondo argomento (Sfide Onebox) c’è qualcosa di interessante che potresti provare… un curl - e il post fornisce il codice da utilizzare (basta sostituire il tuo URL con quello mostrato). Creating rich link previews with Onebox Onebox challenges - #9 by Stephen