Performance 17 december 2025 10 min leestijd

WordPress Ultra Speed Tracking: GA4 & Facebook Pixel Geoptimaliseerd

Laad Google Analytics 4 en Facebook Pixel alleen op de pagina's die ertoe doen, en alleen voor niet-ingelogde bezoekers. Verbeter je Core Web Vitals zonder tracking data te verliezen.

Thomas de Groot Performance Expert bij wpts.nl
95 PageSpeed OPTIMIZED TRACKING ultra-speed-tracking.php $important_pages = ['home','contact','checkout']; // GA4 only on important pages if (!is_user_logged_in()) { inject_ga4_script(); } // Facebook Pixel conditional if (in_array($slug, $pages)) { inject_fb_pixel(); } GA4 FB
Performance First: Deze mu-plugin laadt tracking scripts alleen waar nodig, wat je Core Web Vitals significant verbetert. Ideaal voor websites die Google Analytics en Facebook Pixel gebruiken maar ook goede PageSpeed scores willen behalen.

Het Probleem met Tracking Scripts

Google Analytics 4 en Facebook Pixel zijn krachtige tools voor marketing en analytics. Maar ze hebben een keerzijde: ze vertragen je website.

Standaard laden deze scripts op elke pagina, voor elke bezoeker. Dit resulteert in:

  • Extra HTTP requests naar externe servers
  • JavaScript parsing en uitvoering op elke pageview
  • Verhoogde Total Blocking Time (TBT)
  • Slechtere Largest Contentful Paint (LCP)
  • Lagere Core Web Vitals scores
Wist je dat? Google Analytics en Facebook Pixel samen kunnen zorgen voor 200-500ms extra laadtijd, afhankelijk van de verbinding van de bezoeker.

De Oplossing: Selectief Laden

In plaats van tracking scripts overal te laden, laden we ze alleen waar ze daadwerkelijk waarde toevoegen:

Slim Tracking Principe:

  • Alleen belangrijke pagina's: home, contact, checkout, producten
  • Alleen niet-ingelogde bezoekers: je hoeft jezelf niet te tracken
  • Alleen relevante post types: posts, producten, pagina's
  • Update-proof: mu-plugin blijft werken na WordPress updates

Het resultaat? Je behoudt 90%+ van je tracking data, maar je website laadt significant sneller op de meeste pagina's.

De Complete mu-plugin Code

Maak het bestand /wp-content/mu-plugins/wpts-ultra-speed-tracking.php aan:

PHP - wpts-ultra-speed-tracking.php
<?php
/*
Plugin Name: Ultra Speed Tracking Optimized
Description: Injecteert GA4 en Facebook Pixel alleen op belangrijke pagina's voor niet-ingelogde gebruikers, volledig update-proof.
Version: 1.1

######################################################################
#                                                                    #
#    **********************************************************      #
#    *                                                        *      #
#    *               WPTS.nl - Tracking Plugin v1.1           *      #
#    *               Hands-On, Minimal, Update-Proof          *      #
#    *                                                        *      #
#    *    Touch this file = you own the consequences          *      #
#    *                                                        *      #
#    **********************************************************      #
#                                                                    #
######################################################################
*/

/* ============================================================
 * CONFIGURATIE - PAS DEZE WAARDEN AAN
 * ============================================================ */

$important_pages = array('home','contact','checkout'); // pagina-slugs
$important_post_types = array('post','product'); // blogposts of WooCommerce producten

/* ============================================================
 * TRACKING SCRIPTS DEFINITIE
 * ============================================================ */

$scripts_to_inject = array(
    'header' => array(
        array(
            'pages' => $important_pages,
            'roles' => array(), // lege array = alle bezoekers
            'code'  => "<!-- WPTS.nl Google Analytics -->
<script async src='https://www.googletagmanager.com/gtag/js?id=G-XXXXXXX'></script>
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());
  gtag('config', 'G-XXXXXXX');
</script>"
        )
    ),
    'footer' => array(
        array(
            'pages' => $important_pages,
            'roles' => array(),
            'code'  => "<!-- WPTS.nl Facebook Pixel -->
<script>
  !function(f,b,e,v,n,t,s)
  {if(f.fbq)return;n=f.fbq=function(){n.callMethod?
  n.callMethod.apply(n,arguments):n.queue.push(arguments)};
  if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';
  n.queue=[];t=b.createElement(e);t.async=!0;
  t.src=v;s=b.getElementsByTagName(e)[0];
  s.parentNode.insertBefore(t,s)}(window, document,'script',
  'https://connect.facebook.net/en_US/fbevents.js');
  fbq('init', 'YOUR_PIXEL_ID');
  fbq('track', 'PageView');
</script>"
        )
    )
);

/* ============================================================
 * INJECTIE FUNCTIE - NIET AANPASSEN
 * ============================================================ */

function ultimate_speed_inject_scripts($position) {
    global $scripts_to_inject, $important_post_types;

    if(!isset($scripts_to_inject[$position])) return;

    // Skip voor ingelogde gebruikers
    if(is_user_logged_in()) return;

    // Haal huidige pagina slug op
    $current_slug = get_post_field('post_name', get_post());

    // Check of we posts hebben
    if(!have_posts()) return;

    foreach($scripts_to_inject[$position] as $item) {
        // Check pagina filter
        if(!empty($item['pages'])) {
            if(!in_array($current_slug, $item['pages'])) continue;
        }

        // Check post type filter
        if(is_singular() && !empty($important_post_types)) {
            if(!in_array(get_post_type(), $important_post_types)) continue;
        }

        // Injecteer de code
        echo $item['code'] . "\n";
    }
}

