Automatisierte Website-Audits bei kanka.dev
Bei jedem unserer Wartungskunden gehörte bisher ein Ritual zur Routine: alle ein, zwei Wochen die Website mit Google Lighthouse durchklicken. Performance, SEO, Barrierefreiheit, Best Practices — vier Werte pro Seite, mehrere Seiten pro Site, und das Ganze für jeden Kunden einzeln. Notizen ins Wartungsprotokoll, vergleichen mit dem letzten Stand, ggf. Tickets aufmachen.
Das funktioniert. Aber es ist mühselig, leicht zu vergessen und vor allem nicht skalierbar: Bei vielen aktiv betreuten Websites kostet eine sorgfältige Runde gut eine bis zwei Stunden, und das mehrmals im Monat. Hinzu kommen die anderen Wartungs-Bausteine — Uptime-Checks, Server-Monitoring, Backup-Verifikation, Update-Prüfungen — die alle einzeln Aufmerksamkeit fordern.
Deshalb arbeiten wir bei kanka.dev seit Längerem daran, jede dieser wiederkehrenden Aufgaben in unseren Monitoring-Stack zu übernehmen. Der Lighthouse-Teil ist jetzt fertig — und weil das Tool kompakt und nützlich ist, haben wir es als Open Source veröffentlicht:
https://github.com/kanka-dev/unlighthouse-monitor

Was es tut
Dieser Baustein konzentriert sich auf das, was Lighthouse misst: Performance, Barrierefreiheit, SEO und Best Practices auf der Frontend-Seite. Konkret läuft das so:
- Zweimal pro Woche (bspws. Dienstag und Freitag, 03:00 Uhr) startet ein Cron-Job auf unserem Server.
- Für jede der gepflegten Websites wird ein vollständiger Lighthouse-Scan durchgeführt — und zwar nicht nur die Startseite, sondern eine repräsentative Stichprobe aus dem gesamten Site-Crawl (dank des fantastischen Unlighthouse von Harlan Wilton).
- Die Ergebnisse landen in einem historisierten Archiv — wir können also Wochen oder Monate zurückblicken und Trends erkennen.
- Ein statisches Dashboard zeigt alle Sites auf einen Blick mit farbcodierten Scores: grün, wenn alles passt, gelb bei knappen Werten, rot bei Verstößen gegen unsere Qualitäts-Schwellen.
- Mattermost (unser Team-Chat) bekommt nach jedem Run eine Zusammenfassung. Wenn eine Site die Schwellen reißt, gibt’s einen Alarm mit Detail-Block und Direktlinks zu den betroffenen Reports.

