Informatie rondsturen op het web kost processorkracht en tijd. De data moet immers van de ene server naar de andere reizen. Door een cache te gebruiken kan er bespaard worden op deze tijd en capaciteit.

Het antwoord op de vraag “wat is caching”, hangt vooral af van de context. In het algemeen is caching een manier om vaker gebruikte data op te slaan en daardoor snel uit het geheugen op te kunnen halen. Goed beheer van je cache, zeker als het gaat om WordPress, kan het verschil maken tussen een soepele, snelle website en een frustrerend trage website.

Dit artikel geeft daarom het antwoord op de vraag “wat is een cache” en geeft tips voor het beheren van je cache.

Wat is caching?

Zo werkt webcaching.
Zo werkt webcaching.

Een cache pakt de data die verwerkt worden door een app en slaat ze op voor later gebruik. Dit hoeft dus niet per se in de browser te zijn, maar je ziet wel dat websites en de onderliggende technologie vaak caching gebruiken. Caching is de term voor het opslaan van data en vervolgens weer ophalen uit het geheugen.

Een cache bestaat meestal uit twee onderdelen:

  • De caching software voert het proces uit, en stuurt de benodigde data rond naar verschillende onderdelen.
  • Random Access Memory (RAM) en “In-Memory” engines. Deze slaan de data op die de cachingtechnologie ze geeft.

Deze elementen moeten allemaal van hoge kwaliteit zijn en perfect samenwerken. Trage RAM kan de data niet snel genoeg ophalen om efficiënt gebruikt te worden door de software.

Een cache is tegenwoordig praktisch noodzakelijk voor de meeste webtoepassingen, gezien de gebruikelijke bestandsgrootte van pagina’s. Een goede implementatie van caching kan je meerdere seconden in laadtijd opleveren. Een gebruiker die aangeeft dat een website lekker snel laadt, geeft meestal vooral een indirect compliment aan de cachingsoftware die gebruikt wordt door de server van de website.

We zullen dit verderop verder uitleggen.

Hoe een cache kan helpen bij het optimaliseren van je websites

Computertechnologie is zich altijd aan het ontwikkelen. Daardoor nemen geheugen, opslagruimte op harde schijven, en andere capaciteit snel toe. De dagen dat een Personal Computer met 64 KB aan RAM indrukwekkend was, liggen ver achter ons, en tegenwoordig meten we minimaal in Gigabytes (GB) aan RAM. De meer recente Apple MacBooks leveren zelfs al 64 GB aan geheugen, toch een miljoen keer meer dan de vroege PC’s.

Websites worden dan ook steeds zwaarder door de mogelijkheden en eisen van modern webdevelopment en bijbehorende technologie. Hierbij wordt niet alleen maar processorkracht van de computer van de eindgebruiker gevraagd, maar ook een robuustere server en de technologie die alles ondersteunt. Zonder geheugen (en caching) worden laadtijden veel te lang om praktisch interessant te zijn.

Daarom erkent Search Engine Optimization (SEO) al lang dat de laadsnelheid van pagina’s een primaire ranking-factor voor websites moet zijn. Alhoewel de precieze weging niet bekend is, telt de snelheid van een website mee in de plaatsing van een site in de Search Engine Results Pages (SERP’s), oftewel de zoekresultaten.

Gelukkig is de homepage van Kinsta dan ook licht en snel.
Gelukkig is de homepage van Kinsta dan ook licht en snel.

Alhoewel rankmetrics de snelheid van een website niet als directe indicator kunnen gebruiken, aangezien het meten van snelheid van veel te veel andere zaken afhankelijk is, worden wel veel indirecte aspecten meegerekend. Zo hebben bijvoorbeeld de kwaliteit van de HTML code van je website en de laadtijden vanuit Google Chrome zeker een impact.

De laadsnelheden voor pagina's van Kinsta vanuit Brave's DevTools
De laadsnelheden voor pagina’s van Kinsta vanuit Brave’s DevTools

Vanuit de User Experience (UX) is een bekende richtlijn dat gebruikers een website weer zullen verlaten na slechts twee seconden te moeten wachten. Dat levert meerdere problemen op:

  • Je Google RankBrain optimalisatie, waarbij je bounce rate meetelt, moet perfect zijn, anders hebben al je SEO-activiteiten eigenlijk geen nut.
  • Kortere laadtijden helpen om je bounce rate onder controle te houden.
  • De UX van je website is één van de belangrijkste onderdelen voor gebruikers.

