Technische Dokumentation unserer 14 Scan-Module
SiteGuard nutzt bewusst NICHT Google Lighthouse. Stattdessen verwenden wir eine eigene fetch-basierte Analyse-Engine, die auf Vercel Serverless läuft. Das bedeutet: konsistente Ergebnisse, keine Browser-Abhängigkeit, und deutlich schnellere Scans (2-3 Sekunden pro Seite statt 15-30 Sekunden mit Lighthouse).
Automatisierte Legal- und Accessibility-Scans liefern technische Hinweise und Prioritäten. Sie ersetzen keine Rechtsberatung, keine juristische Prüfung und keine manuelle WCAG/BFSG/EAA-Zertifizierung durch qualifizierte Expert:innen.
SiteGuard trennt bewusst zwischen gemessenen technischen Signalen, daraus abgeleiteten Prioritäten und Punkten, die eine manuelle oder rechtliche Prüfung brauchen. Diese Tabelle zeigt, wie belastbar die Ergebnisse je Bereich sind.
Gemessen
HTML-Signale wie lang-Attribut, Title, Alt-Texte, H1, Labels, Linktexte und ausgewählte WCAG-Zuordnung.
Nicht automatisiert bewertet
Tastaturnavigation, Screenreader-Verhalten, Fokusführung, Kontrast im gerenderten UI und vollständige WCAG/BFSG/EAA-Konformität.
Belastbarkeit
Hoch für technische Existenzsignale; mittel für die daraus abgeleitete Priorität.
Gemessen
Antwortzeit, Seitengröße, Ressourcenanzahl, Broken Links, Redirects, SSL-Status und Head-Request-Ergebnisse.
Nicht automatisiert bewertet
Echte Core Web Vitals wie LCP, CLS und INP ohne Browser- oder CrUX-Daten.
Belastbarkeit
Hoch für Fetch-, Header- und Link-Signale; keine Aussage zu echten Core Web Vitals.
Gemessen
Cookie-/Tracker-Muster, CMP-Erkennung, Impressum-/Datenschutz-Links, Kontakt- und HTTPS-Signale.
Nicht automatisiert bewertet
Juristische Vollständigkeit, individuelle Rechtsgrundlagen, Vertragslage, Datenflüsse und konkrete Mandanten-/Branchenpflichten.
Belastbarkeit
Mittel; die technische Evidenz ist belastbar, die rechtliche Bewertung bleibt ein Einzelfall.
Gemessen
Cookies, Storage, Third-Party-Requests und CMP-Deklarationen vor Consent, nach Ablehnen und nach Akzeptieren.
Nicht automatisiert bewertet
Rechtliche Freigabe des Consent-Designs, Formulierungen im Banner und vollständige Prüfung aller Datenschutztexte.
Belastbarkeit
Mittel bis hoch für beobachtete Browser-Zustände; keine juristische Freigabe.
Gemessen
Öffentlich sichtbare Header, SSL/TLS, CSP, HSTS, Mixed Content, CORS-Hinweise und bekannte Frontend-Bibliotheksmuster.
Nicht automatisiert bewertet
Penetration Test, Auth-/Business-Logic-Schwachstellen, Server-Internals und nicht öffentlich sichtbare Infrastruktur.
Belastbarkeit
Hoch für beobachtbare Web-Signale; keine Aussage zu versteckten Schwachstellen.
Gemessen
Meta-Tags, robots.txt, Sitemap, Canonical, hreflang, strukturierte Daten, Crawl-Abdeckung und Noindex-Konflikte.
Nicht automatisiert bewertet
Tatsächliches Google-Ranking, garantierte Indexierung, Suchvolumen, Backlink-Qualität und Wettbewerbsanalyse.
Belastbarkeit
Hoch für technische Auffindbarkeitssignale; keine Ranking- oder Indexierungsgarantie.
HTML-Musteranalyse + Cookie-Header
Scoring: Start 100. Kein Consent-Banner: -50. Tracker ohne Consent: -10 je (max -30). Nicht-essentielle Cookies: -5 je (max -20).
HTML-Regex-Analyse (kein axe-core Browser nötig)
Scoring: Start 100. Fehlendes lang: -15. Fehlender Title: -10. Bilder ohne alt: -3 je (max -20). Inputs ohne Label: -5 je (max -15). Kein H1: -10.
HTML-Analyse + HEAD-Requests + JSON-LD-Parsing
Scoring: 28+ Einzelchecks. Fehlender Title: -15. Fehlende Meta: -15. Kein OG: -10. Kein Structured Data: -10. Plus GEO-Score 0-100 separat.
fetch() + node:https für SSL-Inspektion
Scoring: Start 100. Fehlendes HSTS: -15. Fehlendes/schwaches CSP: -15. SSL-Probleme: bis -30. CORS-Wildcard: -10. Mixed Content: -3 je. Server-Leak: -3 je.
fetch() mit Timing + HEAD-Requests für Links
Scoring: Start 100. Response >3s: -20, >5s: -30. Broken intern: -5 je. Broken extern: -2 je. Broken Image: -3 je. Redirect-Ketten: -2 je.
HTML-Musteranalyse auf allen gescannten Seiten
Scoring: Start 100. Kein Analytics: -20. GA ohne GTM: -10. Kein DataLayer mit GTM: -15. Inkonsistente Tags: -3 je (max -9).
HTML-Musteranalyse für DACH-Recht
Scoring: Start 100. Kein Impressum: -25. Kein Datenschutz: -25. Kein Cookie-Banner: -15. Kein AGB: -10. Kein Kontakt: -10.
Text-Fingerprinting + Vergleich
Scoring: 100 = keine Änderung. 80 = geringe Änderung (<10%). 50 = signifikant. 30 = massiv.
node:https + node:dns + RDAP API
Scoring: Start 100. SSL abgelaufen: -40. SSL <7 Tage: -25. Kein DMARC: -10. Kein SPF: -10. Domain <30 Tage: -15.
fetch() + Seitengröße-Messung
Scoring: A+ = 100. A = 85. B = 70. C = 50. D = 30.
HTML + Response-Header-Analyse
Scoring: Informativ — immer Score 100. Keine Abzüge.
HTML src/href-Extraktion + Domain-Klassifizierung
Scoring: Start 100. >10 Drittanbieter: -5. >20: -15. Hochrisiko: -10 je (max -30). Unbekannt: -3 je (max -15).
Browser-/Fetch-basierter Companion-Scan mit drei Consent-Zuständen
Scoring: Eigener Score aus Consent-Findings. Cookie Audit läuft als website-skopierter Companion-Scan und wird nicht als normales scan_result-Modul gespeichert.
robots.txt + Sitemap-Fetching + Crawl-Vergleich
Scoring: Eigener Score aus Discoverability-Findings. Discoverability läuft als website-skopierter Companion-Scan und wird separat gespeichert.
Jeder Scan analysiert bis zu 5 Seiten (Root + 4 Unterseiten aus Sitemap und internen Links).
Alle 5 Minuten Ping-Check mit Statusverlauf, Response-Time und Downtime-Alerts.
Claude AI generiert Management-Zusammenfassungen mit Top-5 Maßnahmen auf Deutsch.
Gebrandeter PDF-Report mit Scores, Charts und Issues zum Download.
Scan-Ergebnisse als CSV oder JSON für weitere Analyse.
Verlaufsdiagramm zeigt Score-Entwicklung über alle Scans.
Automatische Scans täglich, wöchentlich oder monatlich via Inngest Cron.
Google Lighthouse ist unzuverlässig in Serverless-Umgebungen, gibt inkonsistente Ergebnisse und braucht einen vollständigen Chrome-Browser. SiteGuard verwendet stattdessen eine eigene fetch-basierte Engine: konsistente Ergebnisse, 2-3 Sekunden pro Seite (statt 15-30s), und läuft auf Vercel Serverless ohne Chromium.
Hinweis: Echte Core Web Vitals (LCP, CLS, INP) benötigen einen Browser. Diese können später über die CrUX API (Chrome Real-User-Daten) ergänzt werden — zuverlässiger als Lighthouse Lab-Daten.