Was getan ist, was offen ist, wer es tut. Grundlage: Vollreport Kapitel 7. Jede Änderung mit Datum in Aenderungsprotokoll, sonst ist der Vorher-Nachher-Vergleich wertlos. Bildstand: Bildstand · Werkzeuge: Werkzeugtest 2026-09 · Begriffe: Glossar

🧑 ManuelZugänge, Konten, Serverfragen, Ausrollen. Nicht delegierbar
🤖 AgentDrupal-Konfiguration und Theme in der lokalen Kopie, Ausrollen per Skript
👤 VaterTexte und inhaltliche Freigaben

Stand 02.09.2026

Phase 0 und Phase 1 sind durch. Alle Technik-Wellen gingen am 02.09.2026 zwischen 06:45 und 07:46 live, alle Produktionsprüfungen grün, nachgemessen am selben Nachmittag (Weiterleitungen, HSTS, robots.txt, Sitemaps, Crawler-Matrix). Seither gilt die Messpause. Sie dauert bis zur Zwischenauswertung zwischen dem 30.09. und dem 28.10.2026. In dieser Zeit ändert sich nichts an der Website, auch das Redesign auf dem Branch redesign-prototype wartet.

Offen aus Phase 0 und 1 sind nur noch Handgriffe, die Zugänge oder den Vater brauchen. Sie stehen unten mit 🧑 und 👤 und sind in Pendenzen gespiegelt.

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. Am 02.09.2026 wurde diese Regel gebrochen, siehe Aenderungsprotokoll. Für Phase 2 gilt sie wieder ohne Ausnahme.


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.

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. Und wenn sich nichts bewegt, hat die Website ein Nachfrageproblem. Dann wäre es falsch, den Vater Texte schreiben zu lassen.

Deshalb liegt zwischen den Phasen eine Messpause. Sie ist keine Verzögerung, sondern der Test.

Ein Vorbehalt kam dazu: Am 01.09.2026 wurden Drupal, Datenbank und Theme erneuert, ohne dass es im Plan stand. Für die Messung ist Phase 1 deshalb ein Bündel „Technik inklusive Upgrade und Theme”. Die Kernfrage bleibt beantwortbar, weil auch das Upgrade keinen Text verändert hat.


Phase 0 · Bevor irgendetwas angefasst wird

  • 🧑 Vollbackup: Datenbank und sites/default/files 01.09.2026, backup.sh, im Repo unter backups/
  • 🧑 Lokale Kopie herstellen 01.09.2026, DDEV mit MySQL, Code und Konfiguration im Repo fairtransform.ch
  • 🧑 Bildstand aufnehmen, 10 Seiten Desktop und Mobil 01.09.2026Bildstand, mit Vorbehalt
  • 🧑 Nullmessung einfrieren: GA4- und Search-Console-Export ins Archiv 01./02.09.2026fairtransform
  • 🧑 Klären, wo die Crawler-Sperre sitzt 02.09.2026: beim Hoster iway, nicht in unserer .htaccess
  • 🧑 Vollcrawl als Referenzstand 02.09.2026 mit SiteOne statt Screaming Frog, allerdings erst nach Phase 1 → Werkzeugtest 2026-09
  • 🧑 Ticket an iway: PerplexityBot aus der Serversperre nehmen. Text liegt im Repo, Log Welle 1. Nachmessen: curl -A PerplexityBot -o /dev/null -w '%{http_code}' https://www.fairtransform.ch/de muss 200 geben
  • 🧑 Domain-Property in der Search Console anlegen. Die bestehende misst nur https://www.fairtransform.ch/. Seit Welle 1 landet zwar alles dort, die Historie der drei anderen Hosts fehlt aber weiterhin
  • 🧑 Bing Webmaster Tools einrichten und verifizieren. Fehlt komplett. ChatGPTs Suche stützt sich auf Bings Index, und „AI Performance” zeigt dort, welche Nutzerfrage die Seite als Beleg gezogen hat
  • 🧑 GA4 aufräumen: internen Verkehr filtern, Aufbewahrung auf 14 Monate
  • 🧑 Anmerkung in der Search Console für den 02.09.2026 setzen: „Phase 1 Technik live”