Caching kan bij al deze aspecten helpen door de laadtijden van je pagina’s te verkorten. Daarnaast zal je website ook minder capaciteit nodig hebben, wat ook impact heeft.

In het algemeen zal een website die snel laadt en relevante en recente informatie laat zien, het beter doen dan een tragere concurrent.

Tijd om te kijken naar enkele problemen die je tegen kan komen bij het implementeren van caching.

De problemen die caching mogelijk kan veroorzaken

Uiteraard kunnen er problemen ontstaan met caching, zoals met alle aspecten van je website. Het grootste gevaar is het implementeren van een cache die te goed is. Een grote en regelmatig verversende cache is simpelweg niet nodig voor de meeste kleinere websites. Hierdoor bestaat de kans dat je server namelijk capaciteit besteedt aan het cachen van pagina’s die helemaal niet veranderd zijn.

Aan de andere kant, als je niet goed of genoeg cachet, kan het zijn dat je bezoekers een verouderde pagina te zien krijgen. Dit probleem kan soms opspelen bij WordPress websites. Maar gelukkig zijn er tips om dat te verhelpen.

Uiteraard kan het aanleveren van een verouderde pagina uit de cache problemen opleveren. Denk bijvoorbeeld maar eens aan een website met informatie over de pandemie, die regelmatig informatie bijwerkt. Stel je dan eens voor wat de impact zou zijn van slechte of niet-bestaande browsercaching.

Gelukkig is het vrij eenvoudig om caching zodanig in te stellen dat deze nadelen beperkt blijven. We zullen dit verderop precies laten zien.

Technologieën die gebruiken maken van caching

We hebben al besproken hoe caching op verschillende manieren betrokken is bij het verwerken van verzoeken. Maar in dit artikel zullen we ons verder focussen op non-CPU caches. Als je eens kijkt naar de technische gegevens van de Apple MacBook, zie je dat er meestal een aantal megabytes (MB) aan cache op de processorchip zitten:

Specificaties van Apple MacBook, met een ingebouwde cache.
Specificaties van Apple MacBook, met een ingebouwde cache.

Dergelijke caching zien we ook op mobiele apparaten.

Maar we zijn nu vooral benieuwd naar caching waarbij servers op één of andere manier worden gebruikt. Enkele van de verschillende technologieën die we hier zullen bekijken:

  • Browsers. Een browsercache is het eerste waar je aan denkt bij technologie voor caching. In een browsercache worden herhaalde verzoeken opgeslagen zodat die de volgende keer sneller geladen worden.
  • Apparaten. Alhoewel de precieze werking van processorchips te ver gaat voor dit artikel, gebruiken zowel browsers als andere toepassingen op het apparaat vaak het geheugen en de RAM om data te cachen.
  • Apps. Ja, ook apps kunnen een eigen cache hebben voor veelgebruikte data. Ook hierbij wordt gebruikt gemaakt van non-CPU opslagruimte op het apparaat om data te cachen.
  • Servers. Nog een veelgebruikte plek voor caching. Een deel van de data die rondgepompt wordt op servers kan opgeslagen worden en vervolgens uit het geheugen gebruikt worden voor sneller gebruik. Een goed voorbeeld hiervan is de Redis cache.
  • Domain Name Server (DNS) caching.Een specifieke toepassing voor caching. De machines die dit werk doen, zijn gespecialiseerd in het cachen van data, zodat gewone servers de data kunnen rondsturen, terwijl de DNS caches een soepel netwerk verzorgen.

Voordat we verder gaan, is het de moeite waard om een aantal punten te noemen die met de technologie rondom caching te maken te hebben. Zo kan je het opslaan van cookies bijvoorbeeld zien als iets dat sterk lijkt op het cachen van webpagina’s. En in veel opzichten is dat waar. Zo worden cookies opgeslagen op je computer, nadat de browser ze ontvangen heeft. Het verschil is dat cookies informatie opslaan over jou en jouw gebruik, en niet over de pagina die je bezoekt.

Een Content Delivery Network (CDN) is nog moeilijker te onderscheiden van een cache, aangezien die technisch gezien hetzelfde doet als een cache. Een CDN slaat een hele website op als statisch bestand, in plaats van met de website samen te werken. Daardoor, alhoewel het oppervlakkig gezien veel op caching lijkt, is het een heel andere manier van opslaan en afleveren van websites, die nog steeds caching nodig heeft om snel uitgevoerd te kunnen worden.

