# Entscheidomat – Allgemeiner Go-Live-Plan

**Projekt:** Entscheidomat-Webseite  
**Projektordner:** `C:\Users\timo\Documents\Elena\webseite`  
**Zieldomain:** `https://entscheidomat.com`  
**Ziel:** Die Website sicher, rechtlich sauber, technisch stabil und öffentlich nutzbar live nehmen.

---

## Go-Live-Status heute

### Bereits vorhanden

- [x] Next.js-Projekt funktioniert lokal
- [x] Produktions-Build läuft erfolgreich
- [x] Haupt-Tool-Oberfläche vorhanden
- [x] Münze, Glücksrad, Würfel, Zufallszahl, Magic 8-Ball und Listen-Tool vorhanden
- [x] responsive Grundstruktur vorhanden
- [x] deutsche Seitensprache vorhanden
- [x] grundlegende Title- und Description-Metadaten vorhanden

### Noch offen

- [ ] echte Domain verbinden und HTTPS prüfen
- [ ] Impressum
- [ ] Datenschutz
- [ ] Kontaktmöglichkeit
- [ ] Canonical URL
- [ ] Open-Graph- und Twitter-Metadaten
- [ ] Sitemap
- [ ] Robots-Datei
- [ ] Structured Data / JSON-LD
- [ ] SEO-Unterseiten für die wichtigsten Tools
- [ ] Lint-Fehler beheben
- [ ] mobile und Accessibility-QA
- [ ] Analytics und Consent-Lösung
- [ ] Search Console
- [ ] finale Produktionsprüfung

---

# Phase 1 – Entscheidungen vor dem Launch

## 1. Domain und Marke festlegen

- [ ] Ist `entscheidomat.com` definitiv die Hauptdomain?
- [ ] Soll `www.entscheidomat.com` weiterleiten oder die Hauptdomain sein?
- [ ] finalen Markennamen und Logo festlegen
- [ ] Kontakt-E-Mail unter der Domain festlegen
- [ ] Betreiber/Verantwortlichen für Impressum und Datenschutz bestimmen

**Ergebnis:** Eine einzige kanonische Domainvariante.

## 2. Zielgruppe und Produktversprechen festlegen

Finale Kurzbeschreibung:

> Entscheidomat ist ein kostenloser Zufallsgenerator und eine digitale Entscheidungshilfe mit Münzwurf, Glücksrad, Würfel, Zufallszahl, Magic 8-Ball und Listen-Auswahl.

Diese Beschreibung muss konsistent erscheinen in:

- Homepage
- Meta Description
- Open Graph
- JSON-LD
- Social Profiles
- Impressum/Datenschutz, soweit relevant

---

# Phase 2 – Rechtliche Grundlage

Diese Punkte müssen vor dem öffentlichen Launch erledigt werden:

- [ ] Impressum erstellen
- [ ] Datenschutzerklärung erstellen
- [ ] Kontaktmöglichkeit ergänzen
- [ ] Erklärung zu lokalen Speicherfunktionen ergänzen
- [ ] Erklärung zu Analytics ergänzen, falls Analytics eingesetzt wird
- [ ] Erklärung zu Werbung/AdSense ergänzen, sobald Werbung aktiv ist
- [ ] Cookie-/Consent-Management für nicht notwendige Cookies und personalisierte Werbung prüfen
- [ ] EEA-, UK- und Schweiz-Anforderungen für Google-Werbung prüfen
- [ ] Footer dauerhaft mit Impressum und Datenschutz verlinken

**Go-Live-Blocker:** Ohne Impressum und Datenschutz nicht öffentlich starten.

---

# Phase 3 – Produkt- und Funktionstest

## 3.1 Alle Tools testen

Für jedes Tool prüfen:

- [ ] Tool öffnet ohne Fehler
- [ ] Startzustand ist verständlich
- [ ] Button funktioniert mehrfach hintereinander
- [ ] Ergebnis wird sichtbar aktualisiert
- [ ] Ergebnis ist für Screenreader angekündigt
- [ ] Reset/Neustart funktioniert
- [ ] keine falschen oder unmöglichen Ergebnisse
- [ ] keine Endlosschleife
- [ ] keine fehlerhaften Zufallsbereiche
- [ ] keine Daten gehen beim normalen Seitenwechsel unerwartet verloren

## 3.2 Spezifische Tests

### Münzwurf

- [ ] Kopf und Zahl erscheinen korrekt
- [ ] Animation endet immer
- [ ] Ergebnis bleibt nach Animation sichtbar
- [ ] Animation funktioniert auch bei Reduced Motion

### Glücksrad

