Configurazione e risoluzione dei problemi delle 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 ricche dei collegamenti 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 collegamenti non vengono visualizzati come previsto.

Configurazione amministrativa

Per gestire le impostazioni delle onebox:

  1. Vai al pannello di Amministrazione
  2. Naviga nella sezione Impostazioni del sito
  3. Cerca “onebox”

Vedrai un elenco di impostazioni relative alle onebox:

Alcune impostazioni notevoli includono:

  • post onebox maxlength: Controlla la quantitĂ  di testo inclusa in una onebox
  • max oneboxes per post: Limita il numero di onebox che possono apparire in un singolo post (predefinito: 50)
  • enable inline onebox on all domains: Abilita le onebox inline su tutti i domini, convertendo gli URL semplici in titoli collegati (ad esempio, https://en.wikipedia.org/wiki/Fun_(band) diventa “Fun (band) - Wikipedia”). Questa opzione è abilitata per impostazione predefinita.
  • blocked onebox domains: Consente di disabilitare le onebox per domini specifici
  • block onebox on redirect: Se abilitato, impedisce la creazione di onebox per URL che reindirizzano a una destinazione diversa

Come funzionano le onebox

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

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

:warning: Discourse richiede che il tag descrizione sia presente e contenga testo sufficiente per riassumere la pagina. Senza questo, il collegamento di destinazione non genererĂ  una onebox.

Ecco un esempio di onebox per https://discourse.org che mostra il titolo del sito, l’immagine in evidenza, 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 collegamento e verifica se vengono utilizzati i corretti tag meta OpenGraph o oEmbed
    • Assicurati che il testo della descrizione sia presente e adeguato
  2. Controlla se la richiesta della onebox viene bloccata:

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

    • Assicurati che il collegamento non si trovi in una categoria sicura
    • I collegamenti interni generano onebox solo nelle categorie pubbliche o all’interno della stessa categoria per motivi di sicurezza

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

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

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

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

[4] pry(main)> InlineOneboxer.lookup(url)
=> {url: "https://example.com", title: "Example Page Title"}

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