Koko Analytics & Burst Statistics aus dem kritischen Rendering-Pfad entfernen

Dieses Snippet entfernt die Standard-Einbindung von Koko Analytics und Burst Statistics aus der normalen WordPress-Queue und lädt beide Skripte erst nach dem vollständigen window.load-Event.

Vorteil:

  • bessere Lighthouse-/PageSpeed-Werte
  • weniger Blocking im Rendering
  • Analytics erst nach vollständigem Seitenaufbau

Einsatzort: functions.php im Child-Theme

// 1. Original-Skripte von Koko & Burst aus der normalen Queue entfernen
add_action('wp_enqueue_scripts', function() {

if (defined('KOKO_ANALYTICS_PLUGIN_FILE')) {
wp_dequeue_script('koko-analytics');
}

if (defined('BURST_STATISTICS_PLUGIN_FILE')) {
wp_dequeue_script('burst-statistics');
}

}, 100);

// 2. Skripte erst nach dem vollständigen Load-Event laden
add_action('wp_footer', function() {
?>

<script>
window.addEventListener('load', function() {

// Koko Analytics
<?php if (defined('KOKO_ANALYTICS_PLUGIN_FILE')) : ?>

var kokoScript = document.createElement('script');
kokoScript.src = '<?php echo plugins_url("assets/js/script.min.js", KOKO_ANALYTICS_PLUGIN_FILE); ?>';
kokoScript.defer = true;
document.body.appendChild(kokoScript);

<?php endif; ?>

// Burst Statistics
<?php if (defined('BURST_STATISTICS_PLUGIN_FILE')) : ?>

var burstScript = document.createElement('script');
burstScript.src = '<?php echo plugins_url("assets/js/burst.min.js", BURST_STATISTICS_PLUGIN_FILE); ?>';
burstScript.defer = true;
document.body.appendChild(burstScript);

<?php endif; ?>

});
</script>

<?php
}, 99);

Warum die defined()-Prüfung wichtig ist

Die Konstanten:

  • KOKO_ANALYTICS_PLUGIN_FILE
  • BURST_STATISTICS_PLUGIN_FILE

existieren nur, wenn das jeweilige Plugin aktiv ist.

Ohne Prüfung erzeugt WordPress bei deaktivierten Plugins PHP-Warnings oder Fatal Errors. Mit defined() bleibt das Snippet stabil, auch wenn eines der Plugins später entfernt oder deaktiviert wird.