WordPress cache is een tijdelijk geheugen dat kopieën maakt van je pagina’s. In plaats van dat de server elke keer opnieuw alle gegevens uit de database moet ophalen en berekenen, serveert hij direct een kant-en-klare HTML-versie aan de bezoeker.
Technische werking
- Een bezoeker vraagt een pagina op van je website.
- De server kijkt of er al een statische kopie van deze pagina in het cachegeheugen staat.
- Bestaat die kopie niet? Dan voert WordPress alle PHP-scripts uit en haalt hij de nodige teksten en instellingen op uit de database.
- De server bouwt de pagina op en slaat dit resultaat op als een statisch HTML-bestand.
- De volgende bezoeker krijgt direct dit bestand te zien, zonder dat de server opnieuw hoeft te rekenen.
Belangrijke begrippen
Page caching
Dit is de meest voorkomende vorm. De volledige HTML-opbouw van een pagina wordt opgeslagen, zodat de server geen PHP-processen hoeft te starten voor elke bezoeker.
Object cache
Hierbij worden geen hele pagina’s opgeslagen, maar specifieke resultaten van database-aanvragen. Dit versnelt de site voor ingelogde gebruikers waarvoor page caching vaak niet werkt.
Browser cache
Dit gebeurt op de computer van de bezoeker zelf. De browser onthoudt afbeeldingen, CSS en JavaScript-bestanden, zodat deze niet bij elk bezoek opnieuw gedownload hoeven te worden.
Cache legen
Het handmatig verwijderen van alle opgeslagen kopieën. Dit is nodig als je wijzigingen aanbrengt die direct zichtbaar moeten zijn voor iedereen.
Statische content
Bestanden die niet veranderen op basis van wie de pagina bezoekt, zoals een logo of een vaste tekst over je bedrijf. Dit is het ideale materiaal om te cachen.
Praktijkvoorbeeld
Stel je voor dat example.nl een populaire blog heeft over tuinieren. Zonder cache moet de server bij elke klik op een artikel opnieuw controleren welke categorieën er zijn, wie de auteur is en welke reacties eronder staan. Dat kost tijd en rekenkracht.
Met een cache-plugin zoals WP Rocket of LiteSpeed Cache gebeurt het volgende: de eerste bezoeker van de dag triggert de opbouw van het artikel. De server slaat dit resultaat op in een bestand dat er ongeveer zo uitziet:
<!-- Cached Page: /tuinieren/tomaten-kweken -->
<div class="content">
<h1>Hoe kweek je tomaten?</h1>
<p>Dit is de tekst van het artikel...</p>
</div>
De volgende duizend bezoekers krijgen exact dit bestand voorgeschoteld. De server hoeft niet meer na te denken, hij geeft alleen het bestand door. Dit maakt het verschil tussen een laadtijd van drie seconden en een fractie van een seconde.
Veelgemaakte fouten
- Te lange cache-duur: Je stelt de cache in op een week, maar past dagelijks je prijzen aan. Bezoekers zien dan oude informatie terwijl jij in je eigen beheeromgeving de nieuwe prijs ziet.
- Cachen van dynamische pagina’s: Een winkelmandje of een gebruikersprofiel cachen. De bezoeker ziet dan plotseling de bestelling van iemand anders in beeld, wat een enorm privacyrisico is.
- Meerdere plugins tegelijk: Het installeren van zowel WP Super Cache als W3 Total Cache. Deze plugins gaan met elkaar vechten om wie de controle heeft, wat vaak leidt tot een volledig witte pagina of vreemde weergavefouten.
- Vergeten te legen na updates: Een plugin updaten zonder de cache te wissen. De browser probeert oude CSS-bestanden te laden die niet meer passen bij de nieuwe versie van de plugin, waardoor je lay-out verspringt.
Gebruik en afwegingen
Je gebruikt cache altijd op informatieve sites, blogs en zakelijke pagina’s waar de content voor iedereen gelijk is. De winst in snelheid weegt hier ruimschoots op tegen het risico van een verouderde pagina.
Sla de cache over voor pagina’s met persoonlijke gegevens, zoals een dashboard voor klanten of een betaalpagina. Hier is real-time data noodzakelijk; een statische kopie van een betaaloverzicht is simpelweg onbruikbaar.
Kies voor object caching als je een zware site hebt met veel database-aanvragen, zoals een forum of een complexe webshop. Let wel op dat je server dit ondersteunt via Redis of Memcached, anders heeft de instelling geen zin.
Controle en installatie
Begin met het installeren van één betrouwbare plugin, zoals LiteSpeed Cache als je op een LiteSpeed-server zit, of WP Fastest Cache voor algemeen gebruik. Zet eerst alleen de basis page caching aan voordat je gaat experimenteren met CSS-minify of image optimalisatie.
Controleer of het werkt via deze stappen:
- Open je website in een incognito venster om browser-cache te omzeilen.
- Rechtermuisknop op de pagina en kies Inspecteren, ga naar het tabblad Netwerk.
- Ververs de pagina en kijk bij de HTTP-headers naar de regel X-Cache of Cache-Control.
- Als daar hit staat, wordt de pagina vanuit de cache geserveerd; staat er miss, dan is de pagina opnieuw opgebouwd.
Zet je cache-duur niet onnodig lang, maar kies een termijn die past bij hoe vaak je content aanpast.
Open nu een incognito venster en check in de netwerk-headers of je pagina al een cache-hit geeft.