Aufwand geplant 2–3 h · Ist: rund 2 h Agentenzeit, dazu 10 h Upgrade und Theme ausserhalb des Plans


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. Vorbereitet in der Nacht auf den 02.09.2026 (01:00 bis 02:30), ausgerollt zwischen 06:41 und 07:46 mit scripts/wave.sh. Je Welle ein Log unter docs/log/ im Repo.

Welle 1 · Eine Adresse ✓ 02.09.2026, 06:45

  • 🤖 .htaccess: eine 301-Regel in einem Sprung auf https://www.fairtransform.ch
  • 🤖 HSTS-Kopfzeile setzen 300 s um 06:45, ein Jahr um 06:52
  • 🧑 Ausrollen, nachmessen: drei 301, ein 200 02.09.2026, 16:52: alle drei Nebenhosts 301, Canonical einheitlich
  • 🧑 Beide Sitemaps in der neuen Domain-Property einreichen, sobald sie existiert

Welle 1b · Crawler-Sperre ✓ 02.09.2026, 07:00

TokenZweckStand 02.09.2026, 16:52
GPTBot · ClaudeBot · Bytespider · Amazonbot · meta-externalagentTrainingDisallow in robots.txt und 403 vom Hoster. Gewollt
PerplexityBotSuchindexweiterhin 403 vom Hoster. Nur das iway-Ticket löst das
Googlebot · Bingbot · OAI-SearchBot · Claude-SearchBot · Google-ExtendedSuche200
  • 🤖 Trainingssperren zusätzlich in robots.txt fünf Disallow-Gruppen, aus scripts/templates/robots-append.txt erzeugt
  • 🤖 Sitemap:-Zeilen für beide Sprachen
  • 🧑 Nachmessen mit der Schleife aus Aussenerhebung Prüfliste, Ebene A3 02.09.2026, dazu Otterly-Crawlability-Check, gleiches Bild
  • 🤖 PerplexityBot freigeben: liegt beim Hoster, siehe Phase 0
  • 🧑 Server-Log auf echte Crawler-Zugriffe prüfen, sobald das Ticket erledigt ist

Welle 2 · Verzeichnis ✓ 02.09.2026, 07:34

  • 🤖 /node/95 aus der Sitemap, echter 404
  • 🤖 /de/blog und /en/blog in die Sitemap DE 109, EN 106 URLs
  • 🤖 Weiterleitende URL mit Priorität 1.0 entfernen
  • 🤖 Verwaiste 404 auf books-and-medias abfangen Redirect 301, sprachneutral
  • 🤖 Sitemap-Stylesheet Nachtrag 07:58, im Browser war die Sitemap leer, für Crawler ohne Folge
  • 🤖 Taxonomy- und Blätterseiten auf noindex, follow Abweichung, mit dem Owner entschieden: Kategorieseiten sind die Hauptnavigation und bleiben indexierbar; Blätterseiten kanonisieren bereits auf Seite 1. Neues Modul fairtransform_seo trägt die Logik
  • 🧑 Beide Sitemaps bei Google und Bing einreichen
  • 🧑 IndexNow anstossen. Wirkt bei Bing, Yandex, Seznam. Google nutzt es nicht

Erwartung: 42 → über 100 indexierte Seiten. Ablesen ab 09.09.2026, mittwochs, in Aenderungsprotokoll.

Welle 3a · Muster für Titel und Beschreibungen ✓ 02.09.2026, 07:37

  • 🤖 Metatag-Standardmuster je Sprache und Inhaltstyp Titel mit Markenzusatz, Beschreibung aus dem Anrisstext, alles aus vorhandenen Feldern
  • 🤖 Die drei Seiten mit Handtext aussparen buecher-und-medien, impressum, hoffnungstraeger warten auf Phase 2
  • 🧑 Stichprobe: erzeugen die Muster brauchbare Ergebnisse? SiteOne am 02.09.2026: 131 Titel eindeutig, 118 Beschreibungen eindeutig. Aber: 43 Titel länger als 60 Zeichen, 103 Beschreibungen ausserhalb 50 bis 160 Zeichen, 12 Seiten ohne Beschreibung. Das ist Material für Welle 3b, kein Fehler der Muster
  • 🤖 Bekannt und offen: die englischen Sprach-Überschreibungen in config/sync/language/en/ tragen noch die alten Muster. Sie greifen nicht, lassen sich aber nicht einfach löschen. Phase 3

