xwp / site-performance-tracker

Allows you to detect and track site performance metrics
GNU General Public License v2.0
96 stars 15 forks source link
analytics composer-package frontend performance performance-metrics performance-monitoring wordpress wordpress-plugin

Site Performance Tracker

Test and Build

This WordPress plugin sends Core Web Vitals data to Google Analytics. It is compatible with Web Vitals Report

Installation

This plugin can be installed as a Composer dependency:

composer require xwp/site-performance-tracker

or by downloading a plugin ZIP file from the releases page.

Usage

The plugin must be configured by setting the site_performance_tracker_vitals theme feature with your Analytics IDs. Collected data will be available in Web Vitals Report in a few days.

To send Web Vitals metrics to Google Analytics in a format compatible with the Web Vitals Report, enable the following theme support and passing in the ID:

GA4 Analytics is supported, requires passing the ID using ga4_id:

add_theme_support( 'site_performance_tracker_vitals', array(
  'ga4_id' => 'G-XXXXXXXXXX',
) );

The following hooks can be added to a theme or a custom plugin to configure the plugin, alternatively you can configure the plugin through the settings screen, in case of duplication, plugin will take programmatically set settings. To confirm they were applied look for the webVitalsAnalyticsData global variable in the page source.

Limit the number of events sent

The following filter can be used to limit the number of tracking events to a percentage of your traffic. For example, to limit the tracking events to 5% of requests, use the following logic:

add_filter( 'site_performance_tracker_chance', function() {
  return 0.05;
} );

Disable the tracking

Programmatically disable the plugin.

add_filter( 'site_performance_tracker_disabled', '__return_true' );

Delay script loading

Programmatically delay web vitals tracking to minimise impact on interactivity. By default, an idle callback request is postponed by 5000ms, a value which can be adjusted via a filter:

add_filter( 'site_performance_tracker_web_vitals_delay', function() {
  return 1000;
} );

Contribute

All contributions are welcome! Please create an issue for bugs and feature requests, and use pull requests for code contributions.

Project Setup

Changelog

1.3.5 - Jul 28th, 2023

1.3.4 - Jul 15th, 2023

1.3.3 - Jun 26th, 2023

1.3.2 - October 30th, 2023

1.3.1 - July 18th, 2023

1.3 - February 24th, 2023

1.2 - December 5, 2022

1.1.7 - July 5, 2022

1.1.6 - May 18, 2022

1.1.5 - March 17, 2022

1.1.4 - March 10, 2022

1.1.3 - March 9, 2022

1.1.2 - March 4, 2022

1.1.1 - March 3, 2022

1.1.0 - January 6, 2022

1.0.0 - October 4, 2021

0.9.1 - July 9, 2021

0.9 - June 16, 2021

0.8 - May 28, 2021

0.7 - May 26, 2021

0.6 - May 25, 2021

0.5 - April 13, 2021

0.3.1 - March 11, 2020

0.3.0 - March 11, 2020

0.2.0 - February 22, 2019

0.1.1 - February 18, 2019

0.1.0 - February 15, 2019

Contribute

Please follow the contribution guide.

Credits

Created by XWP and contributors. Licensed under GNU General Public License v2.0 or later.