gooddeploy
Handbuch · Kapitel 20

Zugriffe

gooddeploy zählt auf Wunsch, wer deine Seite aufruft: Besucher, Aufrufe, geschätzter Anteil von Menschen, Herkunftsländer, meistbesuchte Seiten und Antwortzeiten. Die Zahlen kommen aus den Zugriffen auf unsere Server, ohne Skript in deiner Seite und ohne Cookies. Du siehst sie im Dashboard im Reiter „Zugriffe“ und mit gooddeploy stats.

Einschalten

Die Zugriffsstatistik ist je Projekt aus, bis du sie einschaltest. Das geht mit dem Recht settings (siehe Rechte):

gooddeploy stats on
gooddeploy stats off

Im Dashboard findest du den Schalter im Projekt unter „Einstellungen“, Karte „Zugriffsstatistik“. Nach dem Einschalten erscheinen die ersten Zahlen nach wenigen Minuten. Bis dahin steht „Noch keine Zugriffe gezählt“.

Nach dem Ausschalten werden keine neuen Zugriffe mehr gespeichert. Bereits gezählte Zahlen bleiben sichtbar, bis sie gelöscht werden: 5-Minuten-Werte nach 7 Tagen, Stundenwerte nach 90 Tagen, Tageswerte nach 13 Monaten. Entfernst du ein Projekt endgültig, sind auch seine Zahlen weg.

Was gezählt wird

ZahlBedeutung
Besuchergeschätzt, ohne Cookies; jeder Tag zählt neu, über mehrere Tage heißen sie „Besucher-Tage“
Sitzungengeschätzt; nach 30 Minuten ohne Aufruf beginnt eine neue
Aufrufealle Anfragen, also Seiten, Bilder, Skripte und Schnittstellen
Anteil Menschengeschätzt: Aufrufe von Browsern und Apps, die sich wie Besucher verhalten (siehe unten); der Rest sind Suchmaschinen und andere Crawler, die sich ausweisen, und Bots
AntwortzeitZeit, bis deine App antwortet (ohne Übertragung zum Browser); „P95“ heißt: 95 % der Anfragen waren schneller
Herkunftsländernur Menschen, aus der IP-Adresse (IP Geolocation by DB-IP)
Meistbesuchte SeitenPfad ohne Query; Kennungen im Pfad stehen als :id, sehr seltene Seiten fehlen

Besucher und Sitzungen zählen standardmäßig nur Menschen. Die Zahl der Menschen ist eine Schätzung. gooddeploy erkennt Crawler und Bots zuerst an der Angabe des Browsers bzw. Programms (User-Agent). Viele Scanner geben sich aber als Browser aus; darum zählt ein Browser zusätzlich nur dann als Mensch, wenn er sich wie ein Besucher verhält:

  • Er lädt zur Seite auch Dateien nach (CSS, Skripte, Bilder, Schriften) oder hat die Seite schon im Browser-Cache (der Server antwortet mit 304). Wer nur die Seite abruft und nichts nachlädt, zählt als Bot. Apps auf dem Handy laden keine Dateien und zählen gleich als Mensch.
  • Er fragt keine typischen Angriffspfade ab: /.env…, /.git/… und ähnliche Geheimnis-Dateien immer; /wp-…, /admin… und ….php nur, wenn deine Seite sie nicht hat (Antwort 4xx). Hat dein Projekt WordPress oder einen eigenen /admin-Bereich, zählen dessen Besucher weiter als Menschen.
  • Seine Seitenaufrufe enden nicht überwiegend mit Fehlern: ab drei Seitenaufrufen mehr als die Hälfte mit 4xx, bevor er als Mensch erkannt ist. 401 (Passwortschutz) und fehlende Bilder oder Skripte zählen dabei nicht mit.

Dafür merkt sich gooddeploy je Besucher nur ein paar Zähler im Arbeitsspeicher, bis Mitternacht (UTC); gespeichert wird weiter keine IP-Adresse. Bots, die sich als Browser ausgeben und Dateien nachladen, zählen weiter als Menschen mit; die echte Zahl kann darum niedriger sein. Sie kann aber auch höher sein: Es fehlen Menschen, deren Browser beim Wiederkommen alles aus dem Cache nimmt, ohne nachzufragen, Seiten ganz ohne nachgeladene Dateien (alles eingebettet) und Seiten, deren Dateien von einer anderen Adresse kommen (z. B. static.deine-domain.de statt www.deine-domain.de). Deshalb steht im Reiter „Zugriffe“ und bei gooddeploy stats der Hinweis „Schätzung; Bots mit Browser-Kennung können mitzählen“. Für den Verlauf und den Vergleich von Seiten taugen die Zahlen trotzdem.

