Pagemetrics for Matomo

Beschreibung

Pagemetrics for Matomo bringt datenschutzfreundliche, serverseitige Analysen nach WordPress und nutzt dafür die PHP-Bibliothek pagemachine/matomo-tracking. Aktiviert sendet das Plugin Seitenaufrufe und optionale Download-Ereignisse von deiner WordPress-Website direkt an eine Matomo-Instanz, ohne den JavaScript-Tracker von Matomo zu laden.

Wichtigste Vorteile:

  • Erfasse Seitenaufrufe serverseitig mit voller Kontrolle über Attribute wie Titel, URL und Referrer.
  • Optionales Download-Tracking schreibt Dateilinks um und protokolliert den Klick, bevor Besucher weitergeleitet werden.
  • Optional AI assistant bot tracking detects crawls from ChatGPT, Claude, Perplexity and others and forwards them to Matomo’s dedicated AI Assistants report.
  • Multisite-fähig – Netzwerk-Admins können Standardwerte definieren, einzelne Websites können sie überschreiben.
  • Respektiert Do-Not-Track- und Global-Privacy-Control-Header über die zugrunde liegende Bibliothek.
  • Protokolliert Probleme im WordPress-Debug-Log, wenn WP_DEBUG aktiv ist.

Du brauchst Unterstützung bei Matomo oder serverseitigem Tracking? Pagemachine bietet Beratung, Implementierung und fortlaufenden Support über unsere Pagemetrics-Lösung. Mehr Infos: Pagemetrics.eu

Entwickler-Hooks

Page view tracking:

  • pm_matomo_tracking_should_track_request — Return false to skip page view tracking for the current request.

Download tracking:

  • pm_matomo_tracking_should_rewrite_downloads — Gib false zurück, um die originalen Download-URLs für den aktuellen Beitrag zu behalten.
  • pm_matomo_tracking_is_download_url — Entscheide, ob eine bestimmte URL umgeschrieben werden soll (erhält URL und Standard-Endungsliste).
  • pm_matomo_tracking_download_extensions — Passe die Liste der Dateiendungen an, die als Downloads zählen.
  • pm_matomo_tracking_download_url — Passe die erzeugte Weiterleitungs-URL fürs Download-Tracking an.
  • pm_matomo_tracking_download_redirect_status — Ändere den HTTP-Statuscode, der beim Weiterleiten zur Originaldatei genutzt wird.

AI assistant bot tracking:

  • pm_matomo_tracking_ai_bot_user_agents — Extend or replace the list of User-Agent substrings used to detect AI bots.

General:

  • pm_matomo_tracking_log_message — Lausche auf Debug-Meldungen, die ausgegeben werden, solange WP_DEBUG aktiv ist.

Beispiele

// Skip tracking for administrators.
add_filter('pm_matomo_tracking_should_track_request', static function ($shouldTrack) {
    return current_user_can('manage_options') ? false : $shouldTrack;
});

// Keep original download URLs on the privacy policy page.
add_filter('pm_matomo_tracking_should_rewrite_downloads', static function ($shouldRewrite) {
    return is_page('privacy-policy') ? false : $shouldRewrite;
});

// Force CDN assets to be treated as downloads.
add_filter('pm_matomo_tracking_is_download_url', static function ($decision, $url) {
    return str_contains($url, 'cdn.example.com/assets/') ? true : $decision;
}, 10, 2);

// Add extra file types to download tracking.
add_filter('pm_matomo_tracking_download_extensions', static function ($extensions) {
    $extensions = array_merge($extensions, ['svg', 'heic']);
    return array_unique($extensions);
});

// Append a checksum to rewritten download URLs.
add_filter('pm_matomo_tracking_download_url', static function ($trackingUrl, $target, $label) {
    $checksum = substr(hash('sha256', $target . $label), 0, 12);
    return add_query_arg('pm_checksum', $checksum, $trackingUrl);
}, 10, 3);

// Use a 307 redirect instead of the default 302.
add_filter('pm_matomo_tracking_download_redirect_status', static function () {
    return 307;
});

// Add a custom bot to AI assistant tracking.
add_filter('pm_matomo_tracking_ai_bot_user_agents', static function (array $substrings): array {
    $substrings[] = 'MyCustomBot';
    return $substrings;
});

// Forward debug messages to the PHP error log while developing.
add_action('pm_matomo_tracking_log_message', static function ($level, $message) {
    if (!defined('WP_DEBUG') || WP_DEBUG !== true) {
        return;
    }

    // phpcs:ignore WordPress.PHP.DevelopmentFunctions.error_log_error_log
    error_log(sprintf('[Pagemetrics for Matomo][%s] %s', strtoupper((string) $level), $message));
}, 10, 2);