- [ ] Standardoptionen funktionieren
- [ ] eigene Optionen können hinzugefügt werden
- [ ] leere Eingaben werden abgefangen
- [ ] lange Optionen werden sauber dargestellt
- [ ] Rad bleibt innerhalb des Bildschirms

### Würfel

- [ ] Würfelanimation endet zuverlässig
- [ ] Ergebnis stimmt mit der gewählten Würfelart überein
- [ ] mehrfaches Würfeln funktioniert

### Zufallszahl

- [ ] Minimum und Maximum werden validiert
- [ ] Minimum größer als Maximum wird abgefangen
- [ ] Dezimalwerte werden sauber behandelt
- [ ] sehr große Werte verursachen keinen Layoutfehler

### Magic 8-Ball

- [ ] Frage kann eingegeben werden
- [ ] leere Frage wird sinnvoll behandelt
- [ ] Antwort wird deutlich angezeigt
- [ ] mehrfaches Fragen funktioniert

### Listen-Auswahl

- [ ] leere Liste wird abgefangen
- [ ] mehrere Einträge werden korrekt getrennt
- [ ] Sonderzeichen funktionieren
- [ ] zufällige Auswahl wird angezeigt

---

# Phase 4 – Mobile, Browser und Accessibility

## 4.1 Browsermatrix

- [ ] Chrome Desktop
- [ ] Chrome Android
- [ ] Safari iPhone
- [ ] Safari macOS
- [ ] Firefox Desktop
- [ ] Edge Desktop

## 4.2 Bildschirmgrößen

- [ ] 320 px Breite
- [ ] 375 px Breite
- [ ] 390 px Breite
- [ ] 768 px Breite
- [ ] 1024 px Breite
- [ ] 1440 px Breite

## 4.3 Accessibility

- [ ] alle interaktiven Elemente per Tab erreichbar
- [ ] sichtbarer Focus-Ring vorhanden
- [ ] Buttons haben verständliche Namen
- [ ] Tabs haben korrekte ARIA-Zuordnung
- [ ] Ergebnisse werden per `aria-live` angekündigt
- [ ] keine wichtigen Inhalte nur über Farbe verständlich
- [ ] ausreichender Farbkontrast
- [ ] Reduced Motion funktioniert
- [ ] Sound wird nicht ungefragt abgespielt
- [ ] Escape/Back-Verhalten bei Overlays prüfen

---

# Phase 5 – Technischer Produktions-Check

## 5.1 Codequalität

- [ ] `npm run build` erfolgreich
- [ ] `npm run lint` erfolgreich
- [ ] keine TypeScript-Fehler
- [ ] keine Browser-Console-Errors
- [ ] keine Hydration-Warnings
- [ ] keine unnötigen Debug-Logs
- [ ] keine Testdaten oder Platzhalter im Produktionsbuild
- [ ] keine privaten API-Keys im Clientcode

Aktuell besteht der Build, aber der Lint-Lauf hat noch sechs Fehler in Preloader, Sound-Provider, Dice-Roller und zwei Hooks. Diese müssen vor dem finalen Go-Live behoben werden.

## 5.2 Performance

- [ ] Lighthouse Mobile prüfen
- [ ] Largest Contentful Paint prüfen
- [ ] Cumulative Layout Shift prüfen
- [ ] Interaction to Next Paint prüfen
- [ ] JavaScript-Bundle prüfen
- [ ] Animationen auf schwachen Geräten testen
- [ ] Fonts und externe Ressourcen prüfen
- [ ] keine unnötigen Audio-/Videoressourcen laden

Zielwerte als praktische Launch-Grenze:

- Performance mindestens 80 auf Mobile
- keine kritischen Accessibility-Fehler
- keine großen Layout Shifts
- sichtbarer Hauptinhalt ohne lange Wartezeit

---

# Phase 6 – SEO-Basis vor dem Launch

- [ ] finale Startseiten-H1 festlegen
- [ ] Title auf Produktkategorie und Nutzen ausrichten
- [ ] Description finalisieren
- [ ] Canonical setzen
- [ ] Open Graph setzen
- [ ] Twitter Card setzen
- [ ] Social Preview Image erstellen
- [ ] `app/robots.ts` erstellen
- [ ] `app/sitemap.ts` erstellen
- [ ] JSON-LD für WebApplication/WebSite ergänzen
- [ ] Haupt-Tools intern verlinken
- [ ] keine Testseiten indexierbar machen
- [ ] URLs für Tool-Unterseiten festlegen

## Minimale empfehlenswerte Unterseiten

- `/ja-nein-generator`
- `/gluecksrad`
- `/wuerfel-online`
- `/namen-auslosen`
- `/muenze-werfen`
- `/zufallszahl-generator`
- `/magic-8-ball`
- `/listen-generator`
- `/impressum`
- `/datenschutz`

