Verkeerspieken komen niet alleen voor bij sites van grote ondernemingen. Zelfs een bescheiden WooCommerce winkel kan zijn verkeer zien verdrievoudigen na een goed getimede advertentie, e-mail of seizoensgebonden promotie.

Neem Black Friday als voorbeeld. Volgens NPR gaven Amerikaanse consumenten in 2024 op één dag $10,8 miljard online uit, en zelfs de kleinste winkels voelden het effect. Een campagne die normaal een paar honderd bezoeken oplevert, kan ineens duizenden mensen naar je kassa drijven.

Als klant van Kinsta hoef je niet elke keer van hostingpakket te veranderen als dat gebeurt. In deze handleiding worden drie effectieve opties behandeld: het gebruik van een PHP Performance add-on, het maximaliseren van caching en het verminderen van databasebelasting.

1. Gebruik de PHP Performance add-on

De meeste verkeerspieken zijn funest voor sites omdat PHP zijn capaciteit bereikt om verzoeken te verwerken. Als er te veel ongecachete pagina’s of afrekenacties tegelijk worden bezocht, stapelen de threads zich op en krijgen bezoekers fouten, vertragingen of verlaten winkelwagentjes te zien.

De PHP Performance add-on
De PHP Performance add-on

Dat is waar de Kinsta PHP Performance add-on écht van pas kan komen. In plaats van je hele hostingpakket te upgraden, kun je PHP threads en geheugentoewijzing tijdelijk opvoeren tijdens piekmomenten. Het is pro rata, dus je betaalt voor de extra resources wanneer je ze nodig hebt en niets meer.

Voeg meer threads en geheugen toe met de PHP Performance add-on.
Voeg meer threads en geheugen toe met de PHP Performance add-on.

Denk aan een kleine WooCommerce winkel die een 48-uurs flash sale houdt. Hun e-mailcampagne verdrievoudigt het verkeer ’s nachts en terwijl caching de meeste bezoeken aan productpagina’s absorbeert, stijgen de betalingsverzoeken.

Zonder extra PHP threads lopen winkelwagentjes vast en mislukken bestellingen. Onderzoeken tonen aan dat één op de drie online shoppers zijn winkelwagentje achterlaat als pagina’s te langzaam laden, dus dit kan resulteren in duizenden dollars aan misgelopen verkopen. Door de PHP Performance add-on de dag voor de verkoop in te schakelen, zorgt de winkel ervoor dat het afrekenen soepel verloopt en schakelt het daarna uit om te voorkomen dat je moet betalen voor ongebruikte capaciteit.

Je kunt de PHP Performance add-on weer verwijderen als de drukke tijden voorbij zijn.
Je kunt de PHP Performance add-on weer verwijderen als de drukke tijden voorbij zijn.

2. Maximaliseer caching voordat je aan je pakket sleutelt

Voordat je resources gaat schalen, moet je ervoor zorgen dat caching het zware werk doet. Caching levert vooraf gebouwde versies van je pagina’s af zodat bezoekers PHP niet bij elke aanvraag hoeven te belasten. Als het goed is geconfigureerd, komen de meeste bezoeken aan product- en categoriepagina’s helemaal niet op de server terecht.

Het probleem is dat winkels vaak hun eigen caching ondermijnen zonder het te beseffen. Plugins of thema’s kunnen “no-cache” headers forceren, pagina’s met winkelwagentjes en kassa’s kunnen caching onnodig omzeilen of CDN-instellingen kunnen verkeerd geconfigureerd zijn. Elk van deze problemen verbruikt de resources van PHP en vertraagt je winkel.

Een voorbeeld kan helpen om dit concept snel te illustreren. Stel, een kleine kledingwinkel heeft een zomeruitverkoop en ziet een plotselinge piek in het aantal bezoekers. Productpagina’s zouden in de cache moeten staan, maar omdat hun thema “no-cache” headers heeft toegevoegd, wordt PHP belast met elk verzoek van een bezoeker.

