SPEED

// Performance · Case study

Case: Headfonia.comVan GTmetrix F naar
82% sneller

Een eerlijk verslag van een dag speed-optimalisatie. Wat we vonden, wat we fixten, wat de site even kapotmaakte — en de concrete resultaten met echte screenshots.

Door Kristof Loyens — 13 mei 2026 · 8 min leestijd

// Resultaat in één dag

82%

Snellere laadtijd

461ms

Laadtijd (was 2.52s)

D→C

Pingdom grade

Headfonia.com is een van de grotere audiofiele reviewsites wereldwijd — duizenden artikelen, veel afbeeldingen, display-advertenties, en miljoenen bezoekers per maand. De eigenaar had al gemerkt dat de site traag aanvoelde. Toen ik GTmetrix opende, crashte het testplatform letterlijk. Tijd om in te grijpen.

De diagnose

De eerste GTmetrix-test was onthutsend:

GTmetrix rapport headfonia.com voor optimalisatie — Grade F, Performance 39%

GTmetrix Grade F. Performance 39%. En op mobiel zelfs maar 25%. De site was functioneel, maar onder de motorkap was het een puinhoop. Hier zijn de concrete problemen die we vonden:

8.370 milliseconden render-blocking resources

Alleen al de first-party bestanden van headfonia.com blokkeerden het renderen voor meer dan 8 seconden. Dat betekent: de bezoeker staart naar een wit scherm terwijl de browser CSS- en JS-bestanden aan het downloaden is die niet eens nodig zijn voor de eerste weergave.

⚠ RENDER-BLOCKING RESOURCES — 8.370ms totaal
CSS-bestanden (theme + plugins)~85 KiB5.890 ms
JavaScript-bestanden (jQuery + plugins)~70 KiB1.730 ms
Google Fonts (extern)1.6 KiB750 ms

Meer dan 15 afzonderlijke CSS- en JS-bestanden werden render-blocking geladen — theme-stylesheets, plugin-scripts, een verouderde jQuery-versie met jQuery Migrate, en extern gehoste Google Fonts. Geen van deze bestanden was nodig voor de initiële weergave van de pagina.

Dubbele Google Tag Manager containers

Er draaiden twee GTM-containers op dezelfde site — twee verschillende container-ID's die elk hun eigen set tracking-scripts laadden. Samen goed voor 617.9 KiB aan scripts — waarvan 301.9 KiB pure overhead. Eén container was voldoende.

Google Tag Manager + advertenties = zware JS-payload

De GTM-scripts (617.9 KiB) plus het advertentienetwerk (233.7 KiB) domineerden de JavaScript-payload. Scripts waren goed voor meer dan 20% van de totale paginagrootte — 651 KB aan JavaScript.

Object Cache uitgeschakeld

De server had Object Cache Pro geïnstalleerd, maar Redis stond uitgeschakeld. Dat betekent dat elke pageload de database opnieuw bevraagt in plaats van uit cache te serveren — gratis performance die op tafel lag.

jQuery Migrate waarschuwingen

De browser console toonde tientallen jQuery Migrate-waarschuwingen. Dat wijst op verouderde plugin-code die nog afhankelijk is van een oudere jQuery-versie — extra JavaScript dat meegeladen wordt zonder dat het nodig is.

Publiek toegankelijke database-back-ups — beveiligingslek

Bij het doorlopen van de server vonden we iets dat niets met snelheid te maken heeft maar minstens zo belangrijk is: oude database-back-ups die publiek toegankelijk waren. Dit soort bestanden horen nooit in een publieke map te staan. Direct verwijderd en de eigenaar geïnformeerd.

Wat we gedaan hebben

Stap 1: Cloudflare + Cloudways caching hersteld

De Cloudways-server stond achter Cloudflare, maar de caching-configuratie was niet optimaal. Van de 8.85 miljoen requests in de afgelopen week werd 38% door de origin server bediend in plaats van uit Cloudflare cache.

Cloudflare cache performance: 8.85M requests, 5.47M served by Cloudflare

We hebben de cache rules bijgesteld zodat statische content consistent uit Cloudflare wordt geserveerd.

Stap 2: Render-blocking resources aanpakken

Stap 3: Afbeeldingen en content

Stap 4: Server-side

Wat de site even kapotmaakte

Na de grote verbeteringen probeerde ik ook JavaScript minificatie aan te zetten. Had al een aantal bestanden ge-excluded waarvan ik wist dat ze problemen zouden geven. Maar de site ging direct kapot. Binnen seconden meldde de eigenaar: "Oei de site is heel stuk ineens." Direct uitgezet — de site was binnen een minuut terug. Les geleerd: JS minificatie op een bestaande WordPress-site met veel plugins is een mijnenveld. Bestand per bestand testen, niet in bulk.

Het resultaat

// VOOR → NA
Load time2.52s461ms
Page size3.2 MB2.3 MB
Requests123102
GradeD 66C 71
Field LCP5.2s3.2s
GTmetrixCrashedLoads fine
SecurityPublieke back-ups gevondenOpgeruimd

Dat is een reductie van 82% in laadtijd. In één dag werk.

Pingdom wereldwijd — de echte test

Headfonia.com heeft lezers over de hele wereld. Dus testten we vanuit vier Pingdom-locaties om te zien hoe Cloudflare's edge caching presteert:

FRANKFURT 🇩🇪

564ms

C 71 · 2.0 MB

WASHINGTON D.C. 🇺🇸

771ms

C 71 · 2.0 MB

SYDNEY 🇦🇺

1.67s

D 70 · 2.0 MB

TOKYO 🇯🇵

119ms

A 97 · 78.4 KB · 3 requests

Pingdom Tokyo: A 97, 119ms, 78.4 KB, 3 requests

Die Tokyo-score moest ik twee keer checken. A 97. 119 milliseconden. 78.4 KB. 3 requests. Cloudflare's Tokyo edge node serveerde de volledige pagina uit cache — de origin server in Europa werd niet eens aangesproken. Vanuit Frankfurt en Washington haalde de site ook goede tijden. Sydney is logisch wat trager door de afstand, maar alsnog acceptabel.

Core Web Vitals — de lange termijn

CrUX Core Web Vitals headfonia.com — Interactivity good, Visual Stability improving

De Chrome User Experience Report (CrUX) toont de echte gebruikersdata over tijd. Per 2 mei 2026:

Twee van de drie Core Web Vitals scoren nu goed. De LCP-verbetering is zichtbaar in de trend maar heeft nog enkele weken nodig om volledig door te werken in de CrUX-data — het is immers een rolling average van 28 dagen. De verwachting is dat ook Loading Performance naar "good" gaat na de volledige datacyclus.

Wat er nog overblijft

De site is enorm verbeterd, maar er is nog ruimte:

Wat we geleerd hebben

Trage WordPress-site?

Wij analyseren uw site gratis en vertellen u exact waar de bottlenecks zitten — en wat het kost om ze op te lossen. Geen verplichtingen.

Gratis speed-analyse aanvragen →

Gerelateerde artikelen

Kristof Loyens

Kristof Loyens

Eigenaar Quantum Leap. 25+ jaar ervaring in webdesign en performance-optimalisatie. Maakt ook een geweldige pompoensoep.

← Terug naar alle blogberichten