Pagemetrics for Matomo
·
Pagemetrics for Matomo bringt serverseitige, datenschutzfreundliche Analysen nach WordPress. Es trackt Seitenaufrufe und Downloads ohne JavaScript.
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.
- 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_DEBUGaktiv 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
pm_matomo_tracking_should_track_request— Gibfalsezurück, um das Tracking für die aktuelle Anfrage zu überspringen.pm_matomo_tracking_should_rewrite_downloads— Gibfalsezurü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.pm_matomo_tracking_log_message— Lausche auf Debug-Meldungen, die ausgegeben werden, solangeWP_DEBUGaktiv 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;
});
// 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);
Dieses Plugin steht für deine -Website zum Download zur Verfügung.
