KakapoWPKakapoWP
InloggenGratis proberen
Helpcentrum/Performance/Cache voorladen instellen

Cache voorladen instellen

Geldt voor: Kakapo Performance·4 min leestijd

Eerst meten: lukt de zelfaanroep?

Voorverwarmen betekent dat je webserver zijn eigen pagina’s opvraagt. Of dat bij jou werkt, beantwoordt de knop ‘Zelfaanroep testen’: hij haalt precies de startpagina op en meldt statuscode, overgedragen grootte en antwoordtijd. Komt HTTP 401 of 403 terug, dan staat er meestal een toegangsblokkade voor — Basic Auth voor een staging-site of een firewall. Loopt de test in zijn tijdslimiet van 10 seconden, dan blokkeert de server zichzelf vaak, omdat er maar één PHP-werker vrij is en die al door jouw klik bezet wordt. Er worden nog twee voorwaarden meegecontroleerd: de paginacache moet ingeschakeld zijn en de cachemap moet voor de webserver schrijfbaar zijn. Zolang een daarvan ontbreekt, blijven voorbeeld en start uitgeschakeld en staat de reden er in gewone taal onder.

Waar de adressen vandaan komen

Er zijn twee bronnen. ‘Sitemap’ dekt de hele site af; zonder invoer wordt /wp-sitemap.xml genomen, Yoast en Rank Math zetten die van hen onder /sitemap_index.xml. Een sitemap-index wordt één niveau diep gevolgd, over hoogstens 25 deelsitemaps. Alleen adressen van deze site kunnen worden ingevoerd; een vreemde host wordt met een foutmelding geweigerd. Komt er geen enkel adres terug, dan noemt de melding de reden — de meest voorkomende: staat onder Instellingen › Lezen ‘Zoekmachines ontmoedigen’ aan, dan schakelt WordPress zijn sitemap uit en levert het in plaats daarvan de 404-pagina, en wel met statuscode 200. Wie alleen naar de code kijkt, houdt dat voor een succes. ‘Laatst gewijzigde inhoud’ heeft geen sitemap nodig: startpagina, berichtenpagina en de laatst bewerkte berichten en pagina’s, standaard 50, instelbaar tussen 5 en 500. In de praktijk is dat vaak de passender bron, want wat je zojuist hebt bewerkt, is uit de cache gevlogen en wordt als volgende opgevraagd.

Het voorbeeld lezen

‘Wachtrij controleren’ telt alleen — tot dan verandert er niets. Het overzicht scheidt netjes: gevonden adressen, dubbele, die op vreemde hosts, die nooit worden gecachet (met tot acht voorbeelden inclusief reden), die al vers in de cache liggen. Helemaal onderaan staat het aantal dat werkelijk zou worden opgehaald, plus de eerste twaalf adressen ter controle. Duikt er een regel ‘boven de bovengrens’ op, dan past de rest niet in één verwerking: standaard zijn dat 300 adressen, toegestaan is 10 tot 5000. Met ‘Omvang’ kies je tussen ‘alleen ontbrekende pagina’s’ en ‘alles opnieuw aanmaken’. Bij opnieuw aanmaken gaat er niets verloren — een cachebestand ontstaat bij elke aanroep vanzelf weer. Bij de start wordt de wachtrij overigens opnieuw opgebouwd, niet de lijst uit het voorbeeld overgenomen; tussen controleren en klikken kunnen minuten liggen.

Porties, tijdslimieten en wie de verwerking aandrijft

Eén stap haalt standaard 5 adressen op (instelbaar 1 tot 20) en draagt uiterlijk na 20 seconden over, zodat geen enkele aanroep in de tijdslimiet van de server loopt. Per adres geldt bovendien een eigen tijdslimiet, standaard 10 seconden, instelbaar tussen 3 en 30; daarna telt het adres als mislukt en gaat de verwerking verder. Op zwakke hardware zet je de portiegrootte omlaag, niet omhoog: de verwerking duurt dan langer, maar de site blijft ondertussen bruikbaar. De stappen worden aangedreven door de browser zolang de beheerpagina open staat, daarna door WP-Cron — in een eigen aanroep waar geen bezoeker op wacht. Is DISABLE_WP_CRON gezet, dan gaat het na het sluiten van het tabblad alleen verder als op de server een echte cron wp-cron.php aanroept. Er werkt altijd maar één stap tegelijk; een blokkering van 120 seconden voorkomt dat twee open tabbladen of browser en cron dezelfde adressen dubbel ophalen en de cijfers meerdere keren tellen. ‘Afbreken’ werkt tussen twee adressen, niet pas aan het eind van de portie; al aangemaakte cachebestanden blijven geldig.

Resultaat lezen en verwerkingen automatisch starten

Elke opvraging eindigt in precies één van drie regels. ‘In de cache opgeslagen’ betekent: na de opvraging stond het bestand er werkelijk — gecontroleerd wordt het bestandssysteem, niet de statuscode. ‘Geleverd, maar niet gecachet’ betekent: de pagina kwam terug, maar werd niet opgeslagen; dan geldt vrijwel altijd een uitsluitingsregel van de paginacache, en die hoort daar te worden nagekeken, niet hier. ‘Mislukt’ zijn time-outs, foutcodes en redirects; redirects worden bewust niet gevolgd, want in de sitemap hoort het doeladres. Het log bewaart de laatste 40 opvragingen, de tabel toont daarvan er 25 met adres, statuscode, duur en resultaat. De eigen opvragingen dragen een kenmerk en tellen daarom niet mee in het trefferpercentage van de cache — anders zouden de statistieken stijgen zonder dat een bezoeker er iets aan heeft. Twee schakelaars starten verwerkingen zonder jou: na het legen van de cache en volgens tijdschema, elk uur, tweemaal daags of dagelijks (standaard dagelijks). Beide starten alleen als er geen van de voorwaarden ontbreekt.

Vond je dit artikel nuttig?