Screenshots

  • Pagemetrics for Matomo Einstellungen

Installation

  1. Lade das Plugin-Verzeichnis pagemetrics-for-matomo inklusive vendor/-Ordner in den Ordner wp-content/plugins deiner Website hoch.
  2. Aktiviere das Plugin über Plugins Pagemetrics for Matomo in WordPress.
  3. Öffne Einstellungen Pagemetrics for Matomo und konfiguriere:
    • Matomo-URL (z. B. https://matomo.example.com/)
    • Standard-Matomo-Website-ID
    • Optionales Auth-Token (erforderlich für IP-Tracking und andere privilegierte Attribute)
    • HTTP-Timeout für Matomo-Anfragen
    • Schalter für Download-Tracking, falls das Plugin Dateilinks automatisch umschreiben soll
    • AI assistant bot tracking toggle, to send AI crawler hits to Matomo’s AI Assistants report (requires Matomo 5.8.0 or later)
  4. (Multisite) Netzwerk-Admins können Standardwerte unter Netzwerkverwaltung Einstellungen Pagemetrics for Matomo festlegen. Einzelne Websites können diese Werte auf ihrer lokalen Einstellungsseite überschreiben.

Das Plugin sendet Daten, sobald Matomo-URL und Website-ID eingetragen sind.

FAQ

Muss ich mein Matomo-Auth-Token weitergeben?

Nein. Das Auth-Token ist optional. Gib es nur an, wenn du IP-Adressen weitergeben oder Matomo-Parameter nutzen musst, die eine Authentifizierung erfordern. Das Token wird serverseitig gespeichert und nie im Browser gezeigt.

Kann ich das Umschreiben von Download-Links deaktivieren?

Ja. Lass den Schalter Downloads nachverfolgen in den Einstellungen deaktiviert. Du kannst auch den Filter pm_matomo_tracking_should_rewrite_downloads nutzen, um das Umschreiben programmatisch für bestimmte Beiträge oder Dateitypen zu deaktivieren.

How does AI assistant bot tracking work?

When the Track AI assistant bots toggle is enabled, the plugin inspects the
User-Agent header of every front-end request. If it matches a known AI crawler
(ChatGPT, Claude, Perplexity, MistralAI, Gemini, GoogleAgent, NovaAct), a
server-side telemetry hit is sent to Matomo using recMode=1. The hit is
recorded in Matomo’s dedicated AI Assistants report and does not count as a
normal visit. Requires Matomo 5.8.0 or later.

Can I add custom AI bot User-Agents?

Yes. Use the pm_matomo_tracking_ai_bot_user_agents filter to extend or replace
the default list of User-Agent substrings:

add_filter('pm_matomo_tracking_ai_bot_user_agents', static function (array $substrings): array {
    $substrings[] = 'MyCustomBot';
    return $substrings;
});

Was passiert, wenn Matomo ausfällt?

Anfragen nutzen ein konfigurierbares HTTP-Timeout (Standard drei Sekunden). Wenn Matomo nicht erreichbar ist, wird das Tracking übersprungen und eine Warnung protokolliert (nur wenn WP_DEBUG aktiv ist). Das Rendering läuft normal weiter.

Rezensionen

Für dieses Plugin gibt es keine Rezensionen.

Mitwirkende und Entwickler

„Pagemetrics for Matomo“ ist Open-Source-Software. Folgende Menschen haben an diesem Plugin mitgewirkt:

Mitwirkende

„Pagemetrics for Matomo“ wurde in 1 Sprache übersetzt. Danke an die Übersetzer für ihre Mitwirkung.

Übersetze „Pagemetrics for Matomo“ in deine Sprache.

Interessiert an der Entwicklung?

Durchstöbere den Code, sieh dir das SVN-Repository an oder abonniere das Entwicklungsprotokoll per RSS.

Änderungsprotokoll

1.1.0

  • Added AI assistant bot tracking: detects crawls from ChatGPT, Claude, Perplexity and other AI agents and forwards them to Matomo’s AI Assistants report (requires Matomo 5.8.0+).
  • New pm_matomo_tracking_ai_bot_user_agents filter to extend the list of detected bot User-Agents.

1.0.0

  • Erstveröffentlichung mit serverseitigem Seitenaufruf-Tracking, optionalem Download-Tracking und Multisite-Unterstützung.