Ein Baustein in unserem Monitoring-Stack
Unlighthouse-Monitor steht bei uns nicht allein. Es ist Teil einer Monitoring-Familie, in der jedes Tool eine klar abgegrenzte Frage beantwortet:
- Uptime Kuma — Ist die Site überhaupt erreichbar? (HTTP-Statuscodes, SSL-Ablauf, Antwortzeiten)
- Zabbix — Wie geht’s dem Server? (CPU, RAM, Disk, Netzwerk, Dienste)
- unlighthouse-monitor — Wie schnell, zugänglich und auffindbar ist die Site für echte Besucher?
- CrowdSec + Authentik — Wer versucht, was anzugreifen, und wer hat berechtigt Zugriff?
- und einiges mehr
Alle diese Werkzeuge laufen self-hosted im selben Docker-Compose-Stack, schicken ihre Alarme in Mattermost-Channels und sind hinter SSO geschützt. So entsteht ein zusammenhängendes Bild: Wenn morgens etwas auffällt, ist sofort klar, ob es eine Performance-Regression, ein Server-Problem oder ein Angriff ist — ohne in fünf verschiedenen Tools zu suchen.
Warum wir Unlighthouse-Monitor selbst gebaut haben
Es gibt kommerzielle Lösungen wie Calibre, DebugBear oder SpeedCurve. Die sind hervorragend, kosten aber 30-150 € pro Monat und legen Daten extern ab. Auf der anderen Seite gibt es den offiziellen Lighthouse CI Server — der ist kostenlos, aber für Build-Pipelines gemacht, nicht für periodisches Monitoring von Production-Websites.
Wir wollten etwas dazwischen: leichtgewichtig, selbst gehostet, ohne Datenbank, mit Mattermost-Integration und einer simplen YAML-Datei für die Site-Liste — passend zu den anderen Tools in unserem Stack. So einfach, dass eine neue Kunden-Website in zwei Zeilen YAML dazukommt:
- name: neuer-kunde.de
url: neuer-kunde.de
Globale Defaults (Schwellenwerte, mobile/desktop-Modus, Sampling) gelten für alle Sites — Per-Site-Override nur dort, wo es nötig ist.
Der technische Kern in zwei Sätzen
Ein Docker-Container mit Node.js, Chromium und supercronic führt zur eingestellten Zeit unlighthouse-ci für jede Site aus. Drei kleine JavaScript-Skripte (~500 Zeilen Code) orchestrieren den Lauf, generieren ein statisches HTML-Dashboard und senden die Mattermost-Notification.
Der gesamte Service-Stack: ein Container für den Runner, ein zweiter (nginx) für das Dashboard. Das war’s. Keine Datenbank, kein Queue-System, kein Login-Server. Hinter Traefik und unserem Authentik-SSO geschützt, die wir ohnehin für andere Dienste betreiben.
Was sich für unsere Kunden geändert hat
Drei Dinge:
- Wir reagieren schneller. Wenn eine Seite plötzlich auf einen Lighthouse-Performance-Score von 70 abrutscht — etwa weil ein Plugin-Update ein neues, unoptimiertes JavaScript-Bündel mitbringt — sehen wir das innerhalb von Stunden, nicht erst beim nächsten manuellen Audit.
- Wir liefern bessere Berichte. Wartungsverträge bei kanka.dev enthalten ein regelmäßiges Reporting, falls erwünscht. Statt einer einzelnen Lighthouse-Stichprobe können wir jetzt Trendverläufe über Wochen zeigen. Das ist deutlich aussagekräftiger und beweist dem Kunden, dass aktiv überwacht wird.
- Wir können mehr Wartungs-Mandate annehmen. Wenn jeder Baustein der Wartung ein Stück automatisierter wird, verschiebt sich unsere Zeit dorthin, wo sie wirklich Wert schafft: tatsächliche Verbesserungen umsetzen statt sie zu suchen.
Open Source — weil das Tool simpel genug ist
Wir haben den gesamten Code als MIT-lizenziertes Repository auf GitHub veröffentlicht:
👉 github.com/kanka-dev/unlighthouse-monitor
Wer einen Server hat (oder selbst einen aufsetzen will) und Docker Compose bedienen kann, ist in einer Viertelstunde startklar. Das README erklärt das gesamte Setup; eine Demo-Datengenerierung ist eingebaut, mit der man das Dashboard direkt ohne echte Scans ausprobieren kann.
Pull Requests sind willkommen — wir haben das Tool für unseren konkreten Use-Case gebaut, aber die Architektur ist bewusst offen gehalten:
- Notification-Backend tauschbar (heute Mattermost, morgen Slack/Discord/Email)
- Hosting-Variante wählbar (direkt per Port oder hinter Traefik)
- Schwellenwerte und Optionen pro Site beliebig konfigurierbar
Du brauchst Wartung für Deine Website?
Wenn Du Inhaber:in eines Servers, einer WordPress-, Shopware- oder anderen produktiven Website bist und Dich fragst, ob bei Dir alles läuft, lädt und auffindbar ist — dann reden wir gerne. Wir bieten fortlaufende Wartungspakete für Unternehmens-Websites an, mit:
- Automatisiertem Monitoring (genau wie hier beschrieben)
- Regelmäßigen Updates (Core, Plugins, Themes)
- Sicherheits- und Backup-Strategie
- Quartalsweisem oder monatlichem Reporting
- Direktem Ansprechpartner — kein Ticket-Limbo
📩 Schreibe uns über das Kontaktformular am Ende der Seite.
Wir schauen uns Deine Site einmalig kostenlos an und sagen ehrlich, ob (und wo) Handlungsbedarf besteht.
