JSON-LD Manager ist ein REDAXO-AddOn zur Verwaltung und Ausgabe strukturierter Daten (Schema.org) für Website, Organization, LocalBusiness, WebPage, BreadcrumbList und dynamische URL-Profile.
Das AddOn bündelt die JSON-LD-Konfiguration zentral im Backend und generiert die Ausgabe konsistent für Vorschau und Frontend.
Inspiriert vom JSON-LD AddOn von Peter Wolfrum.
Das AddOn erzeugt strukturierte Daten im JSON-LD-Format für deine Website. Damit können Suchmaschinen Inhalte, Unternehmen, Standorte und einzelne Seiten besser einordnen.
Wichtig ist dabei nicht nur, dass JSON-LD vorhanden ist, sondern dass es inhaltlich sauber und nur dort ausgegeben wird, wo es wirklich passt.
Nach der Installation solltest du zuerst unter Allgemeine Angaben die Basisdaten der Website pflegen:
Organization SchemaWebSite Schema- optional
LocalBusiness
Wenn du ein lokales Unternehmen mit realem Standort hast, ist es sinnvoll, mindestens ein LocalBusiness anzulegen. Wenn es mehrere Standorte gibt, können auch mehrere Filialen gepflegt werden.
Diese Angaben sind die Grundlage für die spätere Ausgabe auf den Artikeln.
Anschließend kannst du pro Artikel festlegen, wie mit JSON-LD umgegangen werden soll.
Dort sind vor allem diese Möglichkeiten wichtig:
- Standard-Ausgabe für den Artikel verwenden
- eine bestimmte
LocalBusiness-Filiale zuordnen - eigenes Custom-JSON für einen Artikel hinterlegen
- JSON-LD für einen Artikel bewusst deaktivieren
Nicht jede Seite sollte automatisch JSON-LD ausgeben. Das ist auch aus SEO-Sicht wichtig.
Seiten können zum Beispiel bewusst ohne JSON-LD bleiben, wenn:
- sie nur sehr wenig oder wenig hilfreichen Inhalt haben
- es reine Hilfs-, Filter- oder technische Seiten sind
- die hinterlegten Schema-Daten nicht wirklich zum Seiteninhalt passen
- die Ausgabe eher unklar oder widersprüchlich wäre
Die Faustregel ist einfach: Lieber korrekt und gezielt als überall etwas ausgeben.
Unter Einstellungen legst du fest, ob die JSON-LD-Ausgabe im Frontend wirklich aktiv sein soll.
Dort sind besonders diese Punkte wichtig:
Automatische AusgabeTemplate-AuswahlCacheValidierungDebug-Modus
Vor allem die Template-Auswahl ist wichtig: Es muss mindestens ein passendes Template ausgewählt sein. Nur dann darf das AddOn die JSON-LD-Ausgabe automatisch im Frontend einbinden.
Die übrigen Optionen helfen dabei:
Cacheverbessert die PerformanceValidierungprüft die JSON-SyntaxDebug-Modushilft bei der Kontrolle während der Entwicklung
Wenn das AddOn URL installiert ist und dort mindestens ein Profil angelegt wurde, kannst du zusätzlich den Bereich Dynamische URLs nutzen.
Dort lassen sich JSON-LD-Zuordnungen für dynamische Inhalte konfigurieren, zum Beispiel für Datensätze aus YForm-Tabellen, die über URL-Profile ausgegeben werden.
Das ist optional und nicht nötig, um die normale JSON-LD-Ausgabe für Website und Artikel zu verwenden.
- REDAXO >= 5.20.0
- PHP >= 8.3
- YForm >= 5.0.1 (Datenmanagement und Formulare)
- YRewrite >= 1.12.0 (URL-Generierung und Multi-Domain-Support)
- Ohne YRewrite funktioniert das AddOn mit Standard-REDAXO URLs
- Mit YRewrite: SEO-URLs und Multi-Domain-Support
- Artikelseite mit JSON-LD-Vorschau pro Artikel
- Sprachauswahl mit persistenter Auswahl innerhalb des AddOns
- Custom JSON pro Artikel und Sprache
- JSON-LD pro Artikel deaktivierbar (pro Sprache)
- Zuordnung einer LocalBusiness-Filiale pro Artikel und Sprache
- Dynamische URL-Profile mit Schema-Mapping (wenn URL-Addon aktiv ist)
- Debug-Modus mit JSON-LD Overlay im Frontend
- Organization Schema (sprachabhängig)
- WebSite Schema (sprachabhängig)
- LocalBusiness Filialverwaltung (sprachabhängig)
- Einheitliche Generierung über
FriendsOfRedaxo\JsonLdManager\JsonLdGenerator - Sprachabhängige Ausgabe über
clang_id - Branch-spezifische LocalBusiness-Daten pro Sprache
- Ausgabe bereinigt leere Werte rekursiv (nur befüllte JSON-LD Felder)
Das AddOn ist auf Mehrsprachigkeit ausgelegt:
- Sprachbezogene Konfigurationen über
LanguageConfig - Artikel-Zuordnungen (Branch, Custom JSON, Disable-Flag) pro Sprache
- LocalBusiness-Filialen pro Sprache (
clang_id) - Sprachwahl wird im AddOn gespeichert und beim Seitenwechsel beibehalten
Das AddOn unterstützt vollständig YRewrite Multi-Domain-Installationen:
- Erkennt automatisch ob eine Multi-Domain-Installation vorliegt
- Bei nur einer Domain verhält sich das AddOn wie gewohnt
- Bei mehreren Domains wird eine Domain-Auswahl eingeblendet
- Alle Einstellungen werden getrennt pro Domain verwaltet
- Grundeinstellungen: Auto-Output, Cache, Debug-Modus etc. pro Domain
- Schema-Konfigurationen: Organization, WebSite, LocalBusiness pro Domain
- Artikel-Zuordnungen: Custom JSON, Branch-Zuweisungen etc. pro Domain
- Dynamic URLs: URL-Profile und Mappings pro Domain
- Domain-Auswahl: Dropdown-Menü zum Wechseln zwischen Domains
- Domain-Anzeige: Aktuelle Domain wird in der Kopfzeile angezeigt
- Persistente Auswahl: Gewählte Domain bleibt beim Navigieren erhalten
- Debug-Information: Frontend-Debug zeigt Domain-Information an
- Keine automatische Migration zwischen Domains
- Separate Datenbankeinträge für jede Domain
- Manuelle Zuordnung: LocalBusiness-Filialen können manuell zugeordnet werden
- Eigenständige Konfiguration: Jede Domain startet mit leeren Einstellungen
Für schreibende Backend-Aktionen wird CSRF-Schutz verwendet:
- Einstellungen
- Organization/WebSite/LocalBusiness-Speichern
- Artikelaktionen (Custom JSON speichern, JSON deaktivieren/aktivieren, Branch-Zuordnung)
- schreibende AJAX-Aktionen im AddOn
- AddOn installieren und aktivieren.
- Allgemeine Angaben (Organization/WebSite/LocalBusiness) konfigurieren.
- Artikelseite öffnen und Zuordnungen/Overrides pro Artikel setzen.
- Namespace:
FriendsOfRedaxo\JsonLdManager - Repository/Support:
https://github.com/FriendsOfREDAXO/jsonld_manager - Lizenz: MIT
Die Generierung läuft zentral über die Klassen im AddOn. Je nach Projekt-Setup wird die Ausgabe über Renderer/Template-Funktionen eingebunden.
Wenn bereits projektspezifische Template-Logik existiert, sollte die Integration dort konsistent umgesetzt werden.
Ist das URL-Addon deaktiviert oder ohne Profile, wird der Bereich "Dynamische URLs" im Backend ausgeblendet.
- Änderungen: CHANGELOG.md
- Lizenz: LICENSE.md