Jede Seite trägt einen einzigen JSON-LD-Block mit einem Graph, dessen Knoten über stabile Kennungen aufeinander verweisen: Die Seite gehört zur Website, der Artikel hat einen Autor, der Autor arbeitet für eine Organisation, die Organisation hat Prof…
Strukturierte Daten und Maschinenformate im SEO CMS
Dieser Bereich umfasst alles, was nicht für Leser gemacht ist, sondern für Systeme: strukturierte Daten, Vorschauangaben, Verzeichnisdateien und Feeds. Es ist der Teil, den man am wenigsten sieht und am schnellsten falsch macht.
Ein Graph statt loser Schnipsel
Jede erzeugte Seite trägt einen einzigen JSON-LD-Block mit einem @graph, dessen Knoten über @id aufeinander verweisen: Die Seite gehört zur Website, der Artikel hat einen Autor, der Autor arbeitet für eine Organisation, die Organisation hat Profile anderswo. Fünf getrennte Blöcke würden fünf Dinge nebeneinander beschreiben – aber keinen Zusammenhang.
Was ohne Zutun entsteht
- sitemap.xml mit allen erzeugten Adressen und echten Änderungsdaten
- feed.xml als RSS mit den letzten Beiträgen
- robots.txt, abhängig vom Indexierungsschalter
- llms.txt mit Einleitung, Seitenübersicht, Lizenzhinweis und verantwortlicher Person
- Canonical, OpenGraph und Twitter-Angaben auf jeder Seite, inklusive Alternativtext für das Vorschaubild
Der Prüfstand
Die Ausgabe wurde mit dem W3C Nu HTML Checker geprüft – demselben Programm, das hinter validator.w3.org läuft. Über 103 erzeugte Seiten: keine Fehler, keine Warnungen. XML und JSON-LD sind gültig, es gibt keine leeren Werte in den strukturierten Daten. Das ist kein Selbstzweck: Ein leeres Feld im JSON-LD ist schlechter als ein fehlendes, weil es eine Angabe behauptet, die es nicht gibt.
Funktionen in Struktur
Die llms.txt fasst für Sprachmodelle zusammen, worum es auf der Website geht, welche Seiten zentral sind, unter welchen Bedingungen zitiert werden darf und wer redaktionell verantwortlich ist. Sie ist ein Vorschlag der Gemeinschaft und kein verabsch…
Jede Seite bekommt Canonical, vollständige OpenGraph-Angaben inklusive Alternativtext für das Vorschaubild, Twitter-Angaben und bei Beiträgen die article-Felder mit Zeitzone. Der Markenzusatz im Titel wird nur angehängt, wenn der Titel dadurch nicht…
Die sitemap.xml entsteht bei jedem Build und enthält alle erzeugten Adressen mit Änderungsdatum, Änderungshäufigkeit und Priorität. Das Änderungsdatum bezieht sich auf den Inhalt, nicht auf den Bauvorgang – wer bei jedem Lauf das aktuelle Datum eint…
Die zuletzt veröffentlichten Beiträge stehen als RSS unter /blog/feed.xml bereit, verwiesen aus dem Kopfbereich jeder Seite. Feeds gelten als überholt, sind es aber nicht: Sie sind der einfachste Weg, andere Systeme über Neuigkeiten zu informieren, …
Die robots.txt wird bei jedem Build neu geschrieben und richtet sich nach dem Indexierungsschalter des Mandanten: Solange er aus ist, steht dort Disallow für alles. Zusätzliche Zeilen und eine Liste ausdrücklich erlaubter Bots lassen sich im Backend…
Adressen kommen ohne Dateiendung aus, HTTPS wird erzwungen, www wird entfernt, abschließende Schrägstriche werden bereinigt und Index-Duplikate werden auf die Verzeichnisadresse umgeleitet. Alles läuft über dauerhafte Weiterleitungen, sodass derselb…
Jede Unterseite trägt oben einen Pfad zurück zur Startseite und im JSON-LD dieselbe Abfolge als BreadcrumbList. Beides kommt aus derselben Quelle, kann also nicht auseinanderlaufen. Das letzte Glied bleibt ohne Verweis – ein Link auf die Seite, auf …
Wer eine Seite auf den Startbildschirm legt, sieht darunter den Namen aus dem Web-App-Manifest. Eine gemeinsame Datei für alle Mandanten führt hier zwangsläufig zum falschen Ergebnis: Ein Projekt bekommt den Namen eines anderen. Deshalb entsteht das…