Discourse Events

Die Discourse Calendar / Events Upcoming Events-Routen scheinen alle Open Graph- und Twitter-Card-Metadaten aus der initialen serverseitig gerenderten HTML-Antwort auszublenden.

Dies lässt sich auf einer gehosteten Discourse-Instanz reproduzieren, auf der normale Seiten korrekt Social-Metadaten ausgeben und ein gültiges site-OpenGraph-Bild konfiguriert ist.

Beispiel für eine betroffene Route:

https://www.mbacommons.com/upcoming-events/month/2026/8/1

Schritte zur Reproduktion

  1. Konfiguriere ein gültiges site-OpenGraph-Bild.
  2. Bestätige, dass die Startseite oder ein normales Thema normale Open Graph-Metadaten im rohen HTML ausgibt.
  3. Öffne /upcoming-events/month/2026/8/1.
  4. Prüfe den rohen view-source:-Code bzw. die initiale Serverantwort, nicht das nach dem JavaScript-Laden generierte DOM.

Tatsächliches Ergebnis

Die Upcoming Events-Route gibt HTTP 200 zurück, aber das rohe HTML enthält:

  • kein og:image
  • kein og:title
  • kein og:description
  • kein og:url
  • kein twitter:card
  • kein twitter:image

Ich habe auch mit LinkedInBot/1.0 getestet; das Ergebnis ist identisch.

Eine Produktionsprüfung des rohen HTMLs auf derselben Instanz ergab:

  • Startseite: 11 Social-Metadaten-Tags
  • Normales Thema: 14
  • Upcoming Events: 0

Die Startseite und normale Themen verwenden korrekt das konfigurierte site-OpenGraph-Bild, sodass die site-weite Branding-Konfiguration selbst funktioniert.

Erwartetes Ergebnis

Upcoming Events-Routen sollten crawler-sichtbare, serverseitig gerenderte Social-Metadaten ausgeben, einschließlich mindestens:

  • og:title
  • og:description
  • og:url
  • og:image, mit Fallback auf das konfigurierte site-OpenGraph-Bild
  • Entsprechende Twitter-Card-Metadaten

Dies muss im initialen HTML enthalten sein, da LinkedIn und ähnliche Social-Crawler nicht auf clientseitiges Theme-JavaScript vertrauen können.

Der LinkedIn Post Inspector meldet derzeit:

Fügen Sie dem Seite ein og:image-Tag hinzu, um die Bildanzeige des Inhalts auf LinkedIn zu steuern.

Eine globale Theme-head_tag-Injektion scheint nicht angebracht, da normale Seiten bereits korrekte Metadaten haben und dies zu doppelnden oder widersprüchlichen Tags führen könnte. Dies erfordert offenbar eine route-spezifische serverseitige Behandlung für Upcoming Events oder die Nutzung des normalen Social-Metadaten-Rendering-Pfads von Discourse.

2 „Gefällt mir“