/* ============================================================
 * HOOKS - KOPPEL AAN WORDPRESS
 * ============================================================ */

add_action('wp_head', function() {
    ultimate_speed_inject_scripts('header');
});

add_action('wp_footer', function() {
    ultimate_speed_inject_scripts('footer');
});

Code Uitleg per Sectie

Configuratie Sectie

Bovenaan het bestand definieer je welke pagina's en post types belangrijk zijn:

PHP
$important_pages = array('home','contact','checkout');
$important_post_types = array('post','product');
  • $important_pages: Pagina slugs waar tracking geladen wordt
  • $important_post_types: Post types waar tracking geladen wordt

Scripts Definitie

De $scripts_to_inject array bevat alle tracking codes, gesplitst in header en footer:

  • header: Scripts die in <head> moeten (GA4)
  • footer: Scripts die voor </body> moeten (Facebook Pixel)
  • pages: Op welke pagina's dit script laadt
  • roles: Voor welke gebruikersrollen (leeg = iedereen)
Pro Tip: Laad Facebook Pixel in de footer voor betere performance. Het script is niet render-blocking en kan prima aan het einde van de pagina laden.

Injectie Functie

De ultimate_speed_inject_scripts() functie doet het zware werk:

  1. Checkt of de gebruiker is ingelogd (zo ja, skip)
  2. Haalt de huidige pagina slug op
  3. Controleert of de pagina in de whitelist staat
  4. Controleert het post type
  5. Echo't de tracking code indien alle checks slagen

Configuratie voor Jouw Website

Stap 1: Vervang de Tracking IDs

Zoek en vervang deze waarden in de code:

Vervang deze waarden
G-XXXXXXX        → Jouw Google Analytics 4 Measurement ID
YOUR_PIXEL_ID    → Jouw Facebook Pixel ID

Stap 2: Bepaal Belangrijke Pagina's

Pas de $important_pages array aan met jouw belangrijke pagina slugs:

PHP - Voorbeeld configuraties
// E-commerce website
$important_pages = array('shop','cart','checkout','my-account','contact');

// Lead generation website
$important_pages = array('home','diensten','contact','offerte-aanvragen');

// Blog website
$important_pages = array('home','about','contact');
// + alle posts via $important_post_types = array('post');

Stap 3: WooCommerce Integratie

Voor WooCommerce websites voeg je 'product' toe aan de post types:

PHP
$important_post_types = array('post','product','product_variation');

Installatie Stap-voor-Stap

  1. 1
    Maak mu-plugins map aan

    Controleer of /wp-content/mu-plugins/ bestaat. Zo niet, maak deze map aan via FTP of bestandsbeheer.

  2. 2
    Maak het bestand aan

    Maak een nieuw bestand wpts-ultra-speed-tracking.php in de mu-plugins map.

  3. 3
    Plak en configureer de code

    Kopieer de code en vervang G-XXXXXXX en YOUR_PIXEL_ID met jouw tracking IDs.

  4. 4
    Pas de pagina lijst aan

    Wijzig $important_pages naar de slugs van jouw belangrijke pagina's.

  5. 5
    Test de implementatie

    Open je website in incognito modus en controleer of de scripts laden op de juiste pagina's.

Belangrijk: Verwijder eventuele bestaande tracking plugins of thema tracking code om dubbele tracking te voorkomen!

Veelgestelde Vragen

Verlies ik veel tracking data?

Minimaal. De meeste waardevolle conversies gebeuren op de pagina's die je trackt (home, contact, checkout). Je verliest alleen data van minder belangrijke pagina's zoals archieven of zoekresultaten.

Werkt dit met Google Tag Manager?

Ja! Vervang simpelweg de GA4 code door je GTM container code. Dezelfde logica geldt: GTM laadt dan alleen op de gespecificeerde pagina's.

Waarom niet gewoon een caching plugin?

Caching versnelt het laden van je HTML, maar tracking scripts zijn externe resources. Die worden altijd opnieuw geladen. Door ze selectief te laden, vermijd je het probleem in plaats van het te verzachten.

Blijft dit werken na WordPress updates?

Ja, mu-plugins worden niet aangeraakt door WordPress updates. Ze zijn "must-use" en blijven altijd actief, ongeacht welke updates je uitvoert.

Kan ik meer tracking scripts toevoegen?

Absoluut! Voeg gewoon extra items toe aan de $scripts_to_inject array. Je kunt LinkedIn Insight Tag, Twitter Pixel, Hotjar of andere scripts op dezelfde manier toevoegen.

Wat als ik tracking op alle pagina's nodig heb?

Laat de $important_pages array leeg of verwijder de check. Dan laden de scripts op alle pagina's, maar nog steeds alleen voor niet-ingelogde bezoekers.

Conclusie

Met deze mu-plugin optimaliseer je je tracking implementatie voor maximale performance:

  • GA4 en Facebook Pixel laden alleen waar nodig
  • Ingelogde gebruikers worden niet getrackt (snellere admin)
  • Update-proof door mu-plugin architectuur
  • Eenvoudig uit te breiden met extra tracking scripts
  • Significant betere Core Web Vitals scores

Dit is een essentieel onderdeel van WordPress performance optimalisatie. Combineer het met andere speed optimalisaties voor de beste resultaten.

Professionele Speed Optimalisatie

Wil je je WordPress website volledig laten optimaliseren voor snelheid?

Bekijk Dienst
Deel dit artikel:

Gerelateerde Artikelen

Version Hiding
Security

WordPress Versie Verbergen

.htaccess
Security

.htaccess Beveiliging: 12 Regels

wp-config.php
Security

wp-config.php Beveiliging