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.