Configurazione e risoluzione dei problemi dei onebox

:bookmark: Questa guida spiega come configurare e risolvere i problemi relativi alle onebox in Discourse. Copre le impostazioni di amministrazione, il funzionamento delle onebox e i passaggi per risolvere i problemi comuni.

:person_raising_hand: Livello utente richiesto: Amministratore

Le onebox sono anteprime di link ricche che gli utenti possono creare nei loro post. Sebbene gli utenti possano generare facilmente queste anteprime, gli amministratori del sito hanno controlli aggiuntivi e potrebbero dover risolvere i problemi quando i link non vengono visualizzati come previsto.

Configurazione amministrativa

Per gestire le impostazioni delle onebox:

  1. Vai al pannello di amministrazione
  2. Naviga alla sezione delle impostazioni del sito
  3. Cerca “onebox”

Vedrai un elenco di impostazioni relative alle onebox:

Alcune impostazioni degne di nota includono:

  • post onebox maxlength: Controlla la quantitĂ  di testo inclusa in una onebox
  • enable inline onebox on all domains: Abilita le onebox inline, convertendo gli URL semplici in titoli collegati (ad esempio, https://en.wikipedia.org/wiki/Fun_(band) diventa “Fun (band) - Wikipedia”)
  • blocked onebox domains: Ti consente di disabilitare le onebox per domini specifici

Come funzionano le onebox

Quando un link è incluso in un post, Discourse visita la pagina di destinazione e cerca i tag Open Graph o oEmbed, inclusi:

  • Indirizzo del sito
  • Titolo
  • Immagine in primo piano
  • Icona del sito (o favicon)
  • Descrizione (obbligatoria)
  • Prezzo del prodotto (se pertinente)

:warning: Discourse richiede che il tag di descrizione sia presente e contenga testo sufficiente per riassumere la pagina. Senza questo, il link di destinazione non verrĂ  convertito in onebox.

Ecco un esempio di onebox per https://discourse.org/ che mostra il titolo del sito, l’immagine in primo piano, l’icona e la descrizione:

Risoluzione dei problemi

Se le onebox non funzionano come previsto, prova questi passaggi:

  1. Testa il sito utilizzando iFramely:

    • Incolla il link e verifica che stia utilizzando i meta tag OpenGraph o oEmbed corretti
    • Assicurati che il testo della descrizione sia presente e adeguato
  2. Verifica se la richiesta di onebox viene bloccata:

    • Alcuni host potrebbero bloccare gli user agent “sconosciuti”
    • Verifica che il sito di destinazione non stia bloccando lo user agent di Discourse
  3. Per i link interni che non vengono visualizzati come onebox:

    • Assicurati che il link non sia in una categoria protetta
    • I link interni vengono convertiti in onebox solo nelle categorie pubbliche o all’interno della stessa categoria per motivi di sicurezza

Dalla console rails è possibile invalidare/recuperare esplicitamente le onebox chiamando i metodi durante il test eseguendo:

[1] pry(main)=> Oneboxer.invalidate(url)
=> 0

[2] pry(main)=> Oneboxer.onebox(url)
=> "…<aside class=\"onebox …(omesso)"

[3] pry(main)=> InlineOneboxer.invalidate(url)
=> 0

[4] pry(main)=> InlineOneboxer.onebox(url)
=> "…<aside class=\"onebox …(omesso)"

Risorse aggiuntive

2 Mi Piace

Questa è una buona risorsa ma sembra essere carente

L’ho fatto e ha restituito una casella, era leggera di contenuti ma sembrava comunque migliore di un semplice link URL

Supponendo che la leggerezza di contenuti sia il problema per cui non viene visualizzata una casella sul mio sito in base al mancato rispetto di questo requisito, cosa si può fare?

Non vedo un’impostazione per visualizzare in una casella i siti che non hanno abbastanza contenuti, quindi è possibile contattare un amministratore del sito per apportare una modifica da parte sua, se sì, cosa bisogna chiedere?

Come aiuta a risolvere il problema della mancata visualizzazione in una casella?

2 Mi Piace