Cache-warmers

Maak, draai en beheer de website-warmers die je pagina's crawlen en gecachet houden.

11 min leestijd

Een cache-warmer crawlt je website via HTTP en houdt de pagina's gecachet. Deze pagina behandelt het aanmaken, draaien en het lezen van de resultaten. Voor een veld-voor-veld uitleg van elke optie, zie Warmer-instellingen.

Warmers staan onder Account → Warmers.

Voordat je begint

Je hebt een geverifieerde hostname nodig. Entry-URL's op een niet-geverifieerd domein worden geweigerd. Zie Hostnameverificatie.

Een warmer aanmaken

Klik op Warmer toevoegen. Het formulier is opgedeeld in secties, en maar twee velden zijn echt verplicht: een naam en één entry-URL.

  1. 1

    Laat Actief uit tijdens het configureren

    Zet hem bewust aan als je tevreden bent met de instellingen. Een inactieve warmer draait nooit en kost niets.

  2. 2

    Geef hem een naam voor later

    “Hoofdsite”, “Shop — categorieën”, “Docs”. De naam zie je alleen jij en je teamleden.

  3. 3

    Voeg entry-URL's toe

    Volledige absolute URL's inclusief https://. Je homepage is de gebruikelijke keuze.

  4. 4

    Zet Sitemaps meenemen aan als beschikbaar

    De waardevolste optie voor de meeste sites. Je CMS houdt de lijst met opwarmwaardige pagina's al bij.

  5. 5

    Stel uitsluitingen in als je die nodig hebt

    Houd adminpaden, winkelwagens en oneindige filter-URL's uit de wachtrij.

  6. 6

    Controleer de limieten

    Diepte en max URL's per minuut bepalen hoe groot en hoe agressief deze warmer is. De standaarden passen voor de meeste sites.

  7. 7

    Sla op en activeer

    Maak de warmer aan, draai hem één keer handmatig, controleer de resultaten en laat hem daarna op schema draaien.

Entry-URL's kiezen

Een entry-URL is waar een run begint. De meeste sites hebben er precies één nodig — de homepage — omdat sitemaps en linkontdekking al het andere vinden.

Voeg extra entry-URL's toe als een sectie niet binnen je dieptelimiet vanaf de homepage bereikbaar is:

  • Een campagnelandingspagina die alleen vanuit advertenties gelinkt wordt.
  • Een diepe categorie die vier klikken van de homepage af ligt.
  • Een tweede geverifieerd subdomein, zoals blog.example.com.
  • Een sitemap-index, als je er liever direct naar wijst.

Gebruik de URL die je site echt levert

Verwijst https://example.com door naar https://www.example.com, gebruik dan de www-vorm. Anders besteedt elk request zijn tijd aan het volgen van een redirect in plaats van het opwarmen van de echte pagina, en staan je resultaten vol 301-rijen.

Sitemaps gebruiken

Sitemaps zijn de betrouwbaarste manier om een site volledig te dekken, omdat je CMS of SEO-plugin ze automatisch bijhoudt. Wordt er een nieuwe pagina gepubliceerd, dan staat die in de sitemap en pikt de volgende warm-run hem op zonder dat jij iets doet.

Zet Sitemaps meenemen aan, en voeg eventueel de sitemap-URL zelf toe als entry-URL:

text
https://www.example.com/sitemap.xml
https://www.example.com/sitemap_index.xml
https://www.example.com/post-sitemap.xml

Sitemap-indexen die naar andere sitemaps verwijzen worden gevolgd. Dat is belangrijk bij grote WordPress- en WooCommerce-sites, waar de index doorgaans opsplitst in aparte post-, pagina- en productsitemaps.

Tip

Met sitemaps aan kun je je diepte meestal *verlagen*. De sitemap noemt diepe pagina's direct, dus je hoeft er niet link voor link naartoe te crawlen.

URL's uitsluiten

Sommige URL's moeten nooit opgewarmd worden. Zet die bij Uitgesloten URL's:

Sluit uitWaarom
/cart, /checkout, /my-accountGepersonaliseerd per bezoeker. Opwarmen is zinloos en riskeert dat iemands sessie gecachet wordt.
/wp-admin, /admin, /loginBeheergedeelten. Worden nooit gecachet, dus opwarmen is verspilde requests.
Filter- en sorteer-query stringsFacet-URL's zoals ?color=red&sort=price combineren eindeloos en overspoelen je wachtrij.
/searchOneindige URL-ruimte. Zoekresultaten zijn zelden cachewaardig.
Feeds en endpoints die je niet aan mensen levertMeestal je requestbudget niet waard.