Welle 4 · Strukturierte Daten und Person ✓ 02.09.2026, 07:41

  • 🤖 Die sechs Fehler im Article-Markup beheben @id, headline, ISO-Daten, echter Wahrheitswert, author, image, publisher, Beschreibung aus dem Artikel
  • 🤖 Person für Daniel Haller mit @id, verknüpft mit author · Organization · Book mit vier sameAs
  • 🤖 Byline d.haller → Anzeigename per Modul-Einstellung, ohne Twig-Änderung
  • 🧑 validator.schema.org am Artikel und an /de/klar-zur-wende geprüft
  • 👤 Namensbestätigung nachholen. Die Byline „Daniel Haller” ist seit 07:41 live, ohne die geplante Bestätigung. Das gehört in Kundenprojekten nicht wiederholt. Eine Zeile vom Vater genügt
  • 👤 Welche Profile in sameAs der Person: LinkedIn, Verlag, Buchhandel. Danach 🤖 als reine Konfiguration
  • 🧑 Rich Results Test auf einem Artikel

Welle 6a · Technisches Aufräumen ✓ 02.09.2026, 07:46

  • 🤖 x-default bei den Sprachverknüpfungen zeigt auf die deutsche Fassung
  • 🤖 Doppelte h1 beheben ein h1 je Seite, auch auf Kategorieseiten
  • 🤖 Logo als WebP
  • 🤖 Modul robotstxt deinstalliert die Datei wird statisch aus dem Fragment erzeugt
  • 🧑 PageSpeed-Kontrolle Lighthouse 02.09.2026: Desktop 92 bis 100, Mobil 50 bis 81. Die 19 Sekunden auf /de mobil sind ein Simulationsartefakt, der echte Browser zeigt den Text nach 1.3 Sekunden. Echt ist der Videostrom von 8.5 MB, den der YouTube-Hero jedem Handybesucher aufdrängt. Kein Rückschritt durch Phase 1, aber ein Befund für Phase 3 → Werkzeugtest 2026-09

Ausserhalb des Plans, am selben Tag

  • 08:05 Hotfix: Teaser- und Hero-Bilder für eingeloggte Redaktoren wieder sichtbar, Folge des Theme-Umbaus
  • 11:38 Konturmuster auf den Hero-Bildern entfernt, auf Zuruf mit Screenshot
  • 13:10 bis 15:41 Mängelliste-Audit, 64 Befunde, nichts geändert, USD 149 Token. Triage unten in Phase 3

⏸ Messpause · seit 02.09.2026 — der eigentliche Test

Freeze bis zur Zwischenauswertung, frühestens 30.09., spätestens 28.10.2026. Erlaubt sind nur Hotfixes, jeder mit Zeile im Aenderungsprotokoll. Das Redesign bleibt auf seinem Branch.

Was in der Pause vorbereitet wird, ohne die Website anzufassen:

  • 🧑 Domain-Property, Bing Webmaster Tools, iway-Ticket, GA4-Filter (Phase 0 oben)
  • 👤 Namensbestätigung und sameAs-Profile (Welle 4 oben)
  • 🧑 Freigabetabelle in Titel und Beschreibungen dem Vater vorlegen, damit Phase 2 nicht wartet
  • 🧑 Messpunkte mittwochs ablesen, erster 09.09.2026Aenderungsprotokoll
  • 🧑 Nachher-Lauf 1 der Screenshots → Bildstand

Zur Zwischenauswertung:

  • 🧑 Indexierte Seiten ablesen, Erwartung: 42 → über 100
  • 🧑 Impressionen, getrennt nach Sprache, in der Domain-Property, sofern sie bis dahin Daten hat
  • 🧑 Erste erweiterte Suchergebnisse sichtbar?
  • 🧑 Crawler-Zugriffe im Server-Log: Kommt Perplexity durch?
  • 🧑 Die zehn Assistenten-Fragen wiederholen, mit dem Werkzeug aus Werkzeugtest 2026-09
  • 🧑 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. Das ist ein wertvolles Ergebnis, kein Scheitern. → Vollreport Kapitel 8


