Terug naar de blog
performancehostingcaching

Wat is caching en waarom maakt het je site sneller?

Caching betekent dat een resultaat bewaard wordt, zodat het niet telkens opnieuw gemaakt of opgehaald moet worden. Zonder caching bouwt uw server elke pagina opnieuw op voor elke bezoeker, ook als er niets veranderd is; met caching krijgt de bezoeker het bewaarde resultaat meteen. Er zijn vijf lagen: de cache van de browser, de cache van een CDN, de paginacache, de objectcache en de opcodecache van PHP. Ziet u een wijziging niet verschijnen, dan kijkt u bijna altijd naar een van die lagen.

De vijf lagen, van bezoeker tot server

  • Browsercache. De browser van de bezoeker bewaart afbeeldingen, stijlbladen en scripts lokaal. Een tweede pagina van uw site laadt daardoor veel sneller.
  • CDN-cache. Een CDN zoals Cloudflare bewaart kopieën van uw bestanden op servers dicht bij de bezoeker. Standaard gaat het om statische bestanden zoals afbeeldingen, CSS en JavaScript, niet om de pagina's zelf.
  • Paginacache. De volledig opgebouwde HTML-pagina wordt bewaard. PHP en de database komen er voor de volgende bezoeker niet meer aan te pas. Dit levert het meeste op bij sites die weinig wijzigen. Bij WordPress regelt een cacheplugin dit.
  • Objectcache. De antwoorden van de database worden in het geheugen bewaard, doorgaans met Redis of Memcached. Dit helpt vooral bij drukke sites en webshops, waar dezelfde gegevens honderden keren per minuut opgevraagd worden.
  • Opcodecache. PHP vertaalt elk script eerst naar uitvoerbare instructies. OPcache bewaart die vertaling in het geheugen, zodat ze niet bij elk verzoek opnieuw gebeurt. U merkt er niets van, behalve dat een gewijzigd PHP-bestand soms pas even later actief is.

"Ik zie mijn wijziging niet"

De klassieke verwarring. U past iets aan, herlaadt de pagina en ziet niets veranderen. Concludeer niet dat de wijziging mislukt is, maar loop de lagen af, van dichtbij naar veraf:

  1. Open de pagina in een privévenster. Dat venster start zonder bewaarde bestanden en zonder aanmelding. Ziet u de wijziging daar wel, dan zat het in uw browsercache.
  2. Forceer een volledige herlading: Ctrl+F5 op Windows, Cmd+Shift+R op een Mac. De browser haalt dan alle bestanden van de pagina opnieuw op.
  3. Leeg de paginacache van uw CMS of cacheplugin. Ziet u de wijziging wel als u aangemeld bent en niet in het privévenster, dan is dit vrijwel zeker de oorzaak: aangemelde gebruikers krijgen doorgaans geen gecachte pagina's.
  4. Leeg de CDN-cache als u er een gebruikt. Bij Cloudflare kunt u één adres of alles leegmaken.
  5. Wijzigde u een stijlblad of script? Die blijven het langst hangen, want browsers mogen ze weken bewaren. Geef het bestand een nieuw versienummer in de bestandsnaam of achter het vraagteken in het adres; dan ziet elke browser het als een nieuw bestand.
  6. Controleer of u het juiste bestand aanpaste. Een wijziging in een kopie of in een inactief thema wordt nooit zichtbaar.

Wanneer u de cache leegmaakt

  • na een wijziging aan het ontwerp, het menu, de voettekst of een widget, want die staan op elke pagina
  • na een update van het CMS, het thema of een plugin
  • na een verhuizing of de overstap naar https, zodat er geen oude adressen in bewaarde pagina's achterblijven

Een goede cacheplugin maakt de pagina die u bewerkt zelf leeg. De hele cache telkens leegmaken werkt averechts: de server moet daarna alle pagina's opnieuw opbouwen.

Wat u nooit cachet

Pagina's die per bezoeker verschillen: het winkelmandje, de kassa, het account, en formulieren met een beveiligingscode. Komen die in de paginacache, dan ziet de ene bezoeker de gegevens van de andere, of werkt een formulier maar één keer. Cacheplugins sluiten de standaardpagina's van WooCommerce meestal zelf uit; controleer het na een herinrichting van uw winkel.

Veelgemaakte fouten

  • Twee cacheplugins naast elkaar. Ze bewaren elkaars resultaat, en leegmaken werkt dan nooit volledig. Kies er één.
  • Caching gebruiken om een trage site te verbergen. Een pagina die zonder cache acht seconden nodig heeft, blijft traag voor de eerste bezoeker en voor elke aangemelde klant. Zoek eerst de oorzaak; zie waarom is mijn website plots traag.

Voor WordPress staat de volledige aanpak, met caching als één onderdeel, op WordPress sneller maken. Hoe snelheid gemeten wordt, leest u in wat zijn Core Web Vitals.

Veelgestelde vragen

Verlies ik iets als ik de cache leegmaak?

Nee. De cache bevat enkel kopieën. Uw pagina's, afbeeldingen en database blijven onaangeroerd; de kopieën worden bij het volgende bezoek opnieuw opgebouwd.

Hoe leeg ik de cache op mijn telefoon?

Open de pagina in een privétabblad: dat is de snelste test. Echt leegmaken doet u bij de instellingen van de browser, onder privacy of browsegegevens. Cookies hoeft u niet mee te wissen.

Is de DNS-cache hetzelfde?

Nee. De DNS-cache onthoudt naar welke server uw domeinnaam wijst, niet wat er op de pagina staat. Ze speelt enkel na een verhuizing of een DNS-wijziging. Zie waarom een DNS-wijziging soms zo lang duurt.

Heeft een kleine site caching nodig?

Browsercaching en de opcodecache helpen elke site, en die staan doorgaans al aan. Een paginacache loont zodra uw site op een CMS draait. Een objectcache heeft pas zin bij veel bezoekers, een webshop of een ledengedeelte.

Lukt het niet?

Blijft een wijziging onzichtbaar nadat u elke laag leegmaakte, stuur ons dan via contact het adres van de pagina en wat u precies aanpaste.

#wat is caching#website cache#object caching wordpress
Bel nu
Verstuur e-mail