Op plannen die dat bevatten, maakt Regex gebruiken van uitsluitingen patronen in plaats van letterlijke tekst, wat veel praktischer is voor families van query strings.

Een warmer draaien

Zodra hij Actief is, start een warmer elke auto-startinterval seconden een nieuwe run. Je kunt er ook direct één starten vanuit de warmerlijst, wat je wilt bij het testen van een configuratiewijziging.

Runs kunnen ook extern gestart worden — na een deploy, of als onderdeel van een CDN-purge. Zie Deploy-triggers en CDN-integraties.

De resultaten lezen

Open een warmer om te zien wat hij gedaan heeft. De totalen bovenaan gelden voor de hele run:

GetalBetekenis
Totaal URL'sHoeveel URL's de run heeft aangeraakt.
Totaal geslaagdHoeveel er een succesvolle statuscode teruggaven.
Totaal misluktHoeveel er fouten gaven. Een handvol is normaal op een grote site; veel betekent dat er iets mis is.
Gemiddelde eerste laadtijdGemiddelde koude responstijd, in seconden.
Gemiddelde tweede laadtijdGemiddelde warme responstijd. Hoort aanzienlijk lager te zijn.
Totale duurKloktijd voor de run.
Snelheid (pagina's/minuut)Werkelijk gehaalde doorvoer, die onder je ingestelde plafond kan liggen.

Daaronder staat een rij per URL met hostname, URL, diepte, statuscode, user agent, content type, content length, wanneer hij laatst gecrawld is, en beide laadtijden.

Hoe het hoort te zijn

  • Statuscodes zijn overwegend 200.
  • Tweede laadtijden zijn een fractie van de eerste laadtijden.
  • Het aantal URL's komt ruwweg overeen met het aantal pagina's dat je verwacht.
  • Mislukkingen zijn zeldzaam en verklaarbaar.

Wat je moet uitzoeken

SymptoomWaarschijnlijke oorzaak
Veel 403 of 429Een botfilter, WAF of rate limiter blokkeert de crawler. Verlaag je rate limit en overweeg toestaan.
Veel 301 / 302Je entry-URL's of interne links wijzen naar doorverwijzende adressen.
Veel 404Kapotte interne links, of uitsluitingen die een verkeerde URL-familie niet opvangen.
5xx-foutenJe origin heeft het zwaar. Verlaag max URL's per minuut onmiddellijk.
Beide laadtijden even traagDe pagina's worden helemaal niet gecachet. Dat is een cacheconfiguratieprobleem, geen opwarmprobleem.
Veel minder URL's dan verwachtDiepte te laag, sitemaps uit, of uitsluitingen te ruim.
Veel meer URL's dan verwachtDiepte te hoog, of er worden facet-URL's met query strings ontdekt. Voeg uitsluitingen toe.

Hoeveel warmers moet je hebben?

Één warmer per site is het normale startpunt. Splits op in meerdere als verschillende delen van je site echt andere behandeling verdienen:

  • Op prioriteit — een kleine, frequente warmer voor je homepage en belangrijkste landingspagina's, en een grotere, langzamere voor de lange staart.
  • Op sectie — een winkelwarmer met strakke uitsluitingen, en een aparte blogwarmer met sitemaps en meer diepte.
  • Op hostname — aparte subdomeinen zijn meestal duidelijker als aparte warmers.
  • Op klant — bureaus gebruiken beter één workspace per klant dan alles door elkaar.

Het patroon hoge/lage frequentie

Een erg effectieve opzet: één warmer die je tien belangrijkste URL's op diepte 0 dekt en elke paar minuten draait, en een tweede die via sitemaps al het andere dekt en elk uur draait. Je kritieke pagina's staan nooit koud, zonder dat je constant de hele catalogus opwarmt.

Aanpassen en verwijderen

Een warmer aanpassen werkt vanaf de volgende run; een run die al bezig is maakt hij af met de oude instellingen. Verwijderen wist de configuratie en de historie, en is niet terug te draaien — wil je hem alleen tijdelijk stoppen, zet dan Actief uit.