Laadtijden raken voorbij de drie seconden en het winkelend publiek begint af te haken. Na het repareren van de headers en het bevestigen van “HIT” reacties in hun CDN, heeft hetzelfde verkeersniveau nauwelijks invloed op PHP, waardoor er resources beschikbaar blijven voor echte winkelwagen- en afrekenactiviteiten.

Om dit in je winkel toe te passen, voer je een snelle cachingschecklist uit:

  • Controleer je top cache bypasses om onnodige skips op te sporen.
  • Test in een privé of incognito browser om te zien wat nieuwe bezoekers ervaren.
  • Controleer of caching headers werken en zoek naar “HIT” in plaats van origin responses.

Cachingslagen in Kinsta

Kinsta verwerkt automatisch meerdere cachingslagen, maar je kunt ze allemaal finetunen of wissen binnen MyKinsta:

Caching op serverniveau

Kinsta’s pagina-caching op serverniveau slaat volledige HTML-pagina’s op de server op zodat PHP ze niet bij elk bezoek opnieuw hoeft op te bouwen. Het is standaard ingeschakeld op alle sites.

server caching

Je kunt deze cache ook wissen door naar MyKinsta > WordPress sites > sitenaam > Caching > Servercaching te gaan en dan op Cache wissen te klikken.

Pas de server caching instellingen aan binnen MyKinsta.
Pas de server caching instellingen aan binnen MyKinsta.

Edge caching

Edge caching pusht diezelfde vooraf gebouwde pagina’s naar het wereldwijde netwerk van Cloudflare en levert ze af vanuit het datacenter dat zich het dichtst bij elke bezoeker bevindt. Je kunt dit aan- of uitzetten onder WordPress Sites > Edge caching in MyKinsta.

Je kunt Edge Caching aan- en uitzetten in MyKinsta.
Je kunt Edge Caching aan- en uitzetten in MyKinsta.

Dit verlaagt de vertraging drastisch en haalt nog meer belasting weg van je origin server.

CDN caching

Kinsta’s geïntegreerde CDN cacht statische bestanden, zoals afbeeldingen, CSS en JavaScript, aan de edge.

CDN caching instellingen kunnen ook worden aangepast in MyKinsta.
CDN caching instellingen kunnen ook worden aangepast in MyKinsta.

Je kunt optimalisatie van afbeeldingen configureren en specifieke bestanden uitsluiten.

Caches handmatig wissen

Om alles in één keer te wissen (server, edge en CDN), klik je op Wis alle caches onder MyKinsta > Caching, of gebruik je het WP-CLI commando wp kinsta cache purge –all.

Je kunt alle caches in één keer wissen in MyKinsta.
Je kunt alle caches in één keer wissen in MyKinsta.

3. Verminder onnodige databasebelasting

Zelfs als PHP en caching in orde zijn, kan je database de prestaties nog steeds naar beneden halen. Elke productfilter, categoriepagina of zoekopdracht verhoogt de werkbelasting en tijdens drukke periodes neemt die druk snel toe.

Stel je bijvoorbeeld een woonwinkel voor met honderden producten die een Black Friday weekend-actie houden. Hun categoriepagina’s laden alle artikelen tegelijk en elke filteroptie veroorzaakt zware database-queries.

Naarmate het verkeer toeneemt, lopen de pagina’s vast en verlaten gefrustreerde klanten één voor één de website. Maar door de productresultaten op de juiste manier te pagineren en ongebruikte filters te verwijderen, kan de winkel de databasebelasting drastisch verlagen. Afrekenverzoeken blijven snel, zelfs als het verkeer piekt.

