Managed WordPress-hosting is er om WordPress goed te laten draaien. Het biedt een omgeving die perfect is afgestemd op hoe WordPress zich gedraagt onder belasting, hoe het omgaat met caching en hoe het PHP uitvoert.

Blokthema’s veranderen niets aan de basisprincipes van hosting, maar ze veranderen wel waar prestatieknelpunten ontstaan. En daar wordt de rol van de webhost duidelijker. Infrastructuur alleen maakt een site nog niet snel. Wanneer infrastructuur slecht is afgestemd, wordt dit pijnlijk duidelijk in moderne WordPress-workflows, vooral als er dynamische blokken, de Site Editor, previews en ingelogde sessies bij betrokken zijn.

Om te begrijpen waarom, helpt het om te kijken naar wat er daadwerkelijk gebeurt tijdens een paginaverzoek en hoe hostingbeslissingen de gebruikerservaring beïnvloeden wanneer een op blokken gebaseerde architectuur wordt gebruikt.

Wat gebeurt er als een WordPress-pagina wordt opgevraagd

Laten we eens kijken naar een eenvoudig verzoek dat een 200 OK-respons oplevert.

1. De browser verstuurt het verzoek

Een gebruiker voert een URL in of klikt op een link. Als het IP-adres van de server nog niet in de cache staat, voert de browser een DNS-lookup uit. Vervolgens opent hij een TCP-verbinding en onderhandelt hij over een beveiligde TLS-sessie.

Voordat WordPress erbij betrokken raakt, gaat het verzoek door de webserver en eventuele geconfigureerde lagen zoals firewalls of reverse proxies.

2. Cachecontrole

De server controleert of er een geldige cacheversie van de opgevraagde pagina bestaat.

Als er een volledige HTML-cache beschikbaar en geldig is, wordt WordPress niet uitgevoerd. Het cache-antwoord wordt onmiddellijk teruggestuurd.

Als er geen cache-item bestaat, of als caching opzettelijk wordt omzeild voor ingelogde gebruikers, previews of specifieke eindpunten, gaat het verzoek verder naar WordPress.

3. WordPress wordt geactiveerd

WordPress laadt zijn kernbestanden, actieve plugins en het actieve thema. Het initialiseert hooks en maakt zich klaar om het verzoek af te handelen.

In dit stadium geeft WordPress nog geen uitvoer weer. Het verzoek bepaalt welke inhoud er wordt aangevraagd.

4. Verwerking van de hoofdquery

Met behulp van herschrijfregels en queryvariabelen bouwt en voert WordPress de hoofddatabasequery uit. Het bepaalt of het verzoek voor een enkel bericht, een pagina, een archief, een zoekresultaat of een ander inhoudstype is.

Pas daarna begint de templatekeuze.

5. Templateverwerking

Hier beginnen blok- en klassieke thema’s structureel van elkaar te verschillen.

Klassieke thema’s

WordPress evalueert de templatehiërarchie en selecteert het juiste PHP-templatebestand, zoals single.php, page.php of archive.php. Dat bestand bevat PHP-logica die direct HTML uitvoert.

Blokthema’s

WordPress controleert of er een aangepaste bloktemplate in de database staat. Als die er is, krijgt die voorrang. Zo niet, dan valt WordPress terug op het bloktemplatebestand dat in het thema zit, zoals single.html of index.html.

De geselecteerde template wordt vervolgens verwerkt via het blokweergavesysteem.

6. Lay-out samenstellen

Klassieke thema’s

De lay-out wordt opgebouwd via PHP-templates. Deze templates combineren markup, logica en functieaanroepen om HTML-uitvoer te genereren.

Blokthema’s

De lay-out wordt samengesteld uit blok-templates, templatedelen en berichtinhoud. De opmaak van de blokken wordt geparseerd en elk blok wordt omgezet naar HTML voordat de uiteindelijke uitvoer wordt gegenereerd.

7. Inhoudsstructuur

Klassieke thema’s

Berichtinhoud wordt voornamelijk als HTML in de database opgeslagen. Tijdens de uitvoer past WordPress filters, shortcodes en andere bewerkingen toe voordat de inhoud wordt weergegeven.

Blokthema’s

Blokinhoud wordt opgeslagen als HTML met ingebedde blokmetadata, bijvoorbeeld:

<!-- wp:image {"id":123} -->

<img src="logo.png">

<!-- /wp:image -->

