Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

MauricePutinas/SiteScan

Repository files navigation

SiteScan – 60-Sekunden Website-Audit & Conversion-Roast

Ö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

🎯 Das Problem

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.

💡 Die Lösung

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.

✨ Features

  • 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.

📸 Screenshots

Startseite Report – Score, Euro-Verlust, Subscores
Startseite Report
Conversion-Killer + Mobil-Screenshot Transparente Methodik (Quellen)
Killer Methodik

🛠️ Tech-Stack

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, ...)

🚀 Installation & Start (Windows)

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.

Mit Docker (Full-Stack, ein Befehl)

# optional: echten Key exportieren, sonst laeuft PSI degradiert
export PAGESPEED_API_KEY=...
docker compose up --build # Frontend auf http://localhost:8080

Tests

:: 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).

📐 Wie der Euro-Verlust berechnet wird (Transparenz)

Bewusst nachvollziehbar und quellenbasiert – Details + Quellen in docs/euro-loss-methodology.md, live im Tool unter /methodik.

×ばつ rückgewinnbare Conversion (aus Score, gedeckelt) ×ばつ durchschnittlicher Auftrags-/Lead-Wert (Annahme, editierbar)">
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).

🧩 Teil eines Funnels

  1. SiteScan – öffentliches Gratis-Audit (dieses Repo)
  2. MeisterSeiten – Festpreis-Redesign (1.490–5.900 €)
  3. TerminMagnet – Conversion-Landingpage mit Live-Buchung (149–299 €/Monat)

📜 Lizenz

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.

👤 Autor

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.

About

Oeffentliches 60-Sekunden Website-Audit & Conversion-Roast: macht den Umsatzverlust schlechter Websites in Euro sichtbar. FastAPI + Playwright + PageSpeed, React/Vite/Tailwind Dark-Glow-Glass.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

Contributors

AltStyle によって変換されたページ (->オリジナル) /