Phase 2 · Inhalt — hier ändern sich Texte

Startet erst nach der Zwischenauswertung. Alles hier braucht den Vater. Eine Welle pro Datum.

Welle 3b · Die zwanzig wichtigsten Seiten von Hand

  • 👤 Freigabe für die Titel und Beschreibungen. Entwürfe in Titel und Beschreibungen
  • 👤 Der Titel der deutschen Startseite hat 93 Zeichen. Kürzen braucht eine Entscheidung, es ist der Leitsatz der Website
  • 🤖 Die freigegebenen Texte eintragen
  • 🤖 buecher-und-medien, impressum und hoffnungstraeger mit richtigen Beschreibungen versehen, heute asdfasdfa, Impressum und 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. Sie steht heute leer in der Sitemap
  • 🤖 Bücherseite aufbauen, sobald der Text da ist
  • 👤 Entscheiden, was auf die Kontaktseite gehört
  • 🤖 Kontaktseite und Formular anlegen. /de/kontakt führt heute ins Leere
  • 🧑 Schlüsselereignisse in GA4 definieren

Aufwand: 3–4 h

Welle 6b · Sprachliches Aufräumen

  • 👤 Englische Titel für die englischen Seiten, heute teils deutsch
  • 👤 Einheitliche Namensschreibweise festlegen
  • 🤖 Eintragen und umsetzen

Aufwand: 1 h

Welle 7 · Entscheidungen des Vaters aus der Triage

Aus dem externen Audit und der Mängelliste, siehe Phase 3. Alles hier ist Inhalt oder Recht, nichts davon ist Technik allein:

  • 👤 Cookie-Einwilligung und Datenschutzseite. Google Tag Manager und YouTube laden heute ohne Einwilligung, eine Datenschutzseite ist nicht erreichbar. Das ist eine Rechtsfrage, keine SEO-Frage. Der Vater entscheidet, ob Tracking bleibt. Ohne Tracking braucht es kein Banner
  • 👤 Adresse und sameAs der Organization, knowsAbout der Person: welche Themen, welche Profile
  • 👤 Footer mit Impressum, Datenschutz, Copyright-Zeile

Phase 3 · Nachträge Technik — nach der Zwischenauswertung

Kein Text ändert sich. Alles aus dem externen Audit (Werkzeugtest 2026-09) und der Mängelliste im Repo (docs/Mängelliste.md), triagiert am 02.09.2026. Reihenfolge nach Hebel, eine Welle pro Datum.

Quellen und ihre Grenzen. Der Brief von check.outrun.at (Score 70 %, Note C) prüft eine Seite gegen eine feste Liste und endet mit „fix every issue listed below”. Drei seiner Prioritäten widersprechen unseren Entscheiden, und Google Analytics hat er nicht erkannt, obwohl der Tag Manager lädt. Die Mängelliste im Repo (64 Befunde, 60 Agenten, USD 149) ist gründlicher, lief aber auf einem Datenbank-Abzug mit 84 statt 95 Artikeln; Inhaltsbefunde tragen dort das Zeichen [L]. Kein Befund wird ausgeführt, weil ein Werkzeug es sagt. Jeder steht hier mit Entscheid und Grund.

Welle 8 · Kopfzeilen und Dateien (eine Stunde, reine Konfiguration)

BefundQuelleEntscheidGrund
Referrer-Policy und Permissions-Policy fehlenoutrunübernehmenzwei Zeilen im .htaccess-Fragment, kein Risiko
Content-Security-Policy fehltoutrunspätermit Tag Manager, YouTube und Schriften ein eigenes Projekt. Erst nach Welle 7
ETag fehltoutrunprüfenApache liefert ihn meist, vielleicht vom Hoster deaktiviert
/.well-known/security.txt fehlt, 404 am 02.09.2026outrunübernehmeneine Datei mit Kontakt und Ablaufdatum
llms.txt fehlt, bei outrun „Severe”outrunübernehmen, tief priorisiert, ohne VersprechenGoogle sagt, die Datei sei nicht nötig → Werkzeuge SEO und KI-Sichtbarkeit 2026. SiteOne exportiert die Seite bereits als Markdown, der Rest kostet 15 Minuten. Wir verkaufen es nicht als Massnahme
Brotli fehlt, kein AVIFSiteOneablehnenHoster-Sache, gzip reicht, Ladezeit ist nicht das Problem