Wanneer WordPress deze inhoud verwerkt, parseert het de blokstructuur, begrijpt het attributen en nesting, en past het attributen en stijlen op blokniveau toe, zoals spatiëring, uitlijning en typografie, voordat de uiteindelijke HTML wordt gegenereerd.

8. Dynamische weergave

Dynamische weergave komt zowel in klassieke als in blokthema’s voor. Veel klassieke thema’s maken gebruik van aangepaste queries, widgets of shortcodes die tijdens het uitvoeren output genereren.

In op blokken gebaseerde architecturen wordt dynamisch gedrag geformaliseerd via dynamische blokken. Een Query Loop-blok genereert bijvoorbeeld zijn markup tijdens het verzoek met behulp van PHP, in plaats van statische HTML in de database op te slaan.

Wanneer caching van volledige pagina’s wordt omzeild, vindt deze weergaveworkflow bij elk verzoek plaats.

9. Styling

Bij klassieke thema’s wordt styling meestal geleverd via statische CSS-bestanden die door het thema in de wachtrij worden geplaatst.

Bij blokthema’s zorgen globale stijlen die zijn gedefinieerd in theme.json en blokmetadata ervoor dat WordPress automatisch consistente CSS kan genereren. Dit vermindert de behoefte aan grote, handgemaakte stylesheets en centraliseert de ontwerpconfiguratie.

10. Eindresultaat

Nadat templates, inhoud, blokken en stijlen zijn verwerkt, produceert WordPress de uiteindelijke HTML-respons.

De server stuurt de payload naar de browser. Indien geconfigureerd, kan de respons vervolgens worden gecachet voor toekomstige verzoeken.

Waar blokthema’s de belasting verplaatsen

De verzoekcyclus die je zojuist hebt doorlopen, geldt voor zowel klassieke als blokthema’s. WordPress lost nog steeds query’s op, selecteert templates, voert PHP uit en retourneert HTML.

Wat verandert bij blokthema’s is niet de basis, maar waar het werk plaatsvindt en wanneer het niet kan worden overgeslagen.

Ten eerste kunnen templates in de database staan. Wanneer een gebruiker een template bewerkt in de Site Editor, slaat WordPress die versie op en geeft deze voorrang boven het bestand in de themamap. Dit zorgt voor meer flexibiliteit, maar het betekent ook dat bij implementaties en het ongeldig maken van de cache rekening moet worden gehouden met templates die in de database zijn opgeslagen.

Ten tweede maken dynamische blokken runtime-rendering zichtbaarder. Klassieke thema’s kunnen dynamische output genereren via aangepaste queries, widgets of shortcodes. Blokthema’s formaliseren dit patroon via dynamische blokken, zoals het Query Loop-blok. Wanneer caching van volledige pagina’s wordt omzeild, voeren deze blokken PHP uit tijdens het verzoek.

Ten derde zijn de workflows van de editor sterk afhankelijk van REST-eindpunten. Het opslaan van templates, het bijwerken van globale stijlen, het bekijken van een voorbeeld van wijzigingen en het werken met patronen genereren niet-gecachete verzoeken. Deze paden zijn direct afhankelijk van PHP-uitvoering, databaseprestaties en objectcaching.

Ten slotte centraliseren globale stijlen die in theme.json zijn gedefinieerd de ontwerpbeslissingen. Wanneer stijlen of templatestructuren veranderen, wordt cachecoördinatie belangrijker om ervoor te zorgen dat bezoekers en redacteuren de bijgewerkte uitvoer onmiddellijk zien.

Geen van deze veranderingen vereist een ander type hosting. Ze maken bepaalde zwakke punten in de infrastructuur wel duidelijker zichtbaar, vooral in scenario’s zonder cache en bij ingelogde gebruikers.

Met dat in gedachten is de volgende stap om te kijken wat een goed geconfigureerde hostingomgeving moet kunnen in een op blokken gebaseerde opzet.

Overwegingen voor hosting van op blokken gebaseerde sites

Blokthema’s stellen geen nieuwe hostingvereisten. Ze maken het wel belangrijker om de bestaande goed te regelen.

Een goed geconfigureerde omgeving moet rekening houden met zowel gecachete als niet-gecachete paden, vooral voor redacteuren en ingelogde gebruikers.

Gecoördineerde caching over verschillende lagen

Caching van volledige pagina’s blijft de meest effectieve prestatielaag voor anoniem verkeer. Openbare pagina’s moeten agressief in de cache worden opgeslagen, terwijl previews, ingelogde sessies en specifieke eindpunten automatisch worden omzeild.