Sommige CDN’s, zoals Cloudflare, regelen beide aspecten (en nog meer), wat één van de redenen is dat Kinsta met hen  samenwerkt om de websites van onze klanten nog sneller en veiliger te maken.

Caching bij WordPress

Ondanks het feit dat wij ontzettend veel van WordPress houden, is het niet het snelste platform. Als je WordPress gebruikt voor je website, moet je caching implementeren om een snelle website-ervaring neer te zetten voor je bezoekers. De snelheid van je website is een gezamenlijk resultaat van jou, je host, en de gebruikte cachingplugin.

Als je klant bij Kinsta bent, heb je gelukkig helemaal geen cachingplugin nodig. Wij regelen namelijk automatisch caching op vier verschillende manieren, zowel vanuit de software als op de servers:

Hierdoor ben je volledig gedekt, zodat je website geoptimaliseerd is qua snelheid. Maar klanten van andere hosts zullen een speciale WordPress cachingplugin nodig hebben om een optimale ervaring te kunnen bieden.

Er zijn allerlei oplossingen te vinden qua WordPress cachingplugins, en daar een keuze in maken kan nogal uitdagend zijn. Laten we enkele van de beste opties bekijken.

WP Super Cache

De meest eenvoudige optie is WP Super Cache van Automattic:

De WP Super Cache plugin.
De WP Super Cache plugin.

Dit wordt door veel mensen gezien als de “officiële” WordPress cachingplugin. Hiermee worden statische HTML bestanden gemaakt in plaats van je dynamische PHP bestanden (daardoor zien je bezoekers nog steeds hetzelfde, en gaan er geen functies verloren).

Daarnaast bevat de plugin ook “preloading”, “garbage collection” (het verwijderen van items in de cache die overbodig zijn), een CDN, en REST API endpoints voor developers. Dit is dus een goede keuze voor cachingplugins, en is meestal alles wat je nodig hebt.

W3 Total Cache

W3 Total Cache staat op de standaard installatielijst van veel gebruikers.

De W3 Total Cache plugin.
De W3 Total Cache plugin.

Het wordt neergezet als “Web Performance Optimization (WPO)” framework en claimt dat ze te gebruiken zijn bij elke webhost. Het zit boordevol functies en functionaliteit, maar staat er ook om bekend dat nieuwe gebruikers snel overweldigd raken. W3 Total Cache heeft heel veel features te bieden, maar het kost wat tijd om de optimale instellingen uit te vogelen.

Er zijn ook eenvoudige cachingplugins die volgens sommige gebruikers betere prestaties te bieden hebben. Zo krijgen bijvoorbeeld WP Fastest Cache en LiteSpeed Cache allebei enthousiaste reviews en bieden ze eenvoudige dashboards.

WP Rocket

Als het gaat om premium plugins, is WP Rocket de ongekroonde koning:

De WP Rocket plugin.
The WP Rocket plugin.

Het is een eenvoudig te gebruiken plugin met goede prestaties. Het past allerlei best practices toe, en heeft meer dan 1,5 miljoen gebruikers. WP Rocket is ook compatibel met de meeste WordPress producten en diensten, waaronder Kinsta.

Het installeren van een cachingplugin

Het installeren van een cachingplugin is relatief eenvoudig, net als bij de meeste andere WordPress plugins. Caching wordt ingeschakeld zodra je de plugin activeert, en er is meestal een specifiek scherm waarin je kan instellen hoe de plugin je website cachet. Zo kan je bijvoorbeeld de instellingen voor WP Super Cache vinden in het Settings > WP Super Cache scherm:

WP Super Cache’s instellingen
WP Super Cache’s instellingen

De plugin die je gekozen hebt zal instellingen hebben. Deze zijn afhankelijk van de complexiteit en doelstelling van de plugin. Een oplossing zoals WP Super Cache is daarin erg geslepen. Het lijkt op het eerste oog erg simpel, maar als je naar de Advanced Options gaat, zijn er een hoop instellingen waarmee je aan de slag kan:

De WP Super Cache Advanced instellingen
De WP Super Cache Advanced instellingen

Ons advies is om het bij de eenvoudige instellingen te houden, als je niet precies weet wat een bepaalde optie doet. De meeste cachingplugins hebben eenvoudige keuzes voor verschillende toepassingen van caching. Zo biedt WP Super Cache je bijvoorbeeld de keuze tussen Simple of Expert.

WP Super Cache’s mogelijkheden
WP Super Cache’s mogelijkheden