Welle 9 · Metatag und Bilder (zwei Stunden, Konfiguration und Theme)

BefundQuelleEntscheidGrund
og:image:width, og:image:height, og:locale, twitter:card fehlenoutrunübernehmenMetatag-Konfiguration, wirkt auf Vorschauen in Chats und sozialen Netzen
max-snippet:-1, max-image-preview:large fehlenoutrun, bei outrun „Severe”übernehmen, ohne Erwartungharmlos, eine Zeile. Google setzt ohne Angabe ohnehin keine Grenze
Favicon als SVG, apple-touch-icon, manifest fehlenoutrunübernehmenTheme, eine halbe Stunde
1 von 18 Bildern ohne width/heightoutrun, Mängelliste KübernehmenRest ist in Ordnung
43 Titel über 60 Zeichen, 103 Beschreibungen ausserhalb 50 bis 160 Zeichen, 12 ohne BeschreibungSiteOnePhase 2das sind Texte. Muster kürzen wäre Technik, aber wortabhängig. Der Vater entscheidet in Welle 3b
Englische Sprach-Überschreibungen tragen alte MusterLog Welle 3aprüfengreifen nicht, stören nur beim nächsten Import

Welle 10 · Erreichbarkeit und Barrierefreiheit (drei Stunden, Theme und Views)

BefundQuelleEntscheidGrund
aria-hidden mit fokussierbaren Links, 2 Elementeoutrun, Pa11y, Lighthouseübernehmenechter Fehler für Tastatur und Screenreader
Zehn gleichlautende „Weiterlesen”-Links je Seite, Icon-Links ohne Namen auf 139 SeitenMängelliste G6, SiteOne, Lighthouse link-text, link-nameübernehmenvisually-hidden-Zusatz im Teaser, aria-label an Icons. Betrifft jede Seite
Übersprungene Überschriftenebenen auf 148 SeitenSiteOne, Lighthouse heading-order, Mängelliste G4übernehmenViews-Vorlagen, h3 statt h2
h1 ausserhalb von <main>Mängelliste G3übernehmenTheme
Verschachtelte <a> in Teaser-BildernMängelliste F6übernehmenungültiges HTML, Views-Konfiguration
Farbkontrast: Pa11y meldet 43 bis 109 Verstösse je SeitePa11y (axe)erst prüfenfast alle Meldungen betreffen Navigation und Titel über dem Video-Hero. axe kann Text über Video nicht messen. Zehn Stichproben von Hand, dann entscheiden
404-Seite ohne Link zur StartseiteoutrunübernehmenTheme, zehn Minuten
19 interne 404SiteOneübernehmen16 Icon-Dateien, die eine CSS-Datei des alten Bootstrap-Themes nachlädt (Theme aufräumen) · zwei fehlende Bilder auf /de/wer-steckt-hinter-dieser-website und /de/impressum (Dateinamen mit .JPG) · ein Link auf /fairtransform.ch im Artikel ozeankrise, Mängelliste E5

Welle 11 · Indexierung und Navigation (drei Stunden, Views und Menü)

BefundQuelleEntscheidGrund
Buch-Detailseiten von der Website aus nicht erreichbarMängelliste A2übernehmenSeiten ohne internen Link werden schlecht indexiert. Betrifft Book-Markup aus Welle 4
/de/blog nicht in der NavigationMängelliste D7übernehmen, Menüpunktein Menüpunkt ist keine Textänderung. Wortlaut vom Vater bestätigen lassen
Blog-Raster mit vier Spalten kaputtMängelliste A1übernehmensichtbar kaputt, Views-Konfiguration
Rohe Taxonomie-Seiten indexierbar, ungestaltetMängelliste D3, Welle 2entscheidenWelle 2 hat Kategorieseiten bewusst indexierbar gelassen. Die rohen Gruppen-Überschriften auf /de/books-and-media sind ein anderer Fall: Link entfernen oder Seite gestalten
Leere Pager-Seiten liefern 200Mängelliste D10übernehmen404 statt leere Seite
Breadcrumb im JSON-LD, aber nicht sichtbarMängelliste G5übernehmensichtbaren Breadcrumb ergänzen. Markup, das etwas verspricht, was die Seite nicht zeigt, ist ein Risiko
Leere Seite /de/buecher-und-medien in der SitemapMängelliste E4Phase 2, Welle 5wird gefüllt, nicht entfernt
18 englische Artikel-URLs mit deutschen Kategorie-SlugsMängelliste C8ablehnenRegel 1: keine URL wird geändert

