Konfigurieren und Fehlerbehebung von Oneboxes

:bookmark: Dieser Leitfaden erklärt, wie Oneboxen in Discourse konfiguriert und Fehler behoben werden. Er behandelt Admin-Einstellungen, die Funktionsweise von Oneboxen und Schritte zur Behebung häufiger Probleme.

:person_raising_hand: Erforderliches Benutzerniveau: Administrator

Oneboxen sind Rich-Link-Vorschauen, die Benutzer in ihren Beiträgen erstellen können. Während Benutzer diese Vorschauen einfach generieren können, haben Website-Administratoren zusätzliche Steuerelemente und müssen möglicherweise Fehler beheben, wenn Links nicht wie erwartet angezeigt werden.

Admin-Konfiguration

So verwalten Sie Onebox-Einstellungen:

  1. Gehen Sie zum Admin-Panel
  2. Navigieren Sie zum Abschnitt Website-Einstellungen
  3. Suchen Sie nach „onebox“

Sie sehen eine Liste der Onebox-bezogenen Einstellungen:

Einige bemerkenswerte Einstellungen sind:

  • post onebox maxlength: Steuert die Textmenge, die in einer Onebox enthalten ist
  • enable inline onebox on all domains: Aktiviert Inline-Oneboxen und konvertiert einfache URLs in verlinkte Titel (z. B. wird https://en.wikipedia.org/wiki/Fun_(band) zu „Fun (band) - Wikipedia“)
  • blocked onebox domains: Ermöglicht Ihnen, Oneboxen für bestimmte Domains zu deaktivieren

Funktionsweise von Oneboxen

Wenn ein Link in einen Beitrag aufgenommen wird, besucht Discourse die Zielseite und sucht nach Open Graph oder oEmbed Tags, einschließlich:

  • Website-Adresse
  • Titel
  • Hervorgehobenes Bild
  • Website-Symbol (oder Favicon)
  • Beschreibung (obligatorisch)
  • Produktpreis (falls relevant)

:warning: Discourse benötigt das Beschreibungs-Tag und muss genügend Text enthalten, um die Seite zusammenzufassen. Ohne dies wird der Ziel-Link nicht als Onebox angezeigt.

Hier ist ein Beispiel für eine Onebox für \u003chttps://discourse.org\u003e, die den Website-Titel, das hervorgehobene Bild, das Symbol und die Beschreibung anzeigt:

Fehlerbehebung

Wenn Oneboxen nicht wie erwartet funktionieren, versuchen Sie Folgendes:

  1. Testen Sie die Website mit iFramely:

    • Fügen Sie den Link ein und prüfen Sie, ob korrekte OpenGraph- oder oEmbed-Metadaten-Tags verwendet werden
    • Stellen Sie sicher, dass der Beschreibungstext vorhanden und ausreichend ist
  2. Prüfen Sie, ob die Onebox-Anfrage blockiert wird:

    • Einige Hosts blockieren möglicherweise „unbekannte“ User-Agents
    • Stellen Sie sicher, dass die Zielwebsite den User-Agent von Discourse nicht blockiert
  3. Wenn interne Links nicht als Oneboxen angezeigt werden:

    • Stellen Sie sicher, dass sich der Link nicht in einer sicheren Kategorie befindet
    • Interne Links werden aus Sicherheitsgründen nur in öffentlichen Kategorien oder innerhalb derselben Kategorie als Onebox angezeigt

Über die Rails-Konsole können Sie Oneboxen explizit ungültig machen/abrufen, indem Sie die Methoden aufrufen, während Sie testen, indem Sie Folgendes tun:

[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.onebox(url)
=> "<aside class=\"onebox …(elided)"

Zusätzliche Ressourcen

2 „Gefällt mir“

Dies ist eine gute Ressource, scheint aber zu kurz zu greifen.

Ich habe dies getan und es wurde eine Box zurückgegeben. Sie war inhaltlich nicht sehr umfangreich, sah aber dennoch besser aus als ein einfacher URL-Link.

Angenommen, der geringe Inhalt ist das Problem, warum sie nicht in einer Box angezeigt wird, was kann getan werden?

Ich sehe keine Einstellung, um Websites, die nicht genügend Inhalt haben, in einer Box anzuzeigen. Kann dann ein Website-Administrator kontaktiert werden, um eine Änderung auf seiner Seite vorzunehmen? Wenn ja, was muss gefragt werden?

Wie hilft das, das Problem der Nicht-Anzeige in einer Box zu lösen?

2 „Gefällt mir“