Technik und Aufbau (68 Regeln)
Dieser Prüfbereich zeigt, wie erreichbar und technisch aufgebaut eine Website ist. Geprüft werden unter anderem Weiterleitungen, HTTP-Verbindungen, Caching und die Ausgabe im Browser. Auch fehlerhafte Links und auffällige Dateien können im Bericht erscheinen. Die Ergebnisse sind nach ihrer Schwere sortiert und mit der betroffenen Adresse verknüpft. So kann ein Betreiber die technische Ursache an den passenden Hoster oder Entwickler weitergeben.
| Kennung | Fund, wenn … | Soll-Zustand | Schwere | Behebung |
|---|---|---|---|---|
PERF-01 | Keine Kompression | Text-Ressourcen komprimiert ausgeliefert | Mittel | ca. 45 min |
PERF-02 | Kein Cache für statische Dateien | Statische Ressourcen mit langer Cache-Lebensdauer | Leicht | ca. 45 min |
PERF-03 | Große Bilder | Große Rasterbilder (JPEG/PNG über 100 KB) | Hinweis | ca. 45 min |
HTTP-01 | Seite nicht erreichbar | Inhaltsseite direkt erreichbar | Schwer | ca. 15 min |
HTTP-02 | HTTPS fehlt | Gültiges HTTPS | Schwer | ca. 15 min |
HTTP-03 | Mehrere Adressvarianten | Varianten dauerhaft auf bevorzugtes Ziel | Mittel | ca. 15 min |
HTTP-04 | Keine echte 404 | Zufallspfad 404/410 | Mittel | ca. 15 min |
SSR-01 | Inhalt nur per JavaScript | Titel/H1/Haupttext ohne JavaScript | Mittel | nach Sichtung |
SSR-02 | Template-Reste sichtbar | Keine sichtbaren Template-Reste | Mittel | nach Sichtung |
UX-01 | Zoomsperre | Viewport ohne Zoomsperre | Mittel | ca. 15 min |
UX-02 | Seitliches Scrollen bei 320 px | Reflow 320px | Mittel | ca. 120 min |
UX-03 | History-Manipulation (Zurück-Button) | Keine History-Einträge beim Laden (Back-Button-Hijacking, Spamrichtlinie seit 15.06.2026; pushState = mittel) | Hinweis | ca. 45 min |
HTML-01 | HTML-Fehler | Nu ohne Fehler | Mittel | ca. 120 min |
TECH-04 | Server verrät Versionen | Server/X-Powered-By ohne Versionsangabe | Leicht | ca. 15 min |
TECH-05 | Verzeichnislisting offen | Kein Verzeichnislisting erreichbar | Schwer | ca. 15 min |
TECH-06 | Admin- oder Diagnoseseite öffentlich | Admin-/Diagnosepfade nicht öffentlich | Schwer | ca. 15 min |
TECH-07 | Kein HTTP/2 oder HTTP/3 | HTTP/2 oder HTTP/3 für die Startseite | Leicht | ca. 45 min |
TECH-08 | Nur gzip statt Brotli | HTML mit Brotli oder zstd komprimiert | Leicht | ca. 15 min |
TECH-09 | Weiterleitungskette | Keine Weiterleitungsketten über einen Hop, kein Meta-Refresh | Mittel | ca. 45 min |
TECH-10 | http leitet nicht direkt auf https | http:// leitet in einem Hop auf das https-Ziel | Mittel | ca. 15 min |
TECH-11 | Pfadvariante liefert zweite Fassung | Pfadvarianten (Groß-/Kleinschreibung, Slash) liefern keine zweite 200-Fassung | Mittel | ca. 15 min |
TECH-12 | Interne Links auf Weiterleitungen | Interne Links zeigen nicht auf Weiterleitungen | Leicht | ca. 45 min |
TECH-13 | Kaputte Links oder Ressourcen | Interne Links und Ressourcen ohne 4xx/5xx | Schwer | ca. 45 min |
TECH-14 | Soft-404 | Keine Soft-404 (Fehlertext mit Status 200) | Mittel | ca. 120 min |
TECH-15 | 404-Seite ohne Hilfe | Eigene 404-Seite mit Navigation | Leicht | ca. 45 min |
TECH-16 | Mixed Content oder unsichere Formulare | Kein Mixed Content, keine http-Formulare, keine protokollrelativen Ressourcen | Schwer | ca. 120 min |
TECH-17 | Seite zu groß oder zu viele Elemente | HTML unter 1 MB und unter 1.500 DOM-Knoten | Mittel | ca. 120 min |
TECH-18 | Blockierendes oder unbenutztes CSS/JS | Kein render-blockierendes, unbenutztes oder doppeltes CSS/JS | Leicht | ca. 120 min |
TECH-19 | Bilder nicht optimiert | Bilder in modernen Formaten und passender Größe | Mittel | ca. 120 min |
TECH-20 | Webfonts blockieren Text | Schriften mit font-display, keine blockierenden Webfonts | Leicht | ca. 45 min |
TECH-21 | Drittanbieter bremsen | Drittanbieter-Skripte blockieren den Hauptthread nicht | Mittel | ca. 120 min |
TECH-22 | JavaScript-Fehler oder veraltete APIs | Keine JavaScript-Konsolenfehler und veralteten APIs | Mittel | ca. 45 min |
TECH-23 | HTML-Caching falsch konfiguriert | HTML nicht immutable gecacht, Validatoren (ETag/Last-Modified) vorhanden | Leicht | ca. 45 min |
TECH-24 | Doctype, Zeichensatz oder Sprache fehlt | Doctype, Charset und gültiges lang-Attribut | Mittel | ca. 15 min |
TECH-25 | Veraltete Plugins oder Frames | Keine Plugins (Flash/Java/Silverlight), keine Framesets | Mittel | nach Sichtung |
TECH-26 | Unsaubere Adresse | URL-Hygiene: keine Großbuchstaben, Leerzeichen, Unterstriche, doppelten Slashes, über 115 Zeichen | Leicht | ca. 45 min |
TECH-27 | Such- oder Tracking-Parameter verlinkt | Keine Such-/Tracking-Parameter in internen Links | Leicht | ca. 45 min |
TECH-30 | Mobil schwer bedienbar | Mobil: Tap-Ziele und Viewport nach Lighthouse | Mittel | ca. 45 min |
TECH-31 | Icons oder Theme-Color fehlen | Favicon, Apple-Touch-Icon, theme-color | Leicht | ca. 45 min |
TECH-33 | Server antwortet langsam | Serverantwortzeit (TTFB) unter 800 ms | Mittel | nach Sichtung |
TECH-34 | Kein HTTP/3 | HTTP/3 per Alt-Svc angeboten | Leicht | ca. 15 min |
TECH-36 | Roh-HTML und gerenderte Seite weichen ab | Wort- und Linkzahl im Roh-HTML entsprechen dem gerenderten DOM | Mittel | nach Sichtung |
TECH-37 | Canonical per JavaScript verändert | Canonical im DOM gleich dem Roh-HTML | Mittel | ca. 45 min |
TECH-38 | head vorzeitig beendet | head nicht durch ungültige Elemente vorzeitig beendet | Schwer | ca. 45 min |
TECH-39 | TRACE/TRACK aktiv | TRACE/TRACK abgeschaltet | Mittel | ca. 15 min |
TECH-43 | Fehlermeldungen mit Interna | Keine Stacktraces, SQL- oder PHP-Fehler in Antworten | Schwer | ca. 45 min |
TECH-45 | HTML-Kommentare mit Interna | Keine HTML-Kommentare mit Zugangsdaten, internen Hosts oder Entwicklernotizen | Mittel | ca. 45 min |
TECH-46 | CMS-Version erkennbar | Framework/CMS-Fingerprint ohne Versionsangabe | Leicht | ca. 45 min |
TECH-47 | WordPress gibt Interna preis | WordPress: readme, xmlrpc, Nutzerliste, debug.log, Uploads-Listing nicht öffentlich | Schwer | ca. 120 min |
TECH-50 | Login unsicher oder indexierbar | Login-Formulare nur über HTTPS, Login-Seiten nicht indexierbar | Schwer | ca. 120 min |
TECH-51 | Sitzungs-Cookie ungeschützt | Sitzungs-Cookies mit HttpOnly und Secure, Laufzeit unter 24 h | Mittel | ca. 45 min |
TECH-52 | Sensible Daten im Browser-Speicher | Keine Tokens oder Personendaten im Browser-Speicher | Mittel | ca. 45 min |
TECH-56 | Host-Header wird übernommen | Fremder Host-Header landet nicht in Links oder Canonical | Mittel | ca. 45 min |
TECH-58 | Konto- oder Kassenseiten cachebar | Konto-, Warenkorb- und Kassenseiten mit Cache-Control: no-store | Mittel | ca. 15 min |
TECH-59 | Staging- oder interne Adressen veröffentlicht | Keine Staging-/internen Hosts in robots.txt und Sitemap | Mittel | ca. 15 min |
TECH-60 | Kein gültiger Feed | RSS/Atom-Feed verlinkt und gültig | Leicht | ca. 45 min |
TECH-63 | Caching-Kette dokumentiert | Caching-Kette (CDN, Vary, Age) dokumentiert | Hinweis | ca. 15 min |
TECH-66 | Web-App-Manifest unvollständig | Web-App-Manifest gültig (falls verlinkt) | Hinweis | ca. 45 min |
TECH-67 | AMP oder Prerender-Dienst | Kein AMP, Dynamic Rendering oder Prerender-Dienst | Hinweis | nach Sichtung |
TECH-68 | Startseite zu schwer | Gesamtgewicht der Startseite unter 3 MB | Mittel | ca. 120 min |
TECH-69 | Debug-Werkzeug öffentlich | Debug-, Profiler- und GraphQL-Werkzeuge nicht öffentlich | Schwer | ca. 15 min |
TECH-71 | Seite mit Cookie öffentlich cachebar | Seiten mit Set-Cookie nicht öffentlich cachebar | Leicht | ca. 15 min |
TECH-72 | Fremdskript ohne feste Version | Fremdskripte mit fester Version (kein @latest) | Leicht | ca. 15 min |
TECH-73 | Hydration-Fehler | Keine Hydration-Fehler zwischen Server- und Browser-HTML | Leicht | ca. 120 min |
PERF-04 | Back/Forward-Cache blockiert | Back/Forward-Cache nicht blockiert | Leicht | ca. 45 min |
TECH-35 | Nicht über IPv6 erreichbar | IPv6-Adresse (AAAA) vorhanden und erreichbar | Leicht | ca. 45 min |
TECH-64 | Nur ein Nameserver | Mindestens zwei Nameserver | Hinweis | ca. 15 min |
TECH-02 | CMS-Kern veraltet | CMS-Kern aktuell (WordPress gegen api.wordpress.org) | Schwer | ca. 120 min |