Was zu tun ist — in zwei Phasen und nach Zuständigkeit. Grundlage: fairtransform Vollreport Kapitel 7. Jede Änderung mit Datum in fairtransform Aenderungsprotokoll, sonst ist der Vorher-Nachher-Vergleich wertlos. Bildstand vor Beginn: fairtransform Bildstand
| 🧑 Manuel | Zugänge, Konten, Serverfragen, Ausrollen. Nicht delegierbar |
| 🤖 Agent | Drupal-Konfiguration und Theme in der lokalen Kopie |
| 👤 Vater | Texte und inhaltliche Freigaben |
Zwei Regeln über allem
1 · Keine einzige URL wird geändert. Der Hawila-Artikel beweist, dass diese Website es nicht verträgt — 301 vorhanden, Rankings trotzdem weg.
2 · Eine Welle nach der anderen, jede mit Datum freigeschaltet. Zwei gleichzeitig heisst: hinterher weiss niemand, was gewirkt hat.
Warum die Trennung mehr ist als Ordnung
Phase 1 verändert keinen einzigen Satz, den ein Mensch liest. Nur Technik, Konfiguration und maschinenlesbare Angaben. Phase 2 fasst Texte an und braucht deshalb den Vater.
Das hat drei Folgen, und die dritte ist die wichtigste:
1 · Phase 1 startet sofort. Sie wartet auf niemanden. Phase 2 hängt an Freigaben, die Wochen dauern können.
2 · Phase 1 ist der billigere Teil — und der mit dem grösseren Hebel. Die vier Adressvarianten und die Crawler-Sperre kosten zusammen anderthalb bis zweieinhalb Stunden.
3 · Phase 1 allein beantwortet die Kernfrage des ganzen Piloten
Die Diagnose lautet: Diese Website hat kein Inhaltsproblem, sondern ein Zuordnungsproblem.
Wenn Phase 1 die indexierten Seiten von 42 auf über 100 bringt und die Impressionen steigen — ohne dass ein einziges Wort geändert wurde —, ist die Diagnose bewiesen. Kein anderer Aufbau könnte das so sauber zeigen, weil sich Technik- und Textwirkung sonst vermischen.
Und wenn sich nichts bewegt, hat die Website ein Nachfrageproblem. Dann wäre es falsch, den Vater Texte schreiben zu lassen — man würde in ein Loch investieren.
Deshalb liegt zwischen den Phasen eine Messpause. Sie ist keine Verzögerung, sondern der Test.
Phase 0 · Bevor irgendetwas angefasst wird
- 🧑 Vollbackup: Datenbank und
sites/default/files. Ohne das nichts - 🧑 Lokale Kopie herstellen — siehe „Was der Agent braucht”
- 🧑
Bildstand aufnehmen, 10 Seiten Desktop und Mobilerledigt 01.09.2026 → fairtransform Bildstand - 🧑 Nullmessung einfrieren: GA4- und Search-Console-Export mit heutigem Datum ins Archiv
- 🧑 Domain-Property in der Search Console anlegen — die bestehende misst nur
https://www.fairtransform.ch/und damit ein Viertel der Realität - 🧑 Bing Webmaster Tools einrichten und verifizieren — fehlt komplett. ChatGPTs Suche stützt sich auf Bings Index, und „AI Performance” zeigt dort seit 11.02.2026, welche Nutzerfrage die Seite als Beleg gezogen hat
- 🧑 GA4 aufräumen: internen Verkehr filtern, Aufbewahrung auf 14 Monate
- 🧑 Vollcrawl mit Screaming Frog als Referenzstand ablegen
- 🧑 Klären, wo die Crawler-Sperre sitzt —
.htaccessoder Hoster-Panel? Im zweiten Fall kommt der Agent nicht dran und es braucht ein Ticket
Aufwand: 2–3 h
Phase 1 · Technik — kein Text ändert sich
Alles hier ist Konfiguration, Weiterleitung oder maschinenlesbare Angabe. Was ein Besucher liest, bleibt Wort für Wort gleich.
Welle 1 · Eine Adresse
Zustand: Alle vier Varianten antworten mit 200 und eigenem Canonical.
- 🤖
.htaccess: eine 301-Regel in einem Sprung aufhttps://www.fairtransform.ch - 🤖 HSTS-Kopfzeile setzen
- 🧑 Ausrollen, nachmessen: drei 301, ein 200 —
httpstatus.ioodercurl -sIL - 🧑 Beide Sitemaps in der neuen Domain-Property einreichen
Drupal baut den Canonical aus dem angefragten Host. Die Weiterleitung löst das Canonical-Problem mit — kein separater Eingriff.
Aufwand: 1–1.5 h · Der wichtigste Handgriff überhaupt
Welle 1b · Crawler-Sperre
Zustand, selbst geprüft am 02.09.2026: Sechs Kennungen bekommen 403 von Apache, obwohl
robots.txt keinen einzigen KI-Crawler erwähnt.
| Token | Zweck | Was passieren soll |
|---|---|---|
GPTBot · ClaudeBot · Bytespider · Amazonbot · meta-externalagent | Training | Sperre bleibt — kostet keine Sichtbarkeit |
PerplexityBot | Suchindex | freigeben — das ist der Fehler |
- 🤖
PerplexityBotaus der Sperrliste entfernen - 🤖 Die gewollten Trainingssperren zusätzlich in
robots.txtschreiben. Serversperren allein sind kein sauberes Opt-out — die Bots bekommen auch aufrobots.txteinen 403 und können nicht erfahren, was gilt - 🤖
Sitemap:-Zeilen für beide Sprachen — fehlen heute ganz - 🧑 Nachmessen mit der Schleife aus Aussenerhebung Prüfliste, Ebene A3
- 🧑 Server-Log auf echte Crawler-Zugriffe prüfen — nur dort zeigt sich, ob die Sperre auch die echten Dienste trifft und nicht bloss meinen Test mit gesetzter Kennung
Aufwand: 0.5–1 h
Welle 2 · Verzeichnis
Zustand: 42 von 202 URLs indexiert. Deutsche Sitemap 102, englische 100, kein
Sammelverzeichnis — /sitemap.xml leitet nur auf die deutsche Fassung.
- 🤖 Simple Sitemap:
/node/95ausschliessen — echter HTTP 404 - 🤖 Simple Sitemap:
/de/blogund/en/blogaufnehmen — fehlen heute - 🤖 Simple Sitemap: weiterleitende URL mit Priorität 1.0 entfernen
- 🤖 Metatag: Taxonomy- und Blätterseiten auf
noindex, follow - 🤖 Redirect-Modul: verwaiste 404 auf
books-and-mediasabfangen - 🧑 Beide Sitemaps bei Google und Bing einreichen
- 🧑 IndexNow anstossen — wirkt bei Bing, Yandex, Seznam. Google nutzt es nicht
Aufwand: 3–4 h · Erwartung: 42 → über 100 indexierte Seiten
Welle 3a · Muster für Titel und Beschreibungen
Warum das noch Technik ist
Es wird kein Text geschrieben. Die Muster erzeugen Titel und Beschreibungen automatisch aus dem, was schon dasteht — Artikeltitel plus Markenzusatz, Beschreibung aus dem vorhandenen Anrisstext. Niemand muss etwas formulieren oder freigeben.
Zustand: Von zehn geprüften Seiten hat genau eine eine brauchbare eigene Beschreibung. Der
Rest ist derselbe Standardsatz — auf /de, /de/blog und sogar der 404-Seite wortgleich. Titel
tragen auf Deutsch keinen Markenzusatz, auf Englisch schon.
- 🤖 Metatag-Standardmuster je Sprache und Inhaltstyp — repariert rund 200 Seiten auf einen
Schlag. Titel als
[node:title] | FairTransform, Beschreibung aus dem Anrisstext auf 160 Zeichen gekürzt - 🤖 Die drei Seiten mit Handtext aussparen:
buecher-und-medien,impressum,hoffnungstraeger— die kommen in Phase 2 - 🧑 Stichprobe: erzeugen die Muster auf zehn Seiten brauchbare Ergebnisse?
Aufwand: 2–3 h
Welle 4 · Strukturierte Daten und Person
Zustand, am Artikel „Warten auf den richtigen Wind” ausgelesen. Sechs Fehler, alle in der Schema-Metatag-Konfiguration:
| # | Feld | Ist | Soll |
|---|---|---|---|
| 1 | Article.@id | …/de — die Startseite | die Node-URL. Alle Artikel gelten sonst als dieselbe Sache |
| 2 | Titelfeld | name | headline |
| 3 | datePublished | 2026-05-20T19:27:17+0200. | ohne Punkt. Ungültiges ISO-8601 — vermutlich der Grund, warum Google das ganze Objekt verwirft. dateModified ist korrekt, der Punkt steht also im Token |
| 4 | isAccessibleForFree | "True" als Text | echter Wahrheitswert |
| 5 | author · image · publisher | fehlen | ergänzen |
| 6 | WebPage.description bei Artikeln | globaler Standardtext | aus dem Artikel |
- 🤖 Die sechs Punkte in der Schema-Metatag-Konfiguration beheben
- 🤖
Personfür Daniel Haller mitsameAsauf LinkedIn, Verlag, Buchhandel - 🤖
Organizationfür FairTransform - 🤖
Bookfür „Klar zur Wende!” - 👤 Eine Zeile Bestätigung: Anzeigename statt
d.haller, und welche Profile insameAs - 🤖 Byline
d.haller→ Anzeigename — Benutzerfeld oder Twig-Template - 🧑 Gegenprüfen mit Rich Results Test und
validator.schema.org
Punkt 5 erklärt die leere Tabelle „Darstellung in der Suche”. Ohne
authorundimageerzeugtArticlekeine erweiterten Ergebnisse. Und die fehlende Personenangabe erklärt, warum bei der Namenssuche LinkedIn vor der eigenen Website rankt: Für eine Suchmaschine ist LinkedIn eine bestätigte Person, die Website ein Anmeldename.
Aufwand: 6–9 h
Welle 6a · Technisches Aufräumen
- 🤖
x-defaultbei den Sprachverknüpfungen ergänzen — heute nurdeunden - 🤖 Doppelte
h1beheben — 29 von 84 Seiten, nicht die Artikelseiten - 🤖 Logo als WebP — 175 KB
- 🧑 PageSpeed-Kontrolle, dass nichts schlechter wurde
Aufwand: 2–3 h
Drei Punkte fallen aus dem Umfang — geprüft, in Ordnung
Alle 55 Bilder haben Alternativtexte. Keine Seite scrollt auf dem Handy quer. Die Ladezeit ist unauffällig. Erics XS-Stufe sieht Alternativtexte als Arbeitsschritt vor — hier wäre er bezahlte Beschäftigung. → fairtransform Bildstand · GEO-Pakete
⏸ Messpause — der eigentliche Test
Vier bis acht Wochen nach Abschluss von Phase 1. In dieser Zeit wird nichts geändert.
- 🧑 Indexierte Seiten ablesen — Erwartung: 42 → über 100
- 🧑 Impressionen in der neuen Domain-Property, getrennt nach Sprache
- 🧑 Erste erweiterte Suchergebnisse sichtbar?
- 🧑 Crawler-Zugriffe im Server-Log — kommt Perplexity jetzt durch?
- 🧑 Die fünfzehn Assistenten-Fragen wiederholen
- 🧑 Zwischenbericht schreiben und entscheiden, ob Phase 2 kommt
Was das Ergebnis bedeutet
Bewegung ohne eine einzige Textänderung → die Diagnose stimmt, Phase 2 lohnt sich, und wir haben einen Referenzfall, den niemand wegdiskutieren kann.
Keine Bewegung → die Website hat ein Nachfrageproblem, kein Auffindbarkeitsproblem. Dann wäre Phase 2 verlorene Zeit des Vaters — und das ist ein wertvolles Ergebnis, kein Scheitern. → fairtransform Vollreport Kapitel 8
Phase 2 · Inhalt — hier ändern sich Texte
Startet erst nach der Messpause. Alles hier braucht den Vater.
Welle 3b · Die zwanzig wichtigsten Seiten von Hand
- 👤 Freigabe für 20 Titel und Beschreibungen — Entwürfe in fairtransform Titel und Beschreibungen
- 🤖 Die freigegebenen Texte eintragen
- 🤖
buecher-und-medien,impressumundhoffnungstraegermit richtigen Beschreibungen versehen — heuteasdfasdfa,Impressumund 472 Zeichen - 🧑 Ränge 21 bis 40 acht Wochen unverändert lassen — das ist die Vergleichsgruppe. Ohne sie gibt es keine Ursachenaussage, und sie kostet null Stunden
Aufwand: 6–8 h · Erwartung: Klickrate /en von 0.22 % auf über 1.5 %
Welle 5 · Handlungsziel
- 👤 Inhalt für die Bücherseite — in der Navigation verlinkt und leer
- 🤖 Bücherseite aufbauen, sobald der Text da ist
- 👤 Entscheiden, was auf die Kontaktseite gehört
- 🤖 Kontaktseite und Formular anlegen —
/de/kontaktführt heute ins Leere - 🧑 Schlüsselereignisse in GA4 definieren
Ohne diese Welle ist nicht messbar, ob Aufmerksamkeit zu etwas führt. Es gibt heute keinen Ort, an dem Interesse landet.
Aufwand: 3–4 h
Welle 6b · Sprachliches Aufräumen
- 👤 Englische Titel für die englischen Seiten — heute teils deutsch
- 🤖 Eintragen
- 👤 Einheitliche Namensschreibweise festlegen
- 🤖 Umsetzen
Aufwand: 1 h
Aufwand und Zuordnung zum Vollreport
| Phase | Wellen | Aufwand | Blockiert durch |
|---|---|---|---|
| 0 · Vorbereitung | — | 2–3 h | Zugänge |
| 1 · Technik | 1 · 1b · 2 · 3a · 4 · 6a | 14.5–21.5 h | nichts — startet sofort |
| Messpause | — | 1–2 h Auswertung | vier bis acht Wochen Wartezeit |
| 2 · Inhalt | 3b · 5 · 6b | 10–13 h | Freigaben des Vaters |
| Gesamt 26.5–37.5 h |
Die Wellennummern entsprechen fairtransform Vollreport Kapitel 7. Nur Welle 3 und 6 sind
geteilt: 3a und 6a sind Technik, 3b und 6b Inhalt. Sonst ändert sich nichts an Umfang oder
Reihenfolge.
Was der Agent braucht, bevor er anfangen kann
Ohne das ist „lokal” nur ein Wort:
- Codebasis — Git-Repository oder Abzug des Docroots inklusive
.htaccess,sites/default/settings.php, Theme undconfig/sync - Datenbankabzug — sonst gibt es keine Inhalte zum Testen und keine Konfiguration zum Ändern
- Dateien —
sites/default/files, mindestens die Bilder der Testseiten - Lokale Umgebung — DDEV oder Lando. Drupal 11 braucht PHP 8.3 aufwärts
- Drush — die halbe Arbeit läuft über
drush config:exportunddrush config:import
Der Arbeitsweg, der Änderungen nachvollziehbar hält
Konfiguration wird nicht im Produktivsystem geklickt, sondern lokal geändert, exportiert und als Datei ausgerollt. Also
drush cexnach jeder Änderung, die YAML-Dateien in Git,drush cimauf dem Server. Dann steht jede Änderung im Verlauf, mit Datum, und lässt sich einzeln zurücknehmen.Genau das braucht das fairtransform Aenderungsprotokoll.
Arbeitsaufträge für den Agenten
Zum Kopieren. Immer nur einen auf einmal, und alle drei gehören in Phase 1.
Welle 1b — die schnellste Wirkung:
In dieser Drupal-11-Installation: In der .htaccess steht eine Sperrliste, die
sechs KI-Crawler mit 403 abweist. Entferne PerplexityBot daraus — das ist
Perplexitys Suchcrawler, nicht der Trainingscrawler, und die Sperre macht die
Seite dort unsichtbar. GPTBot, ClaudeBot, Bytespider, Amazonbot und
meta-externalagent bleiben gesperrt.
Schreibe dieselben fünf Sperren zusätzlich als Disallow in die robots.txt,
damit die Absicht auch dort lesbar ist. Ergänze Sitemap:-Zeilen für
/de/sitemap.xml und /en/sitemap.xml.
Ändere sonst nichts. Zeig mir das Diff, bevor du speicherst.
Welle 4 — der grösste Brocken:
Schema.org Metatag ist installiert und erzeugt fehlerhaftes Article-Markup.
Sechs Fehler, jeweils in der Metatag-Konfiguration, nicht im Theme:
1. Article.@id zeigt auf die Startseite statt auf die Node-URL
2. Es wird "name" gesetzt statt "headline"
3. datePublished endet auf einen Punkt -> ungültiges ISO-8601. dateModified ist
korrekt, der Punkt steht also im Token
4. isAccessibleForFree ist der String "True" statt eines Wahrheitswerts
5. author, image und publisher fehlen ganz
6. WebPage.description ist bei Artikeln der globale Standardtext statt des
Artikeltexts
Behebe alle sechs. Exportiere die Konfiguration mit drush cex und zeig mir die
geänderten YAML-Dateien. Kein Produktivsystem anfassen.
Welle 3a — Wirkung auf 200 Seiten, ohne einen Text zu schreiben:
Metatag ist installiert, aber Blogartikel haben keine meta description und die
deutschen Titel keinen Markenzusatz. Die englischen haben ihn bereits.
Richte Standardmuster je Sprache und Inhaltstyp ein: Titel als
"[node:title] | FairTransform", Beschreibung automatisch aus dem Anrisstext auf
maximal 160 Zeichen gekürzt. Deutsch und Englisch getrennt konfigurieren.
Wichtig: Es wird kein Text von Hand geschrieben, alles wird aus vorhandenen
Feldern erzeugt. Die Seiten buecher-und-medien, impressum und hoffnungstraeger
ausnehmen — für die kommen später freigegebene Texte.
drush cex, dann Diff zeigen.
Was der Agent nicht allein machen soll
Nichts direkt am Produktivsystem — er arbeitet in der lokalen Kopie, das Ausrollen bleibt ein bewusster Schritt.
Keine URL ändern, auch nicht „aufräumen”. Diese Website verträgt es nachweislich nicht.
Die Weiterleitungsregel aus Welle 1 nicht ungeprüft ausrollen. Eine falsche
.htaccess-Regel nimmt die Seite vom Netz. Lokal testen, von Hand ausrollen, sofort nachmessen.In Phase 1 keine Texte anfassen. Wenn eine Aufgabe verlangt, einen Satz zu formulieren, gehört sie in Phase 2 — dann nachfragen statt schreiben.
Reihenfolge
PHASE 0 PHASE 1 · Technik, kein Text ändert sich
Woche 1 Woche 2 ─────────────────────────────── Woche 5
Backup Welle 1 → 1b → 2 → 3a → 4 → 6a
Zugänge Adresse Bots Index Muster Daten Rest
Bildstand
↓
⏸ MESSPAUSE · 4–8 Wochen
nichts wird geändert
Entscheidung: kommt Phase 2?
↓
PHASE 2 · Inhalt, Texte ändern sich
Welle 3b → 5 → 6b
20 Seiten Ziel Sprache
↓
Hauptauswertung Monat 6, 6 gegen 6 Monate
Welle 1 vor allem anderen. Solange die Website unter vier Adressen existiert, ist jede spätere Messung ungültig — auch unsere eigene.
→ fairtransform · fairtransform Vollreport · fairtransform Bildstand · fairtransform Aenderungsprotokoll · Aussenerhebung Prüfliste