Een cache is een tijdelijke opslag van kant-en-klare kopieën, zodat een pagina niet bij elk bezoek opnieuw gemaakt hoeft te worden. Dat maakt je site sneller. Het verklaart ook waarom een aanpassing soms niet meteen zichtbaar is: je ziet dan nog de oude kopie.
Wat is een cache?
Een kopie tonen die al bestaat is veel minder werk dan hem helemaal opnieuw maken. Daarom is caching een van de belangrijkste middelen om dynamische sites snel te laten voelen, en ook de oorzaak van veel gevallen van “ik heb het aangepast maar er verandert niets”.
Caching kan op meerdere plekken tussen je server en een bezoeker gebeuren. De browser bewaart kopieën van afbeeldingen en stijlen, zodat een terugkerende bezoeker ze niet opnieuw downloadt. Een CDN bewaart kopieën op servers dicht bij de bezoeker. Je server kan een volledige paginacache hebben, een kopie van de afgewerkte pagina die PHPPHP is de programmeertaal waarmee veel websites, zoals WordPress-sites, hun pagina's maken op het moment dat een bezoeker erom vraagt. en de database overslaat. PHP zelf kan gecompileerde code in het geheugen houden, en dat is het werk van OPcacheOPcache is een versneller voor PHP: de server bewaart de kant-en-klare code van je site in het geheugen, zodat pagina's sneller klaar zijn..
Elke laag heeft regels voor hoe lang een kopie geldig blijft. Is de tijd om of leeg je hem, dan ontstaat een nieuwe kopie. Zegt niets tegen een laag dat de inhoud is veranderd, dan blijft hij misschien de oude versie leveren tot de tijd verloopt.
Wat een cache betekent voor je PHP-site
Op een WordPressWordPress is een programma waarmee je een website maakt en beheert zonder te hoeven programmeren.-site draait elk bezoek zonder cache PHP en bevraagt de database. Een paginacache bewaart een afgewerkte kopie en levert die aan de volgende bezoekers, wat de server ontlast. Cacheplugins doen dit en sommige hosts regelen het op serverniveau. Pagina’s die van de bezoeker afhangen, zoals een winkelwagen, account of afrekenen, mogen niet voor anderen worden gecachet.
Caching speelt ook mee bij upgrades. Na een wijziging in PHP of een pluginEen WordPress-plugin is een uitbreiding die je aan je WordPress-site toevoegt voor een extra functie, zoals een formulier of een webshop. kunnen oude kopieën een probleem verbergen of de vorige versie blijven tonen. Leeg bij het testen van een upgrade de caches of test met caching uit, zodat je ziet wat de nieuwe opzet echt doet.
Een CDNEen CDN is een netwerk van servers over de hele wereld dat kopieën van je website bewaart, zodat bezoekers hem van dichtbij krijgen. voegt nog een laag toe. Verander je inhoud en houdt het CDN zijn oude kopie vast, dan zien bezoekers de oude pagina terwijl je server de nieuwe heeft. Weet wie de CDN-cache kan legen en hoe.
Zo zoek je uit waarom een pagina verouderd is
Werk van de bezoeker terug naar de server. Open de pagina in een privévenster om je browser uit te sluiten. Voeg een willekeurige queryreeks aan het adres toe om sommige caches te omzeilen. Kijk in de responseheaders naar aanwijzingen over de cachestatus. Leeg dan de cacheplugin, de hostcache en de CDN-cache een voor een, zodat je leert welke laag de oude kopie vasthield.
Een statische site en caching
Een statische websiteEen statische website bestaat uit kant-en-klare pagina's die de server alleen hoeft af te geven, zonder dat er bij elk bezoek iets wordt berekend. bestaat uit kant-en-klare bestanden, dus er is geen pagina om op verzoek te bouwen en een paginacache op de server heeft niets te doen. Caching gebeurt nog wel in browsers en het CDN, en die stuur je met headers. Het voordeel is eenvoud: de bestanden die je publiceert zijn de bestanden die worden geleverd, met de bewaartijd die jij koos. Dat hoort bij wat onze aanpak voor een website zonder PHP inricht.
Wanneer onderneem je actie
Doe iets als wijzigingen niet verschijnen, als een cacheplugin botst met een andere plugin of als je privécontent aan de verkeerde persoon ziet. Heeft een cacheprobleem de site kapotgemaakt, en staat je website offline, dan kunnen wij bijspringen.
Veelgestelde vragen
Waarom zie ik nog de oude versie van mijn pagina?
Ergens serveert een cache nog een bewaarde kopie. Dat kan je browser zijn, een cacheplugin, je host of een CDN. Leeg ze een voor een, te beginnen met je browser, en kijk welke laag de oude kopie vasthoudt.
Moet ik de cache na elke wijziging legen?
Alleen als een bewaarde kopie anders verouderd blijft. Veel opzetten legen de juiste kopieën automatisch als je publiceert. Verschijnen wijzigingen niet, leeg dan de paginacache en eventuele CDN-cache.
Maakt een cache een site sneller?
Meestal wel, omdat de server het werk van de pagina opnieuw bouwen overslaat. Hoeveel winst het geeft hangt van je opzet af, dus test je eigen pagina's voor en na.
Kan een cache privégegevens aan de verkeerde persoon tonen?
Bij een slechte opzet wel. Persoonlijke pagina's, zoals winkelwagens en accounts, moeten van gedeelde caches worden uitgesloten. Controleer dit telkens als je caching toevoegt of wijzigt.