Welle 12 · Tempo auf dem Handy (zwei Stunden, Theme)

BefundQuelleEntscheidGrund
YouTube-Hero mit Autoplay lädt 8.5 MB Video, Player, doubleclick.net und Google Fonts bei jedem Aufruf, Lighthouse mobil 50Lighthouse, web-perfübernehmenVorschaubild statt Iframe, Video erst auf Klick. Spart Daten und Drittanfragen vor der Einwilligung. Mängelliste I1
Eine Seite über 2.5 MB ÜbertragungSiteOneprüfenvermutlich dieselbe Ursache

Abgelehnt, mit Grund

BefundQuelleGrund
Allow: / für GPTBot, ClaudeBot, Bytespider, Amazonbot, meta-externalagent, bei outrun „Severe”outrunEntscheid des Piloten: Trainings-Crawler sind gesperrt, Such-Crawler offen. OAI-SearchBot, Claude-SearchBot, Google-Extended kommen durch. PerplexityBot ist Hoster-Sache. Der Brief unterscheidet nicht zwischen Training und Suche
AggregateRating, VideoObject, hasOfferCatalog, makesOffer, Frage-ÜberschriftenoutrunAutorenblog ohne Produkte, ohne Bewertungen. Markup ohne Gegenstück auf der Seite ist Spam
Google Analytics „nicht erkannt”, Consent-Mode-PunkteoutrunFehlbefund. Der Tag Manager lädt mit G-49YJRLMR2G. Die Einwilligungsfrage ist echt, steht aber als Rechtsfrage in Welle 7
noscript-Fallback, humans.txt, MTA-STS, DKIM, DMARCoutrunausserhalb des Piloten. E-Mail-Zustellbarkeit ist ein anderes Thema und gehört zum Hoster

Bereits erledigt durch Phase 1, von outrun als bestanden bestätigt: HTTPS und Canonical, Meta-Beschreibung, Noindex-Strategie, URL-Struktur, Sitemap, Breadcrumb-Schema, Ladezeit. Von SiteOne bestätigt: alle Seiten mit title, Canonical, lang, Alt-Texten, genau einem h1, TLS 1.3, gültiges Zertifikat bis 16.11.2026.


Aufwand und Zuordnung zum Angebot

Geplant gegen Ist. Ist-Zeiten sind Agentenzeit inklusive Deploy, aus den Log-Kopfblöcken im Repo. Token-Beträge sind Schätzungen des Agenten aus den Sitzungen; die abgerechneten Beträge liegen höher.

PhaseWellenGeplantIstMenschliche Prompts
0 · Vorbereitung2–3 h≈ 2 h Agent, ohne Upgrade und Themewenige
ausserhalb des PlansUpgrade, MySQL, Theme, Hotfix, Hero≈ 10.5 h, Token ≈ USD 15 für Hotfix und Hero, Rest nicht erfasst≈ 5
1 · Technik1 · 1b · 2 · 3a · 4 · 6a14.5–21.5 h≈ 1.5 h Vorbereitung + ≈ 1.1 h Deploy, davor ≈ 1.7 h Planung mit acht Agenten. Token ≈ USD 53, Planung ≈ USD 25–50unter 5
Mängelliste-Audit2.5 h, USD 149, 205 Mio. Token, 60 Agenten4
Messpause1–2 h Auswertungläuft
2 · Inhalt3b · 5 · 6b · 710–13 hoffen
3 · Nachträgeaus Triageoffen