Het grootste verschil is dat de Expert optie gebruikt maak van de mod_rewrite optie van Apache om bestanden uit de cache te leveren. Maar voor een gebruiker die niet alle technische details weet van hoe bestanden gecachet worden, is de Simple keuze helemaal prima.

Zo leeg je de cache

Eén van de dingen die je sowieso moet weten, is hoe je je cache kan legen. Er zijn verschillende manieren om dit te doen, afhankelijk van je apparaat en browser. We laten verschillende manieren zien, te beginnen met een desktopbrowser.

Legen van de cache van je browser

Eindgebruikers zullen verreweg het vaakst caching gebruiken via hun browser. Het legen van die browsercache is een betrouwbare manier om problemen op te lossen. Daarom wordt het vaak beschreven als het uitzetten en weer aanzetten van een apparaat.

Elke browser heeft een eigen scherm met instellingen voor de cache. Zo vind je bijvoorbeeld Safari’s cache in het scherm Preferences onder de tabbladen Privacy > Privacy:

Safari’s Privacy tabblad
Safari’s Privacy tabblad

Firefox daarentegen biedt allerlei features aan in het onderdeel Privacy & Security in de Preferences, als toegewijde privacy beschermende browser:

Firefox’s Privacy & Security preferences
Firefox’s Privacy & Security preferences

Voor de meeste Chromium-based browsers, zoals Google Chrome en Brave, is de cache op dezelfde plek te vinden. Met Brave als voorbeeld, kunnen we de betreffende instellingen vinden onder Additional Settings binnen Preferences onder het kopje Privacy and Security:

Brave’s Privacy and security onderdeel
Brave’s Privacy and security onderdeel

Chrome daarentegen zet deze opties juist helemaal voorin bij de instellingen:

Google Chrome’s Privacy and security instellingen
Google Chrome’s Privacy and security instellingen

Bij Microsoft Edge, kan je de cache vinden onder het kopje Privacy, search, and services van de Settings, bij Clear browsing data:

Caching bij Microsoft Edge
Caching bij Microsoft Edge

Het goede nieuws is dat het legen van een cache meestal een kwestie is van één keer klikken, en even op de browser wachten. Bij de meeste browsers kan je kiezen welke data je wil verwijderen, waardoor je natuurlijk wat vaker moet klikken als je specifieke wensen hebt.

Legen van de cache van een apparaat

Je smartphone en computer hebben ook een eigen cache, omdat ze af en toe ook data moeten opslaan. Zoals te verwachten is, heeft elk besturingssysteem en platform hiervoor een eigen aanpak. Bijvoorbeeld, op een Mac, moet je naar ~/Library/Caches/ gaan binnen macOS:

Het Go scherm van Finder met de locatie van de cache in een Mac
Het Go scherm van Finder met de locatie van de cache in een Mac

Als je hier bent zie je dat de cache een verzameling bestanden is die je naar de Trash kan slepen.

De map Caches in macOS
De map Caches in macOS

Voor Windows 10 zijn er enkele verschillende caches die je op verschillende plekken kan vinden. We komen er later nog op terug, maar om de DNS cache te legen heb je de Command Prompt nodig, met Administrator-bevoegdheden.

Windows Command Prompt
Windows Command Prompt

Daar typ je ipconfig/flushDNS in. Als je dit uitvoert, leegt Windows de DNS cache voor je.

Legen van de cache in Windows
Legen van de cache in Windows

De meeste Linux distro’s gebruiken ook de Terminal en opdrachtregel voor het legen van systeemcaches.

Legen van de cache in Debian.
Legen van de cache in Debian.

Mobiele apparaten hebben meestal geen centrale cache zoals bij een computer. Daarom moet je dit stap voor stap doen. Apple iOS is hierbij het meest “gefragmenteerd”, en Android doet het wat beter.

Legen van een DNS cache

We hebben het al kort gehad over server en DNS caching, vooral over het legen van de DNS cache bij Windows 10, maar we hebben het nog niet gehad over andere platforms.

De DNS cache slaat alle recente pogingen op om verbinding te maken met internet, en dan specifieke de domeinnamen die gezocht werden. Het is dus een lijst met zoekopdrachten voor DNS die de computer gebruikt om verbinding te maken met het internet.

Het is wat anders dan andere caches op je apparaat, maar er kan best overlap tussen zitten. Voordat je de DNS cache gaat legen, moet je drie zaken regelen:

  • Admintoegang tot je computer of apparaat.
  • Toegang tot de Terminal, Command Prompt, of Command Line.
  • Kennis over het gebruiken van de Command Line interface (CLI) alhoewel je niet de precieze opdrachten hoeft te kennen.

