System-Fallstudie · Unter zwei Schul-Websites gebaut
Das SEO-Problem brauchte Software.
KayJays und Kiakademie arbeiteten mit gegensätzlichen Publishing-Modellen und kamen beim selben Fehler an: Kursinformationen wurden in Seiten geschrieben, statt als Daten gepflegt. Ich habe das WordPress-System unter beiden Projekten entworfen, damit eine Quelle Menschen, Crawler und Antwortmaschinen versorgt.
Beide Schulen hatten einen für Menschen lesbaren Stundenplan. Keine hatte eine verlässliche Quelle für Kursdaten, die Website, Suchmaschinen und spätere Publishing-Oberflächen gemeinsam nutzen konnten.
KIAKADEMIE
Ein lesbarer Stundenplan, den Crawler nicht sehen.
Der gesamte Stundenplan liegt in der selbst gehosteten PHP-Anwendung Kursorganizer und wird über Advanced iFrame eingebettet. Die Inhalte fehlen im Seiten-HTML und in strukturierten Daten: für Menschen vorhanden, für Crawler und Antwortmaschinen unsichtbar.
KAYJAYS
Ein handgeschriebener Stundenplan, der abweichen konnte.
Das spiegelverkehrte Problem: 26 manuell gepflegte Stundenplan-Einträge, deren Kurscodes nicht mehr mit den zugrunde liegenden Datensätzen übereinstimmten. Kursinformationen lebten im Seitentext statt in einem wiederverwendbaren Datenmodell.
STUDIO CLASSES & SCHEDULE · DAS FEHLMUSTER
Zwei Schul-Websites, dasselbe Publishing-Problem
Bei Kiakademie liegt der Stundenplan in einer eingebetteten Anwendung. Bei KayJays wurden Kursinformationen von Hand in Seiten geschrieben. Das Plugin ersetzt beide Muster durch verbundene Datensätze und eigenes Markup.
KIAKADEMIEStundenplan in einer Einbettung
<div>
<iframe src="kursorganizer…">
</iframe>
</div>
<!-- keine Kursnamen -->
<!-- keine Zeiten -->
<!-- keine Lehrkräfte -->
<!-- keine strukturierten Daten -->
Dies ist kein Vorher-Nachher-Vergleich derselben Seite. Es zeigt zwei gegensätzliche Umsetzungen desselben Problems: Informationen leben außerhalb eines gemeinsamen Datenmodells. Die Zahlen rechts stammen aus KayJays Staging.
02
Die These
Eine Regel verändert das Publishing-Modell.
„Lehrkräfte, Kurse und Stundenplan-Informationen sollten nur im Plugin eingetragen werden. Sie sollten niemals manuell auf der Website geschrieben werden.“
Vier verbundene Datentypen—Kurse, Stunden, Trainer:innen und Standorte—speisen Stundenplan, Kursseiten, Trainer:innen-Seiten und Schema aus derselben Quelle. Genau diese gemeinsame Quelle verhindert Abweichungen.
FÜR DIE VORHANDENE WEBSITE ENTWORFEN
Die Publishing-Schicht unterstützt WordPress-Blöcke und Shortcodes. Avada-Builder-Seiten können keine Blöcke aufnehmen; deshalb war die Kompatibilität mit dem bestehenden Seitensystem Teil der Architektur und kein später Kompromiss.
STUDIO CLASSES & SCHEDULE · DER MECHANISMUS
Eine Quelle, sechs Oberflächen
Vier Datentypen werden einmal gepflegt. Jede öffentliche und interne Oberfläche wird bei der Anfrage daraus erzeugt—deshalb können Stundenplan, Kursseite und strukturierte Daten nicht auseinanderlaufen.
EINMAL EINGEGEBEN
Kursdas Angebot
Stundeein wöchentlicher Termin
Trainer:inName, Foto, Profil
StandortStudio, Raum, Adresse
EIN PLUGINStudio Classes & Schedule
AUS DEN DATEN ERZEUGT
Wochenplanöffentlicher Stundenplan
KursseiteInhalte, Fakten, Zeiten
Trainer:innen-SeiteRaster und Profil
JSON-LDCourse + CourseInstance
AnwesenheitslisteAnsicht für Lehrkräfte
BestätigungsmailAnmeldebestätigung
Die Regel, die das Plugin durchsetzt: „Lehrkräfte, Kurse und Stundenplan-Informationen sollten nur im Plugin eingetragen werden. Sie sollten niemals manuell auf der Website geschrieben werden.“
STUDIO CLASSES & SCHEDULE · VERBUNDENES PUBLISHING
Einen Datensatz ändern. Jede verbundene Oberfläche folgt.
Diese Regel gilt für Kurse, Stunden, Trainer:innen und Standorte. Jeder Datensatz ist eine Quelle für mehrere Ausgaben—nicht nur ein Eintrag im Backend. Welche Ausgaben aktiv sind, richtet sich nach der jeweiligen Schule.
Das Prinzip darunter ist bei allen vier Datentypen dasselbe.
EIN DATENSATZPutri Soedarsono
Foto
Beitragsbild
Profil
Rolle + Texte
Zuordnung
Shuffle Dance
HIER EINMAL ÄNDERN
→
AUF DER WEBSITE NEU ERZEUGT
01
Team-RasterName, Porträt und berechnete Unterrichtsstile
02
ProfilseiteRolle, Kurz-Bio und aktuell zugeordnete Kurse
03
WochenplanIhr Name ist bei jeder Stunde mit ihrem Profil verlinkt
04
KursseitenProfil-Link und Lehrkraft-Info überall, wo sie unterrichtet
05
Strukturierte DatenPerson- und instructor-Knoten aus derselben Beziehung
STAGING-AUSGABE · PROFILSEITE
Auch das Profil ist eine erzeugte Oberfläche.
Porträt, Rolle und Profiltext kommen aus Putris Lehrkraft-Datensatz. Die Kursliste darunter kommt aus ihrer aktuellen Zuordnung—es gibt keine zweite Liste, die jemand synchron halten muss.
Das ist referenziertes Publishing, kein Kopieren. Dasselbe Prinzip verbindet Kurs, Stunde, Trainer:in und Standort mit ihren sichtbaren Seiten, Links und strukturierten Daten. Stunden- und Standort-Ausgaben werden dort eingesetzt, wo die jeweilige Schule sie braucht.
03
Öffentliche Darstellungsformen
Ein Datenmodell. Zwei Wege zum passenden Kurs.
Eine Schule kann dieselben Stundendatensätze als ausführliche Liste oder kompaktes Wochenraster veröffentlichen. Die Nutzung verändert sich; die Quelle für Kurs, Lehrkraft, Zeit und Verfügbarkeit bleibt dieselbe.
STAGING-AUSGABE
Listenansicht mit direkter Anmeldung
Verfügbarkeit, passende Termine und Anmeldung stehen direkt bei der Stunde, die Besucher:innen gewählt haben.
STAGING-AUSGABE
Wochenraster mit Kursfilter
Dieselben Datensätze werden zu einer kompakten Wochenansicht für Besucher:innen, die zuerst überblicken und vergleichen möchten.
04
Maschinenlesbares Ergebnis
Das strukturelle Ergebnis ist der Beleg.
Ein Stundenplan, der zuvor in einem iFrame oder handgeschriebenem Seitentext lag, wird zu eigenem HTML plus strukturierten Daten auf der Domain der Schule. Daraus wird kein Leistungswert abgeleitet; das Ergebnis ist ein technisch lesbares Publishing-System.
STUDIO CLASSES & SCHEDULE · DIE AUSGABE
Was eine Antwortmaschine zitieren kann
Jeder strukturierte Fakt wird zum Zeitpunkt der Anfrage aus den Datensätzen erzeugt und kann deshalb nicht vom sichtbaren Stundenplan abweichen. Beschreibende Texte bleiben bewusst redaktionell verfasst.
Ein Knoten pro wöchentlicher Stunde, direkt aus den zugehörigen Datensätzen.
byDay — nie null
Stundenplan und Schema lesen dasselbe Wochentagsfeld.
scheduleTimezone
Eine benannte Stadt-Zeitzone statt eines fehleranfälligen UTC-Offsets.
instructor
Ein Person-Knoten mit dem Profil der Lehrkraft; auch Co-Teaching bleibt abbildbar.
So ausgegeben, leicht gekürzt. Standorte können zusätzlich Place und PostalAddress tragen; beschreibende Kursinhalte werden als description übernommen.
05
Interface-Studien
Für die Arbeit entworfen, die Menschen wirklich tun.
Dies sind Gestaltungsstudien aus dem Umsetzungsprozess, keine Screenshots live eingesetzter Kundensysteme. Gemeinsam zeigen sie, wie dieselben Datensätze fokussierte Ansichten für Betreiber:innen, Lehrkräfte und Website-Besucher:innen versorgen.
Marke und Team-Bilder von KayJays werden mit Erlaubnis gezeigt. Mockups und Staging-Ausgaben bleiben gekennzeichnet, damit sie nicht mit live eingesetzten Ansichten verwechselt werden.
GESTALTUNGSSTUDIE
Wochenansicht des Stundenplans
Verfügbarkeit, Vertretungen, Ausfälle und direkte Änderungen bleiben in dem Kontext, in dem die Studioleitung entscheidet.
GESTALTUNGSSTUDIE
Kursdatensatz
Felder folgen den Fragen der Betreiber:innen und zeigen direkt, auf welchen Oberflächen ihr Wert erscheint.
GESTALTUNGSSTUDIE
Trainer:innen-Datensatz
Eingegebene Informationen und aus Unterrichtsbeziehungen berechnete Werte bleiben klar unterscheidbar.
GESTALTUNGSSTUDIE
Mobile Ansicht für Lehrkräfte
Eine auf den Moment zwischen zwei Stunden zugeschnittene Ansicht statt einer verkleinerten Desktop-Tabelle.
GESTALTUNGSSTUDIE
Öffentliches Trainer:innen-Raster
Namen, Profile und Stile stammen aus denselben Beziehungen, die auch den Stundenplan speisen.
06
Prozess und Governance
Die Software zählt. Das Betriebsmodell zeigt das Niveau.
01 · Spezifizieren
Das System vor dem Bauen aufschreiben.
Rund ein Dutzend schriftliche Spezifikationen definierten Datensätze, Beziehungen, Publishing-Verhalten und Grenzen vor dem Code.
02 · Hinterfragen
Den Plan prüfen, der tatsächlich gebaut wird.
Jede Spezifikation erhält eine adversariale Planprüfung—auf der Version, die als Nächstes umgesetzt wird, nicht auf einer bereits überholten Fassung.
03 · Verifizieren
Widerspruch nutzen, um Fehler zu finden.
Eine Prüfung des Spezifikationspakets durch ein zweites Modell ergab acht Hinweise. Sechs waren echte Defekte und wurden vor der weiteren Umsetzung behoben.
04 · Deployen
Das laufende System hat Vorrang vor dem Log.
Die Plugin-Seite der Website ist die Quelle der Wahrheit. Diese Regel deckte einen Log-Eintrag über einen Upload auf, der nie angekommen war.
07
Scope-Disziplin
Zur Arbeit gehört auch, bewusst nicht zu bauen.
WordPress.org-Veröffentlichung
Bewusst zurückgestellt. Distribution ist nicht das nächste Problem, das gelöst werden muss.
Warteliste und kostenpflichtiges Paket
Aufgeschoben, bis eine Klasse tatsächlich voll ist und der Bedarf entsteht.
Buchung bei Kiakademie
Nur Darstellungsparität. Die Buchung bleibt in dem System, das die Schule bereits nutzt.
08
Grenze der Belege
Stark genug ohne erfundene Ergebnisse.
In Entwicklung, läuft auf Staging, zwei zugesagte Schulen. Noch ist nichts live; deshalb beansprucht diese Seite keine Auswirkungen auf Traffic, Rankings, Buchungen oder Conversions.
Der Beleg liegt in der Diagnose, der gemeinsamen Datenarchitektur, der maschinenlesbaren Ausgabe, der Prüfdisziplin und den Entscheidungen, die den Build innerhalb seines echten Umfangs hielten.