Zum Inhalt

Link-Vorschauen (Teilen)

Wenn jemand einen locali-Link in einem Messenger oder sozialen Netzwerk teilt, holt der Dienst die Seite ab und zeigt eine kleine Vorschau — Titel, Kurzbeschreibung, Bild. Diese Seite erklärt, wie locali diese Vorschauen erzeugt, welche Daten dabei sichtbar werden und was beim Betrieb zu beachten ist.


Wie die Vorschauen entstehen

Vorschau-Crawler (WhatsApp, Signal, Telegram, Mastodon, Facebook …) führen kein JavaScript aus — eine reine Single-Page-App würde für jeden Link dieselbe generische Vorschau zeigen. Darum rendert der Web-Container die öffentlichen Seiten serverseitig (SSR): Der Crawler bekommt die fertige Seite mit Titel, Beschreibung, Bild und kanonischer Adresse — dieselben Daten, die auch menschliche Besucher sehen. Schlägt das Rendern fehl, wird die neutrale App-Hülle mit Standard-Tags ausgeliefert — die Vorschau wird schlichter, die App bricht nie.

Was in der Vorschau sichtbar wird

Es werden ausschließlich öffentlich sichtbare Daten ausgespielt — die Vorschau-Auflösung nutzt dieselben Sichtbarkeitsregeln wie die öffentlichen Seiten selbst:

Geteilter Link Vorschau zeigt
Organisations-Profil Name, Kurzbeschreibung (oder Auszug der Beschreibung), Logo — nur veröffentlichte Organisationen
Meldung / Termin einer Organisation Titel, Textauszug, Beitragsbild (ersatzweise das Organisations-Logo)
Ort (öffentliche Karte) Name, Kategorie und Beschreibungs-Auszug, Bild — nur veröffentlichte Orte
Offener Raum Name und Kurzbeschreibung des Raums — nie Mitglieder-Inhalte
Geschlossener Raum Bewusst neutral: nur die Standard-Vorschau des Hubs — nicht einmal der Raumname erreicht einen Crawler

Empfänger:innen, die einen Link in einen geschützten Raum öffnen, landen auf einer freundlichen Anmelde-Seite statt direkt beim Login — nach der Anmeldung geht es zum ursprünglichen Ziel weiter.


Konfiguration (optional)

Die Vorschau-Funktion läuft ohne zusätzliche Konfiguration. Zwei optionale Umgebungsvariablen des Web-Containers erlauben Feinjustierung:

Variable Zweck Standard
LOCALI_PUBLIC_WEB_URL Öffentlicher Web-Ursprung für absolute Adressen; sein Hostname wird zugleich für das serverseitige Rendern freigeschaltet Der Host-Header der Anfrage (mit https)
LOCALI_SHARE_PREVIEW_API_URL Interne API-Adresse für serverseitige Abfragen (z. B. die Sitemap) — nützlich, wenn die öffentliche API-Adresse aus dem Container-Netz nicht erreichbar ist LOCALI_API_BASE_URL
LOCALI_ALLOWED_HOSTS Zusätzliche Hostnamen (kommagetrennt), für die serverseitig gerendert werden darf

Anmeldeseite in der App-Sprache (Keycloak)

Die App sendet beim Anmelden und Registrieren die aktuelle App-Sprache als OIDC-Parameter ui_locales mit. Damit die Keycloak-Anmeldeseite dieser Sprache auch folgt, muss im Realm die Internationalisierung aktiviert sein (Realm-Einstellungen → Localization). Ist sie deaktiviert, ignoriert Keycloak den Parameter und zeigt seine Standardsprache.


Vorschauen testen — der Cache-Effekt

Messenger cachen Vorschauen aggressiv

Viele Dienste speichern die Vorschau eines Links lange zwischen — eine einmal geteilte Nachricht aktualisiert ihre Vorschau nicht, auch wenn sich die Daten längst geändert haben. Zum Testen einer Änderung daher den Link frisch in eine neue Nachricht einfügen bzw. kurz warten — oder das Vorschau-Debug-Werkzeug der jeweiligen Plattform nutzen.