Wij zullen je namelijk uiteraard daarbij helpen. We hebben in een ander artikel van de Kinsta blog het legen van een DNS cache al per apparaat laten zien. Lees dus vooral dat artikel als je alle specifieke instructies voor het legen van de DNS cache zoekt.

Legen van de WordPress cache

Wat WordPress betreft, zijn er verschillende plekken om de cache te legen. Het platform zelf heeft geen interne cache. Er zijn daarom nog twee andere punten waar je kan kijken:

  • De opties vanuit je hostingprovider, die soms vanuit WordPress te bedienen zijn.
  • Je cachingplugin.

Afhankelijk van je host, heb je een optie in je instellingenscherm, binnen een plugin die je geïnstalleerd hebt in WordPress (speciaal voor de server-side caching van je host), of allebei. Daar zullen we zometeen dieper op ingaan.

Verder zul je vaak een speciale plugin hebben die je helpt bij het cachen van je website, en je kan de optie voor het legen daarvan meestal vinden in de algemene instellingen van die plugin.

Hoe je dit precies kan vinden hangt af van je plugin (we zullen zo wat opties bekijken). Zo toont WP Super Cache bijvoorbeeld de optie zowel in de toolbar als op de pagina Settings > WP Super Cache:

De knop Delete Cache in WordPress, via WP Super Cache
De knop Delete Cache in WordPress, via WP Super Cache

Voor W3 Total Cache zie je ook de optie in de toolbar, bovenaan in WordPress:

De opties voor het legen van de cache via W3 Total Cache
De opties voor het legen van de cache via W3 Total Cache

Voor de meeste plugins kan je dus verwachten dat je de instelling voor het legen van de cache kan vinden in de toolbar (of op een andere duidelijke plek). Voor je host kan je de optie voor het legen van je cache meestal op twee plekken vinden: in je WordPress dashboard als er een plugin gebruikt wordt, en in het instellingenscherm van je host.

Sommige hosts helpen WordPress gebruikers door specifieke opties toe te voegen aan de WordPress Admin via een plugin. In sommige gevallen kan je die op dezelfde manier gebruiken als een externe cachingplugin. Maar de beste aanpak, oftewel die waarvan je weet dat het werkt, zal zijn om naar de instellingen van je host te gaan en daar je cache op te zoeken.

Zo kan je in MyKinsta bijvoorbeeld naar de website in kwestie gaan vanuit het scherm Sites, en dan naar het tabblad Tools. Hier zie je de optie Site cache:

Kinsta’s Site cache optie.
Kinsta’s Site cache optie.

Hiermee kan je met één klik de cache op de server legen, en ben je meteen klaar. Daardoor kan jij weer lekker aan de slag met het beheren van je website, terwijl wij deze aan je bezoekers afleveren.

Samenvatting

Websites moeten snel laden. De beste manier om dat te regelen is via caching. Dit is een manier om data op te slaan die veel heen en weer gestuurd wordt tussen servers. Nadat de data opgeslagen is kunnen browsers het bijna direct ophalen, waardoor je website veel sneller kan laden, wat goed is voor je SEO.

Een goede host zal server-side caching aanbieden, en alles doen om je website zo goed mogelijk te laten draaien. Daarnaast kan een goede plugin je website nog sneller laten laden, en zorgen dat caching alle onderdelen van je website sneller maakt.

Kinsta klanten kunnen profiteren van onze ingebouwde Edge Caching feature. Als onderdeel van onze Cloudflare integratie slaat Edge Caching je Kinsta site/pagina cache op in een van Cloudflare’s wereldwijde netwerk van 260+ datacenters.

Edge Caching is gratis inbegrepen bij alle Kinsta pakketten, vereist geen aparte plugin, en vermindert de tijd die nodig is om gecachete WordPress HTML te leveren met gemiddeld meer dan 50%!

Voor de eindgebruiker is caching een vrij simpele technologie. Maar voor iedereen die dieper graaft, is het iets waar je een hoop tijd aan kan spenderen, aangezien een groot deel van je prestaties hier direct afhankelijk van zijn.

Gebruik jij al caching, en zo ja, wat is jouw favoriete instelling? Deel jouw gedachten en mening in de reacties hieronder!

Salman Ravoof

Salman Ravoof is a self-taught web developer, writer, creator, and a huge admirer of Free and Open Source Software (FOSS). Besides tech, he's excited by science, philosophy, photography, arts, cats, and food. Learn more about him on his website, and connect with Salman on Twitter.