Objectcaching speelt ook een belangrijke rol. Door herhaalde queryresultaten en berekende datastructuren in het geheugen op te slaan, vermindert een objectcache de belasting van de database en verbetert het de responsiviteit van zowel de frontend als de backend.

Het ongeldig maken van de cache moet worden gecoördineerd. Wanneer inhoud, templates of algemene stijlen worden bijgewerkt, moeten gerelateerde pagina’s onmiddellijk worden vernieuwd. Slechte cachecoördinatie kan leiden tot verouderde lay-outs, inconsistente stijlen of verwarrend preview-gedrag.

Een CDN vult deze opzet aan door statische assets zoals afbeeldingen, lettertypen en scripts dichter bij de bezoekers te cachen.

Caching gaat niet over één laag. Het gaat erom hoe deze lagen samenwerken.

PHP-capaciteit en runtime-prestaties

Wanneer caching van volledige pagina’s wordt omzeild, voert WordPress PHP uit om query’s op te lossen, templates weer te geven en dynamische blokken te verwerken.

Dit maakt PHP-capaciteitsplanning belangrijk. De omgeving moet voldoende PHP-threads bieden om de verwachte gelijktijdigheid aan te kunnen zonder dat er wachtrijen ontstaan. Geheugenlimieten moeten zo worden geconfigureerd dat er bij hoge belasting geen swapping plaatsvindt.

OPcache moet worden ingeschakeld en op de juiste grootte worden ingesteld, zodat PHP-bytecode niet herhaaldelijk opnieuw hoeft te worden gecompileerd. Tijdens implementaties moet OPcache worden vernieuwd, zodat bijgewerkte code onmiddellijk wordt uitgevoerd.

Deze werkwijzen gelden voor alle WordPress-sites, maar bij blokgebaseerde workflows kunnen prestatieproblemen duidelijker merkbaar zijn wanneer het weergeven dynamisch is.

Database- en objectcaching

Bloktemplates die in de Site Editor zijn aangepast, worden opgeslagen in de database. Blokinhoud bevat gestructureerde metadata die WordPress parseert voordat deze wordt weergegeven. Hoewel deze verwerking efficiënt is, is deze nog steeds afhankelijk van de responsiviteit van de database wanneer caching wordt omzeild.

Een permanente objectcache vermindert herhaalde query’s en helpt de prestaties te stabiliseren voor zowel frontend-bezoekers als redacteuren die in het dashboard werken.

Observability en monitoring

Naarmate meer activiteiten naar runtime-paden verschuiven, wordt zichtbaarheid steeds belangrijker. Hosts en site-eigenaren moeten het volgende monitoren:

  • Cache-hitratio’s
  • PHP-workergebruik en wachtrijlengte
  • De prestaties van databasequery’s
  • Responstijden van de REST API
  • Tijd tot eerste byte voor verzoek in cache en niet in cache

Block-thema’s hebben geen speciale infrastructuur nodig. Ze maken het wel makkelijker om te zien wanneer de infrastructuur niet goed is geconfigureerd.

WordPress draaien zoals het nu werkt

Blokthema’s veranderen niets aan wat WordPress nodig heeft van hosting. Ze maken het wel duidelijker wanneer niet aan die behoeften wordt voldaan.

Wanneer templates in de database staan, dynamische blokken tijdens runtime worden weergegeven en redacteuren vertrouwen op niet-gecachete REST-verzoeken, is de infrastructuur niet langer onzichtbaar. Ze ondersteunt de workflow soepel, of ze staat in de weg.

Dat is waar managed hosting voor WordPress het verschil maakt.

Bij Kinsta is de hele stack speciaal gebouwd voor hoe WordPress tegenwoordig werkt, van gecoördineerde caching en persistente objectcaching tot geoptimaliseerde PHP-prestaties en wereldwijde CDN-levering op krachtige cloudinfrastructuur. Het doel is om ervoor te zorgen dat zowel bezoekers als redacteuren consistente prestaties ervaren, zelfs wanneer het weergeven dynamisch gebeurt.

Blokgebaseerd WordPress is niet zwaarder. Het is transparanter. En als de basis solide is, werkt die transparantie in jouw voordeel.

Bud Kraus

Bud Kraus has been working with WordPress as an in-class and online instructor, site developer, and content creator since 2009. He has produced instructional videos and written many articles for WordPress businesses.