---

# Phase 7 – Analytics und Monitoring

Vor dem Launch entscheiden:

- [ ] Google Analytics 4 oder datenschutzfreundliche Alternative
- [ ] Consent-Management
- [ ] Search Console
- [ ] Bing Webmaster Tools
- [ ] Fehler-Monitoring

Sinnvolle Events:

- [ ] `tool_open`
- [ ] `tool_result`
- [ ] `tool_share`
- [ ] `tool_customized`
- [ ] `faq_open`

Keine personenbezogenen Daten in Event-Parametern speichern.

Nach dem Launch beobachten:

- Indexierung
- Impressions
- Klicks
- CTR
- Tool-Nutzung
- Absprungrate
- Core Web Vitals
- Browserfehler
- mobile Fehler

---

# Phase 8 – AdSense erst nach dem Basis-Launch

AdSense nicht als allerersten Schritt einbauen. Erst muss die Seite einen klaren eigenständigen Nutzerwert und ausreichenden öffentlichen Content haben.

Vor dem AdSense-Antrag:

- [ ] Impressum und Datenschutz live
- [ ] Consent Management eingerichtet
- [ ] mehrere hochwertige Tool-Seiten live
- [ ] keine leeren oder dünnen Unterseiten
- [ ] keine Platzhaltertexte
- [ ] Kontaktmöglichkeit vorhanden
- [ ] Search Console eingerichtet
- [ ] Anzeigen nicht in interaktive Buttons integrieren
- [ ] Anzeigen klar als Werbung erkennbar
- [ ] keine Klickanreize
- [ ] keine Werbung vor dem eigentlichen Tool, wenn dadurch die Nutzung gestört wird

Das Ziel ist nicht möglichst viele Anzeigen, sondern maximaler regelkonformer Umsatz bei guter UX.

---

# Phase 9 – Go-Live-Ablauf

## Einen Tag vor dem Launch

- [ ] finalen Git-Commit/Backup erstellen
- [ ] Produktionsvariablen prüfen
- [ ] Domain-DNS prüfen
- [ ] HTTPS prüfen
- [ ] Build und Lint erneut ausführen
- [ ] mobile Smoke-Test durchführen
- [ ] rechtliche Seiten prüfen
- [ ] Social Preview testen
- [ ] robots.txt testen
- [ ] sitemap.xml testen

## Zum Launch

- [ ] Domain auf Produktionsversion zeigen lassen
- [ ] Startseite öffnen
- [ ] alle Haupt-URLs mit 200 testen
- [ ] HTTPS-Redirect testen
- [ ] Canonical im HTML prüfen
- [ ] robots.txt aufrufen
- [ ] sitemap.xml aufrufen
- [ ] Search Console bestätigen
- [ ] Sitemap einreichen
- [ ] erste URL-Inspektion starten

## Direkt nach dem Launch

- [ ] Server-/Browserfehler beobachten
- [ ] Search Console Coverage prüfen
- [ ] Mobile Usability prüfen
- [ ] Social Share testen
- [ ] mindestens ein Tool auf iPhone und Android testen
- [ ] Nutzerfeedback sammeln
- [ ] keine großen Content- oder URL-Änderungen ohne Redirect-Plan

---

# Go/No-Go-Checkliste

Die Website darf live gehen, wenn alle Punkte erfüllt sind:

- [ ] Domain und HTTPS funktionieren
- [ ] Impressum vorhanden
- [ ] Datenschutz vorhanden
- [ ] Kontaktmöglichkeit vorhanden
- [ ] Build erfolgreich
- [ ] Lint erfolgreich
- [ ] keine Console Errors
- [ ] alle Kern-Tools funktionieren
- [ ] mobile Smoke-Tests bestanden
- [ ] Canonical korrekt
- [ ] robots.txt vorhanden
- [ ] sitemap.xml vorhanden
- [ ] keine versehentliche Noindex-Sperre
- [ ] Analytics/Consent-Entscheidung umgesetzt
- [ ] Backup vorhanden

**Wenn ein rechtlicher Punkt, HTTPS, Build, Kernfunktion oder schwerer Mobile-Fehler offen ist: NO-GO.**

---

# Empfohlene Reihenfolge für die nächsten konkreten Arbeiten

1. Impressum, Datenschutz und Kontakt
2. Domain-/Canonical-Konfiguration
3. Lint-Fehler beheben
4. Mobile- und Accessibility-QA
5. Sitemap, Robots, Open Graph und JSON-LD
6. die fünf wichtigsten SEO-Unterseiten erstellen
7. Search Console und Monitoring einrichten
8. Website live nehmen
9. zwei bis vier Wochen Daten sammeln
10. erst danach AdSense beantragen und vorsichtig einbauen