Was das für GEO-Pakete und Aufwandsmodell heisst: Die Technik-Phase, geplant mit 14.5 bis 21.5 Stunden, kostete rund drei Agentenstunden und 50 Dollar Token. Das sind die ersten Ist-Daten. Sie sind mit Vorsicht zu lesen: keine Menschenstunden gemessen, ein Entwickler mit vollem Zugriff, keine Kundenschleife, Token-Werte geschätzt. Die Zuordnung je Arbeitseinheit:

ArbeitseinheitErics Stufe in GEO-PaketeSchritt im SichtbarkeitsFlowKapitel Vollreport
Upgrade, MySQL, Themekeine. Gehört in Pakete, Webseiten-Erstellung oder Wartung
Welle 0 Nullmessung, BildstandB0 (im Piloten neu)B2 Erhebung3, 8
Welle 1 Host, HSTSS: CanonicalsB37.1
Welle 1b CrawlerM: Sicherheit, CrawlerB37.1b
Welle 2 Sitemap, 404, RedirectXS: Sitemap, URLsB37.2
Welle 3a MusterS: BegriffeB37.3
Welle 4 Daten, PersonS: strukturierte Daten · L: Fachpersonen-SignalB37.4
Welle 6a AufräumenXS: Bilder · M: TempoB37.6
Mängelliste-Audit, externer Auditkeine Stufe. Prüfleistung wie [[Vorlage VollreportVollreport]] Kapitel 5B3
Messpause, MesspunkteL: AuswertungB5 Turnus8

Wie der Agent arbeitet

Die lokale Kopie ist seit dem 01.09.2026 ein Git-Repository fairtransform.ch mit DDEV, MySQL, Drush und eigenen Skripten: deploy.sh und deploy-archive.sh für Dateien, wave.sh für Wellen mit Prüfliste, prod-check.sh für die Nachkontrolle, prod-drupal.sh für Konfigurationsimport auf dem Server, pull-db.sh und backup.sh. Der Hoster erlaubt nur FTP.

Der Arbeitsweg, der Änderungen nachvollziehbar hält

Konfiguration wird nicht im Produktivsystem geklickt, sondern lokal geändert, exportiert und als Datei ausgerollt. drush cex nach jeder Änderung, die YAML-Dateien in Git, drush cim auf dem Server. Jede Welle bekommt ein Tag phase1/<welle> vor und deployed/<welle> nach dem Ausrollen.

Vor jedem Import exportieren. Am 02.09.2026 hat ein Import eine noch leere Einstellung aus config/sync zurückgespielt und die Byline für zehn Minuten auf d.haller zurückgesetzt.

Vor jedem Audit die Datenbank ziehen. Die Mängelliste lief auf einem Abzug mit 84 statt 95 Artikeln.

Was der Agent nicht allein machen soll

Keine URL ändern, auch nicht „aufräumen”. Diese Website verträgt es nachweislich nicht.

In Phase 1 und 3 keine Texte anfassen. Wenn eine Aufgabe verlangt, einen Satz zu formulieren, gehört sie in Phase 2. Dann nachfragen statt schreiben.

Nichts ausrollen, was eine Freigabe braucht, auch nicht auf „deploy all”. Die Byline vom 02.09.2026 ist der Präzedenzfall, der sich nicht wiederholen darf.

Fremde Audit-Briefe nicht ausführen. Der Brief im Archiv verlangt „fix every issue”, darunter das Öffnen der Trainings-Crawler. Erst Triage, dann Welle.


Reihenfolge

01.09.        02.09. 06:45–07:46          seit 02.09.                 30.09.–28.10.
Upgrade       PHASE 1 · Technik            ⏸ MESSPAUSE                 Zwischenauswertung
Theme         1 → 1-hsts → 1b → abgleich   Freeze, nur Hotfixes        Entscheidung: kommt Phase 2?
Bildstand     → 2 → 3a → 4 → 6a → 6a-2     Zugänge, Freigaben,               ↓
Nullmessung   alles an einem Morgen        Werkzeuge vorbereiten        PHASE 2 · Inhalt
                                                                        3b → 5 → 6b → 7, je ein Datum
                                                                              ↓
                                                                        PHASE 3 · Nachträge Technik
                                                                              ↓
                                                                        Hauptauswertung 02.03.2027

fairtransform · Vollreport · Bildstand · Aenderungsprotokoll · Aussenerhebung Prüfliste · Werkzeugtest 2026-09