Die Erkennung nach Verhalten gibt es seit November 2026. Ältere Zahlen bleiben, wie sie gezählt wurden, und können deutlich mehr Menschen zeigen.

Die Statistik speichert keine IP-Adressen, nur zusammengefasste Zahlen. Das Land kommt aus der IP-Adresse; ob ein Aufruf von einem Bot kommt, erkennen wir an der Angabe des Browsers bzw. Programms (User-Agent) und am Verhalten (siehe oben).

Im Dashboard

Der Reiter „Zugriffe“ eines Projekts zeigt oben die Auswahl:

  • Zeitraum: 24 Stunden (je Stunde), 7, 30 oder 90 Tage (je Tag),
  • Umgebung: Live, Previews oder beides,
  • Besucher: nur Menschen oder alle.

Darunter stehen die Kennzahlen, der Verlauf der Besucher (unter „Als Tabelle“ auch als Zahlen), „Wer ruft auf?“, Herkunftsländer, meistbesuchte Seiten, langsame Anfragen mit den langsamsten Stunden bzw. Tagen und die Antworten nach Statuscode. Erreichbarkeit und Laufzeit-Log stehen weiter darunter.

„Zugriffe“ im Hauptmenü zeigt alle Projekte des Teams mit Besuchern, Aufrufen, Anteil Menschen und Antwortzeit der letzten 7 Tage, das meistbesuchte oben.

Auf der Kommandozeile

gooddeploy stats
gooddeploy stats kunde-website --from 90d
gooddeploy stats --from 24h --granularity 1h --env all
gooddeploy stats --from 2026-11-01 --to 2026-11-08 --classes all --json

Ohne Projekt gilt das Projekt des Ordners (wie bei status). Ohne --from und --granularity zeigt stats die letzten 7 Tage je Tag. Mit --from, aber ohne --granularity wählt stats die Auflösung selbst: bis 2 Tage je Stunde, darüber je Tag. Die Ausgabe sieht so aus:

Zugriffe kunde-website
  Live · 31.10. bis 06.11.2026 · je Tag
  Besucher     1.234                  Besucher-Tage, geschätzt, nur Menschen
  Sitzungen    1.502                  geschätzt, neue nach 30 Min. Pause
  Aufrufe      12.345                 alle Dateien und Seiten
  Menschen     64 %                   Crawler 22 %, Bots 14 %
  Antwortzeit  P50 80 ms · P95 1,2 s  95 % der Anfragen schneller als P95
  Fehler       5xx 15 · 404 210       < 1 % Fehler der App
  Schätzung; Bots mit Browser-Kennung können mitzählen.

Verlauf
  TAG     BESUCHER  AUFRUFE
  31.10.  150       1.500
  …

Danach folgen meistbesuchte Seiten, Herkunftsländer und Crawler.

OptionBedeutung
--env production|preview|allUmgebung, Standard production (Live)
--from <zeit>Beginn: Dauer zurück (7d, 24h, 90m, 2w), Datum (2026-11-01) oder Zeitpunkt (2026-11-01T10:00:00+01:00)
--to <zeit>Ende (ausschließlich), Formate wie --from; Standard jetzt
--granularity 5m|1h|1dAuflösung; höchstens 2 Tage mit 5m, 30 Tage mit 1h, 400 Tage mit 1d; ohne Angabe bis 2 Tage 1h, darüber 1d
--classes human|allBesucher und Sitzungen nur von Menschen (Standard) oder von allen
--jsondie Antwort der API maschinenlesbar, mit allen Punkten, Seiten, Ländern, Geräten, Betriebssystemen, Browsern und verweisenden Seiten

Ist die Statistik aus, sagt stats das und nennt gooddeploy stats on; ein zu langer Zeitraum für die Auflösung endet mit VALIDATION_FAILED und einem Hinweis.