Initialisieren

This commit is contained in:
2026-07-23 21:59:15 +02:00
commit 2d961adad4
76 changed files with 14318 additions and 0 deletions

384
LIVE-PLAN-entscheidomat.md Normal file
View File

@@ -0,0 +1,384 @@
# 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