Über die Seite: Referenzhandbuch für Website-Statistiken

:bookmark: Dies ist eine Referenzanleitung zur Beschreibung, wie die Statistiken auf der Seite /about berechnet werden und wo Sie den Ruby-Code für jede Statistik finden.

:person_raising_hand: Erforderliche Benutzerstufe: Alle Benutzer

Statistiken auf der Seite „Über"

Alle Discourse-Sites verfügen über eine integrierte Seite /about (zum Beispiel hier ist die Über-Seite für Meta), die eine Liste der Administratoren und Moderatoren der Site sowie einige Statistiken über die Site selbst enthält.

Diese Statistiken umfassen alle Benutzer, einschließlich Administrator- und Moderator-Konten. Einige Statistiken enthalten auch anonyme Konten (falls auf der Site aktiviert).

Wenn die Site-Einstellung „anonymisierte Statistiken teilen" aktiviert ist (standardmäßig ist diese Einstellung aktiviert), werden die „Site-Statistiken" auf der Seite /about als JSON-Datei bereitgestellt, die unter /about.json abgerufen werden kann.

Wenn eine Site öffentlich ist, ist die Seite /about zusammen mit diesen Statistiken ebenfalls öffentlich verfügbar.

:gem: Der Ruby-Code für die Kernstatistiken befindet sich in: discourse/lib/statistics.rb. Das Stat-Modell, das Kern- und Plugin-Statistiken orchestriert, befindet sich in discourse/app/models/stat.rb.

Nachfolgend finden Sie eine Beschreibung, wie jede dieser Statistiken berechnet wird.

Themen

Die Anzahl der Themen, die innerhalb des angegebenen Zeitraums erstellt wurden. Diese Statistik umfasst keine nicht gelisteten Themen oder persönlichen Nachrichten.

topics = Topic.listable_topics

{
  last_day: topics.where("created_at > ?", 1.day.ago).count,
  "7_days": topics.where("created_at > ?", 7.days.ago).count,
  "30_days": topics.where("created_at > ?", 30.days.ago).count,
  count: topics.count,
}

Beiträge

Die Anzahl der Beiträge, die innerhalb des angegebenen Zeitraums erstellt wurden. Persönliche Nachrichten sind hier enthalten und werden als reguläre Beiträge gezählt.

{
  last_day: Post.where("created_at > ?", 1.day.ago).count,
  "7_days": Post.where("created_at > ?", 7.days.ago).count,
  "30_days": Post.where("created_at > ?", 30.days.ago).count,
  count: Post.count,
}

Anmeldungen

Die Anzahl der gültigen Benutzer, die sich innerhalb des angegebenen Zeitraums für neue Konten angemeldet haben. Ein „gültiger Benutzer" ist ein realer Benutzer, der aktiviert ist, nicht gesperrt und nicht stummgeschaltet ist. Wenn „Benutzer müssen genehmigt werden" aktiviert ist, werden nur genehmigte Benutzer gezählt.

def self.valid_users
  users = User.real.activated.not_suspended.not_silenced
  users = users.approved if SiteSetting.must_approve_users
  users
end

{
  last_day: valid_users.where("created_at > ?", 1.day.ago).count,
  "7_days": valid_users.where("created_at > ?", 7.days.ago).count,
  "30_days": valid_users.where("created_at > ?", 30.days.ago).count,
  count: valid_users.count,
}

:gem: Ein realer Benutzer ist hier definiert: discourse/app/models/user.rb — er schließt System-/Bot-Benutzer und anonyme Benutzer-Schattenkonten aus.

Aktive Benutzer

Die Anzahl der gültigen Benutzer, die innerhalb des angegebenen Zeitraums die Site besucht haben. Es wird derselbe valid_users-Filter wie bei den Anmeldungen verwendet (inaktive, gesperrte und stummgeschaltete Benutzer werden ausgeschlossen). Benutzer im anonymen Modus sind enthalten, Benutzer ohne Konto jedoch nicht.

{
  last_day: valid_users.where("last_seen_at > ?", 1.day.ago).count,
  "7_days": valid_users.where("last_seen_at > ?", 7.days.ago).count,
  "30_days": valid_users.where("last_seen_at > ?", 30.days.ago).count,
}

Mitwirkende Benutzer

Die Anzahl der gültigen Benutzer, die innerhalb des angegebenen Zeitraums eine Aktion ausgeführt haben (Thema erstellt, Beitrag verfasst, Liked, etc.). Wenn Chat aktiviert ist, werden auch Benutzer gezählt, die Chat-Nachrichten gesendet oder Chat-Reaktionen hinzugefügt haben.

{
  last_day: participating_users_count(1.day.ago),
  "7_days": participating_users_count(7.days.ago),
  "30_days": participating_users_count(30.days.ago),
}

:gem: Die vollständige Implementierung befindet sich in discourse/lib/statistics.rb.

Likes

Die Gesamtzahl der Likes, die alle Themen und Beiträge innerhalb des angegebenen Zeitraums erhalten haben.

likes = UserAction.where(action_type: UserAction::LIKE)

{
  last_day: likes.where("created_at > ?", 1.day.ago).count,
  "7_days": likes.where("created_at > ?", 7.days.ago).count,
  "30_days": likes.where("created_at > ?", 30.days.ago).count,
  count: likes.count,
}

Besucher und EU-Besucher

Wenn die Site-Einstellung „EU-Besucherstatistiken anzeigen" aktiviert ist, zeigt die Über-Seite auch geschätzte Besucherzahlen (gesamt und basierend auf der EU) an. Diese werden berechnet, indem Daten zu Besuchen angemeldeter Benutzer mit geschätzten anonymen Besuchern basierend auf Seitenaufrufverhältnissen kombiniert werden.

:gem: Für die vollständige Berechnung siehe die Methoden visitors und eu_visitors in discourse/lib/statistics.rb.

Chat-Nachrichten

Die Anzahl der Chat-Nachrichten, die über alle Chat-Kanäle gesendet wurden. Wenn Chat aktiviert ist, werden auch folgende Statistiken erfasst: Chat-Benutzer (unterschiedliche Benutzer, die Nachrichten gesendet haben) und Chat-Kanäle (offene Kanäle).

Diese Statistiken werden vom Chat-Plugin als Plugin-Statistiken über register_stat in plugins/chat/plugin.rb registriert. Die zugrunde liegenden Abfragen befinden sich in plugins/chat/lib/chat/statistics.rb.

6 „Gefällt mir“