Hier zijn een paar eenvoudige manieren om je database strak te houden:

  • Ruim automatisch geladen opties op. Oude plugin instellingen en ongebruikte gegevens kunnen zich opstapelen in de wp_options tabel en queries vertragen. In Kinsta kun je deze ingangen inspecteren via phpMyAdmin (beschikbaar onder MyKinsta > Sites > Info > Database toegang) of verbinding maken via SSH en een query uitvoeren zoals SELECT option_name, length(option_value) FROM wp_options WHERE autoload='yes' ORDER BY length(option_value) DESC; om grote automatisch geladen opties te identificeren.
  • Verwijder ongebruikte productfilters. Verwijder in WooCommerce of de instellingen van je filterplugin alle filters (kleur, merk, maat, etc.) die geen invloed hebben op conversies. Elk actief filter voegt zoekopdrachten toe aan je productarchiefpagina’s. Gebruik de APM-tool van Kinsta om te zien welke zoekopdrachten pieken wanneer shoppers filters gebruiken en schakel dan de filters uit die de kosten niet waard zijn.
  • Pagineer lange lussen. Het laden van honderden producten of berichten tegelijk belast de database onnodig. Gebruik in je thema of aangepaste sjablonen WP_Query met een posts_per_page limiet (bijvoorbeeld 20 of 30) en schakel paginering of “meer laden” knoppen in. Houd je productgrids licht, zodat pagina’s snel renderen, zelfs tijdens pieken.
  • Controleer stroomstoten en zoekplugins. Verkeerd geconfigureerde zoekprogramma’s raken de database vaak harder dan nodig. Tijdelijke items staan vaak op wp_options en kunnen na verloop van tijd uitdijen. Je kunt verlopen exemplaren veilig verwijderen met een plugin zoals WP-Optimize of rechtstreeks in phpMyAdmin met DELETE FROM wp_options WHERE option_name LIKE '%_transient_%';. We raden je aan dit te doen met onze gids om WordPress te versnellen.

Je vraagt je nu misschien af wanneer je Redis moet overwegen? Alleen als je monitoring tools (zoals APM) herhaalde identieke queries of consistent hoge databasetijd per verzoek laten zien. Als vuistregel hebben de meeste winkels Redis niet nodig als caching en PHP goed zijn afgestemd. Maar als de verwachte inkomsten de kosten overtreffen, kan het de moeite waard zijn om het voor die maand in te schakelen.

Database opschoning zorgt ervoor dat je winkel geen resources verspilt, waardoor er meer capaciteit overblijft voor de aanvragen die daadwerkelijk verkopen opleveren.

Controleer de prestaties met monitoringtools

Het installeren van deze oplossingen is nog maar het halve werk. Je moet ook bevestigen dat ze werken. Tools zoals MyKinsta (met name de meegeleverde analytics) en APM maken het eenvoudig om knelpunten op te sporen, of het nu gaat om PHP threads die zich opstapelen, cache misses of trage database queries.

Houd de prestaties van je site in de gaten in MyKinsta.
Houd de prestaties van je site in de gaten in MyKinsta.

Door deze statistieken voor, tijdens en na je campagne te controleren, zie je precies waar je site onder druk staat en weet je of je aanpassingen resultaat opleveren.

Samenvatting

Je hebt geen complete hostingupgrade nodig om grote verkopen of verkeerspieken te overleven. Met de juiste instellingen kunnen kleinere winkels net zo goed omgaan met plotselinge vraag als grote winkels.

De sleutel is het combineren van drie praktische stappen: gebruik de PHP Performance add-on om tijdelijke pieken op te vangen, zorg ervoor dat caching op volle kracht werkt zodat de meeste bezoekers PHP nooit aanraken en ruim onnodige database belasting op om afrekenen snel en betrouwbaar te houden.

Samen voorkomen deze oplossingen 500 fouten, verminderen ze vertragingen en helpen ze meer klanten hun bestelling af te ronden. Als je een campagne of seizoensgebonden promotie plant, schakel dan vooraf de PHP Performance add-on in en combineer deze met effectieve caching en regelmatig databaseonderhoud.

Joel Olawanle Kinsta

Joel is een Frontend developer die bij Kinsta werkt als Technical Editor. Hij is een gepassioneerd leraar met liefde voor open source en heeft meer dan 200 technische artikelen geschreven, voornamelijk over JavaScript en zijn frameworks.