Öffentliches Audit-Tool, das jede Firmen-Website in 60 Sekunden zerlegt und die gefundenen Conversion-Killer live in „~2.840 € pro Monat verschenkt" übersetzt. Domain rein → Score-Ring, Euro-Verlust-Zähler und rot markierter Mobil-Screenshot raus.
Gebaut als öffentliche Lead-Maschine: jedes Audit ist ein potenzieller Redesign-Auftrag. FastAPI + Playwright + Google PageSpeed Insights im Backend, React + Vite + Tailwind im Dark-Glow-Glass-Stil im Frontend.
SiteScan – 60-Sekunden-Audit, Score-Ring & Euro-Verlust live
Die meisten KMU-Websites laden zu langsam, sind auf dem Handy kaum bedienbar und haben keinen klaren Weg zu Kontakt oder Termin – jeder zweite Besucher springt ab, bevor er anfragt. Der Schaden ist unsichtbar: kein Fehler, keine Beschwerde, nur Anfragen, die nie ankommen – schnell mehrere tausend Euro entgangener Umsatz pro Monat.
SiteScan macht diesen unsichtbaren Schaden in 60 Sekunden sichtbar und in Euro greifbar. Der GF gibt nur seine Domain ein; im Hintergrund laufen ein echter Live-Crawl (Lighthouse via PageSpeed Insights), ein Mobil-Screenshot via Playwright und Heuristik-Checks. Jeder gefundene Conversion-Killer wird über einen transparent hinterlegten Verlust-Rechner in einen monatlichen Euro-Betrag übersetzt – kein Bauchgefühl, sondern nachvollziehbare Annahmen mit Quellenangabe.
- 60-Sekunden-Audit per Domain-Eingabe – kein Login, öffentlich nutzbar
- Echter Live-Crawl über Google PageSpeed Insights / Lighthouse (mobile)
- Mobil-Screenshot via Playwright, mit rot markierten Conversion-Killern als Overlay
- Heuristik-Checks: fehlende CTAs/Telefon, kein Impressum, fehlendes SSL, nicht mobiltauglich, keine Terminbuchung u. a.
- Euro-Verlust-Rechner mit offengelegter, versionierter Benchmark-Quelle – mit live editierbarer Besucherzahl + Auftragswert, hält kritischer GF-Nachfrage stand
- WOW-Animation (Dark-Glow-Glass): Score-Ring rast hoch und stoppt farbig (grün→rot), Euro-Zähler tickt auf den Verlust hoch
- Graceful Degradation: fällt PageSpeed aus, läuft das Audit auf Heuristik + Screenshot weiter
- SSRF-Schutz (DNS-Auflösung + IP-Blocklist), Rate-Limiting, 24-h-Domain-Cache
- Lead-Erfassung (DSGVO-Consent) + klarer Funnel-CTA Richtung Redesign-Angebot
- PDF-Report (ReportLab) als Lead-Magnet hinter dem E-Mail-Gate
- Teilbare Share-Card (×ばつ630 PNG, Dark-Glow) + OG-Share-Seite für Rich-Link-Vorschauen (WhatsApp/LinkedIn)
- Wettbewerbsvergleich: Konkurrenz-Domain live scannen, Scores & Verlust nebeneinander
- 12 Heuristik-Checks (u. a. Telefon-CTA, Online-Terminbuchung, Standort/Karte, Social-Media, Alt-Texte)
- Mock-Modus (
MOCK_MODE=1): komplett offline lauffähig, ohne Key und ohne Chromium
Vollständige, geprüfte Funktionsliste: FEATURES.md.
| Startseite | Report – Score, Euro-Verlust, Subscores |
|---|---|
| Startseite | Report |
| Conversion-Killer + Mobil-Screenshot | Transparente Methodik (Quellen) |
|---|---|
| Killer | Methodik |
| Bereich | Technologie |
|---|---|
| Backend | FastAPI (async), Python 3.11+ |
| Audit-Engine | Google PageSpeed Insights API (Lighthouse) + eigene Heuristik-Checks |
| Screenshots | Playwright (Chromium, Mobil-Viewport) mit Killer-Overlay |
| Frontend | React 18 + Vite + TypeScript + Tailwind CSS (Dark-Glow-Glass) |
| Datenhaltung | SQLite (async, WAL) via SQLAlchemy – Audit-Cache, Leads, versioniertes Benchmark-Profil |
| Verlust-Rechner | Eigene Engine mit transparent dokumentierten Benchmark-Annahmen |
| Deploy | Render (API+Worker, Dockerfile beiliegend) / Cloudflare Pages (Frontend) |
Architektur: Audit = asynchroner Job (Status in DB + SSE/Polling-Fortschritt). Der Worker lädt die Seite mobil (Screenshot + DOM-Heuristik in einem Pass), ruft parallel PageSpeed Insights ab, kombiniert beides deterministisch zum Score und reicht ihn durch den versionierten Verlust-Rechner. Ergebnis als JSON ans Frontend, das Score-Ring + Euro-Zähler animiert.
backend/ app/{api,services} – FastAPI, Orchestrator, Scoring, LossCalculator, SSRF-Guard, Browser, PSI
frontend/ src/{views,components,lib} – Landing, ScanProgress (SSE), Report (ScoreRing, EuroCounter, ...)
Voraussetzungen: Python 3.11+, Node.js 18+. Ein Google-PageSpeed-Key ist optional (ohne Key läuft PSI mit niedrigerer Quota bzw. degradiert sauber).
:: 1) Backend cd backend python -m venv .venv .venv\Scripts\activate pip install -r requirements.txt playwright install chromium copy .env.example .env :: optional: PAGESPEED_API_KEY eintragen python -m uvicorn app.main:app --port 8077 :: 2) Frontend (zweites Terminal) cd frontend npm install npm run dev :: http://localhost:5247
Bequemer: run-dev.bat im Projekt-Root startet beides.
Browser auf http://localhost:5247 öffnen, Domain eingeben, Audit starten.
Sofort-Demo ohne alles: MOCK_MODE=1 setzen – deterministische Beispieldaten, kein Netz/Chromium nötig.
# optional: echten Key exportieren, sonst laeuft PSI degradiert export PAGESPEED_API_KEY=... docker compose up --build # Frontend auf http://localhost:8080
:: Backend – 25 Tests (SSRF-Guard, Scoring, Euro-Rechner, PDF/Card, End-to-End-API, Mock) cd backend && .venv\Scripts\activate && pytest :: Frontend – 3 Playwright-E2E im echten Browser (startet Mock-Backend + Frontend selbst) cd frontend && npm run e2e
CI (GitHub Actions): Backend-Tests, Frontend-Build und E2E bei jedem Push. Die fertige Pipeline
liegt unter docs/github-actions-ci.yml – zum Aktivieren nach
.github/workflows/ci.yml kopieren (im GitHub-UI unter „Actions" einfügbar, oder lokal mit einem
Token, der den workflow-Scope hat).
Bewusst nachvollziehbar und quellenbasiert – Details + Quellen in
docs/euro-loss-methodology.md, live im Tool unter /methodik.
Monatlicher Verlust ≈ Besucher/Monat (Annahme, editierbar)
×ばつ rückgewinnbare Conversion (aus Score, gedeckelt)
×ばつ durchschnittlicher Auftrags-/Lead-Wert (Annahme, editierbar)
Konservativ by design, als Spanne statt Punktwert, jede Annahme versioniert (BenchmarkProfile).
- SiteScan – öffentliches Gratis-Audit (dieses Repo)
- MeisterSeiten – Festpreis-Redesign (1.490–5.900 €)
- TerminMagnet – Conversion-Landingpage mit Live-Buchung (149–299 €/Monat)
Open-Core / MIT – siehe LICENSE. Der Audit-Kern (Crawl, Heuristik, Score-Ring,
Verlust-Rechner-Logik) ist Open Source. Kommerzielle Erweiterungen (gehostete Multi-Tenant-Version,
White-Label, Lead-CRM) sind nicht Teil dieses Repos.
Maurice Putinas — Produktion & Self-taught AI/Automation Developer. Über 13 Jahre Produktion; baut Tools, die reale Abläufe automatisieren – von Shopfloor-Apps bis zu öffentlichen Lead-Maschinen wie SiteScan.