{"id":20914,"date":"2026-08-23T08:31:43","date_gmt":"2026-08-23T06:31:43","guid":{"rendered":"https:\/\/webhosting.de\/nginx-cache-wordpress-speed\/"},"modified":"2026-08-23T08:31:43","modified_gmt":"2026-08-23T06:31:43","slug":"nginx-cache-wordpress-snelheid","status":"publish","type":"post","link":"https:\/\/webhosting.de\/nl\/nginx-cache-wordpress-speed\/","title":{"rendered":"NGINX FastCGI-cache: WordPress sneller maken"},"content":{"rendered":"<p>Ik maak WordPress merkbaar sneller door de <strong>NGINX-cache<\/strong> op serverniveau gebruik en HTML-antwoorden direct lever. Zo daalt de TTFB aanzienlijk, blijft PHP-FPM vrij en verwerkt de database minder <strong>Query's<\/strong>.<\/p>\n\n<h2>Centrale punten<\/h2>\n<ul>\n  <li><strong>Aan de serverzijde<\/strong> In plaats van een plug-in: FastCGI Cache ontlast PHP en vermindert de latentie.<\/li>\n  <li><strong>Zuiveren<\/strong> bij wijzigingen: de inhoud blijft actueel en wordt gericht bijgewerkt.<\/li>\n  <li><strong>Uitsluitingen<\/strong> Voor inloggen, het winkelmandje en afrekenen blijven dynamische gebieden dynamisch.<\/li>\n  <li><strong>Schalen<\/strong> onder belasting: caches worden vaker geraadpleegd en verlagen de serverbelasting.<\/li>\n  <li><strong>Meetbaar<\/strong> sneller: de TTFB-, RPS- en CPU-waarden verbeteren aanzienlijk.<\/li>\n<\/ul>\n\n\n<figure class=\"wp-block-image size-full is-resized\">\n  <img fetchpriority=\"high\" decoding=\"async\" src=\"https:\/\/webhosting.de\/wp-content\/uploads\/2026\/08\/nginx-cache-optimierung-4832.png\" alt=\"\" width=\"1536\" height=\"1024\"\/>\n<\/figure>\n\n\n<h2>Hoe de NGINX FastCGI-cache WordPress versnelt<\/h2>\n<p>Bij de eerste keer dat de pagina wordt opgevraagd, geeft WordPress de pagina weer; daarna slaat NGINX het voltooide antwoord op als <strong>HTML<\/strong> en verwerkt toekomstige identieke verzoeken zonder PHP-FPM. Zo verminder ik de CPU-tijd en het wisselen van context, terwijl het bestandssysteem of de OS-cache snelle <strong>Hits<\/strong> levert. Juist bij pieken blijft de responstijd laag, omdat er geen PHP-processen hoeven te worden gestart. Hierdoor minimaliseer ik de TTFB en maak ik meer verzoeken per seconde mogelijk. Het resultaat is een soepelere interactie, minder time-outs en een duidelijke prestatiereserve voor echt dynamische processen.<\/p>\n\n<h2>Cache aan de serverzijde versus cache via een plug-in (inclusief vergelijking)<\/h2>\n<p>Een cache-plug-in werkt in de <strong>PHP-stack<\/strong> en activeert vaak processen, zelfs bij treffers, terwijl FastCGI Cache direct op webserver-niveau reageert. Hierdoor vallen veel overheadkosten weg, zoals PHP-initialisatie en plugin-hooks. Voor terugkerende bezoekers vertrouw ik vooral op de serverzijde en combineer ik dit indien nodig met een lichte frontend-optimalisatieplugin. Wie de details grondig wil bekijken, begint met een gestroomlijnde <strong>Testfase<\/strong> en meet TTFB, CPU en cache-hit-rate afzonderlijk. De verschillen worden al snel zichtbaar \u2013 vooral onder belasting.<\/p>\n<table>\n  <thead>\n    <tr>\n      <th>Criterium<\/th>\n      <th>Plugin-cache (PHP)<\/th>\n      <th>NGINX FastCGI-cache<\/th>\n    <\/tr>\n  <\/thead>\n  <tbody>\n    <tr>\n      <td>Manier van beantwoorden<\/td>\n      <td>PHP wordt ge\u00efnitialiseerd, de plug-in controleert de cache<\/td>\n      <td>De webserver levert het bestand rechtstreeks aan<\/td>\n    <\/tr>\n    <tr>\n      <td>TTFB<\/td>\n      <td>hoger door het opstarten van PHP<\/td>\n      <td>zeer laag bij cache-treffers<\/td>\n    <\/tr>\n    <tr>\n      <td>Bronnen<\/td>\n      <td>meer CPU\/RAM per verzoek<\/td>\n      <td>aanzienlijk minder hulpbronnen<\/td>\n    <\/tr>\n    <tr>\n      <td>Schalen<\/td>\n      <td>beperkt door PHP-processen<\/td>\n      <td>schaalbaar en effici\u00ebnt met NGINX<\/td>\n    <\/tr>\n    <tr>\n      <td>Afhankelijkheden<\/td>\n      <td>Mogelijke conflicten tussen thema\u2019s en plug-ins<\/td>\n      <td>draait op WordPress<\/td>\n    <\/tr>\n  <\/tbody>\n<\/table>\n<p>Daarnaast gebruik ik duidelijke cache-sleutels en een overzichtelijke mappenstructuur, zodat de inhoud per host, schema en URI gescheiden blijft. Wie op zoek is naar een introductie, kan mijn handleiding over de <a href=\"https:\/\/webhosting.de\/nl\/venster-voor-cache-optimalisatie-van-nginx\/\">NGINX-cache-optimalisatie<\/a> als leidraad gebruiken. Zo blijft de configuratie overzichtelijk en kunnen toekomstige uitbreidingen sneller worden doorgevoerd.<\/p>\n\n\n<figure class=\"wp-block-image size-full is-resized\">\n  <img decoding=\"async\" src=\"https:\/\/webhosting.de\/wp-content\/uploads\/2026\/08\/nginx_fastcgi_cache_wp_0325.png\" alt=\"\" width=\"1536\" height=\"1024\"\/>\n<\/figure>\n\n\n<h2>Geschikte scenario's en belangrijke uitzonderingen<\/h2>\n<p>Het meest geprofiteerd <strong>Inhoud<\/strong>, dus blogs, tijdschriften, landingspagina\u2019s en bedrijfswebsites met veel anonieme bezoekers. Ik sla elke pagina op in de cache die voor bezoekers identiek blijft, en sluit alles wat gepersonaliseerd is uit. Hieronder vallen inlogpagina\u2019s, profielen, reactieformulieren, de WooCommerce-winkelwagen, de kassa en \u2018Mijn account\u2019. Cookies en headers dienen als criterium om de cache doelgericht te omzeilen. Zo blijven openbare pagina\u2019s razendsnel, terwijl gevoelige onderdelen correct dynamisch blijven en de gebruikers een soepele ervaring hebben. <strong>serveert<\/strong> worden.<\/p>\n\n<h2>Technische basisbegrippen: cachezone, sleutel, header<\/h2>\n<p>Ik definieer eerst de <strong>Cachepad<\/strong> en een zone in de NGINX-configuratie, inclusief grootte en inactiviteitstijd. De cache-sleutel bevat het schema, de host en de URI, en optioneel query-strings, zodat varianten apart worden opgeslagen. Via `fastcgi_cache_valid`, bypass- en no-cache-regels bepaal ik wanneer verzoeken de cache omzeilen. Belangrijke headers zoals Set-Cookie, Authorization en bepaalde cookies van WordPress of WooCommerce duiden op dynamiek. Daarnaast leg ik vast welke foutpagina\u2019s of 50x-antwoorden kortstondig in de cache worden opgeslagen, zodat de pagina bij hoge belasting blijft <strong>antwoorden<\/strong>.<\/p>\n\n<h2>Cachebeheer en opschoningsstrategie<\/h2>\n<p>Een cache komt pas goed tot zijn recht als updates betrouwbaar zijn <strong>Uitrollen<\/strong>. Bij het opslaan van een bericht start ik een gerichte purge voor de betreffende URL\u2019s, inclusief startpagina\u2019s, categorie\u00ebn en feeds. Daarnaast stel ik een zinvolle TTL in, zodat de inhoud periodiek opnieuw wordt gegenereerd. Bij grote websites helpt preload voor belangrijke landingspagina\u2019s, zodat de eerste bezoeker geen \u2018koude start\u2019 ervaart. Na elke wijziging controleer ik de cache-hit-rate en of de opschoningen geen verouderde fragmenten achterlaten <strong>achterlaten<\/strong>.<\/p>\n\n<h2>Regels voor WordPress en WooCommerce<\/h2>\n<p>Ik laat ingelogde gebruikers consequent de cache gebruiken <strong>voorbij<\/strong>, meestal aan de hand van de cookie `wordpress_logged_in`. Voor WooCommerce sluit ik het winkelmandje, de kassa en \u2018Mijn account\u2019 uit via URI-patronen en let ik op cookies zoals `woocommerce_items_in_cart`. Product-, categorie- en inhoudspagina\u2019s sla ik daarentegen gewoon op in de cache. Daarnaast verwijder ik de cache wanneer de voorraad of prijs via een hook verandert. Deze scheiding zorgt ervoor dat openbare pagina\u2019s snel blijven, zonder dat aankoopprocessen worden <strong>storen<\/strong>.<\/p>\n\n<h2>De juiste keuze maken voor TTL, Stale en Locking<\/h2>\n<p>Ik stel de TTL van de inhoud in de praktijk in op bijvoorbeeld enkele minuten tot enkele uren, afhankelijk van <strong>Actualiteit<\/strong> en verkeer. Met \u2018stale\u2019-opties kan ik verouderde objecten tijdelijk leveren, terwijl er op de achtergrond een nieuwe versie wordt aangemaakt. Vergrendeling voorkomt het \u2018stampede-effect\u2019 wanneer veel verzoeken tegelijkertijd een verouderd object benaderen. Passende fout- en time-outregels zorgen ervoor dat bezoekers zelfs bij een korte storing een antwoord krijgen. Meer achtergrondinformatie over richtlijnen geef ik in mijn beknopte <a href=\"https:\/\/webhosting.de\/nl\/http-cache-controle-strategieen-hosting-cachemaster\/\">Cachebeheerstrategie\u00ebn<\/a>, die goed te combineren zijn met FastCGI Cache.<\/p>\n\n<h2>Monitoring en meetwaarden die ertoe doen<\/h2>\n<p>Ik meet eerst de <strong>TTFB<\/strong>, gevolgd door het aantal verzoeken per seconde en de CPU-belasting, uitgesplitst naar cache-hits en -misses. NGINX-logs en responsheaders laten me zien of er sprake is van een HIT, MISS, BYPASS of EXPIRED. Een stijgend hitpercentage bij een dalende CPU-belasting is voor mij het teken dat de regels werken. Daarnaast houd ik de I\/O van het bestandssysteem en het aantal actieve PHP-processen in de gaten. Voor voorwaardelijke caching maak ik op een zinvolle manier gebruik van ETag\/Last-Modified en verwijs ik naar mijn handleiding over <a href=\"https:\/\/webhosting.de\/nl\/http-voorwaardelijke-caching-etag-laatste-wijziging-prestatiegids\/\">Voorwaardelijke caching met ETag<\/a>, zodat de cache van de browser en de server goed op elkaar zijn afgestemd en de netwerkbelasting merkbaar <strong>valt<\/strong>.<\/p>\n\n<h2>Veelvoorkomende fouten en hoe ik ze oplos<\/h2>\n<p>Een veelvoorkomend struikelblok is een te brede <strong>Cache-sleutel<\/strong>, die varianten overschrijft en verkeerde inhoud weergeeft. Eveneens kritiek: ontbrekende uitsluitingen voor cookies zoals wordpress_logged_in of WooCommerce-signalen. Als de opschoning alleen betrekking heeft op de afzonderlijke pagina, blijven archief- en startpagina\u2019s verouderd; daarom breid ik de betreffende doelen uit. Ook query-strings heb ik vaak nodig in de sleutel, anders overschrijft de ene variant de andere. Te korte TTL\u2019s veroorzaken onnodige MISS-percentages, te lange TTL\u2019s verhogen het risico op verouderde <strong>Pagina's<\/strong>.<\/p>\n\n<h2>Praktische workflow voor de implementatie<\/h2>\n<p>Ik begin elk project met een duidelijk <strong>Plan<\/strong>: Doelen defini\u00ebren, te cachen paden markeren, dynamische uitzonderingen vastleggen. Vervolgens stel ik het cachepad, de zone, de sleutel en de headerregels in. In de volgende stap test ik HIT\/MISS, controleer ik cookies en houd ik de TTFB in de gaten tijdens een lichte belastingstest. Vervolgens optimaliseer ik TTL, Stale en Locking totdat de grafieken er goed uitzien. Tot slot documenteer ik purge-routes, verantwoordelijkheden en een korte procedure voor redacteuren, zodat inhoud altijd <strong>vers<\/strong> blijven.<\/p>\n\n<h2>Praktische NGINX-configuratie en voorbeelden<\/h2>\n<p>Ik vind de configuratie <strong>duidelijk<\/strong> gestructureerd: een centrale cachezone, unieke sleutel, duidelijke skip-regels en nuttige diagnose-headers. Een solide uitgangspunt ziet er als volgt uit:<\/p>\n<pre><code>fastcgi_cache_path \/var\/cache\/nginx levels=1:2 keys_zone=WORDPRESS:100m \\\n    inactive=60m use_temp_path=off loader_files=200 loader_sleep=50ms loader_threshold=300ms;\n\nmap $request_method $skip_non_get {\n    default 1;\n    GET 0;\n    HEAD 0;\n}\n\nmap $http_cookie $skip_cookie {\n    default 0;\n    ~*(wordpress_logged_in|comment_author|woocommerce_items_in_cart|wp_woocommerce_session|woocommerce_cart_hash) 1;\n}\n\nmap $arg_preview $is_preview { standaard 0; 1 1; }\nmap $request_uri $is_search { standaard 0; ~*\\?s= 1; }\n\nserver {\n    # ...\n    set $skip_cache 0;\n    if ($skip_non_get) { set $skip_cache 1; }\n    if ($skip_cookie)  { set $skip_cache 1; }\n    if ($is_preview)   { set $skip_cache 1; }\n    if ($is_search)    { set $skip_cache 1; }\n\n    location ~ \\.php$ {\n include fastcgi_params;\n fastcgi_pass unix:\/run\/php\/php8.2-fpm.sock;\n\n        fastcgi_cache WORDPRESS;\n fastcgi_cache_key \"$scheme$request_method$host$request_uri\";\n fastcgi_cache_bypass    $skip_cache;\n        fastcgi_no_cache $skip_cache;\n\n fastcgi_cache_valid 200 301 302 10m;\n        fastcgi_cache_valid 404 1m;\n fastcgi_cache_use_stale updating error timeout http_500 http_502 http_503;\n fastcgi_cache_lock on;\n fastcgi_cache_lock_timeout 5s;\n\n        add_header X-Cache $upstream_cache_status always;\n add_header X-Cache-Key   $scheme$host$request_uri always;\n    }\n}<\/code><\/pre>\n<p>Ik breid dit later, afhankelijk van het project, uit met Vary-signalen (bijv. taal, valuta) en meer gedetailleerde uitsluitingen. Belangrijk: POST, PUT, DELETE en alles met <strong>Autorisatie<\/strong> of <strong>Set-Cookie<\/strong> Ik sla PHP consequent over.<\/p>\n\n<h2>Varianten- en cookiestrategie\u00ebn in detail<\/h2>\n<p>Hoe minder varianten een HTML-document heeft, hoe hoger de hit-ratio. Ik beperk het aantal varianten bewust en maak alleen een onderscheid waar de <strong>Uitgave onderscheidt<\/strong>:<\/p>\n<ul>\n  <li><strong>Taal<\/strong>: E\u00e9n enkele responsieve HTML-versie is ideaal. Als er aparte taalversies zijn, gebruik ik een taal-cookie of de URI (bijv. \/de\/, \/en\/) in de sleutel, niet de user-agent.<\/li>\n  <li><strong>Apparaten<\/strong>: Ik vermijd UA-splitsingen. Mobile-first CSS en responsieve lay-outs houden de cache bij <strong>compact<\/strong>.<\/li>\n  <li><strong>Valuta\/Land<\/strong>: Bij webwinkels met geolokalisatie of een valutakeuzeschakelaar pas ik de instellingen doelgericht aan op basis van een stabiele cookie, niet op basis van het IP-adres. Anders loopt de cardinaliteit enorm op.<\/li>\n  <li><strong>Query-reeksen<\/strong>: Ik zet nuttige parameters (bijv. paginering, filters) op de witte lijst en negeer trackingparameters (utm_*, gclid), zodat er geen overbodige varianten ontstaan.<\/li>\n<\/ul>\n<p>Wees vooral voorzichtig met cookies van consent-\/banner-plugins: als deze al op de startpagina cookies plaatsen, kan NGINX ten onrechte dynamische inhoud herkennen. Ik zorg ervoor dat puur <strong>visueel<\/strong> Banners zonder functionele gevolgen activeren geen cache-BYPASS-cascade.<\/p>\n\n<h2>Bestandssysteem, cachezone en loader-tuning<\/h2>\n<p>De keuze van het cachegeheugen heeft een enorme invloed op de prestaties. Ik gebruik snelle lokale SSD\u2019s en ben van plan om de <strong>keys_zone<\/strong> ruim (bijv. 100\u2013256 MB voor indexen), zodat metadata niet wordt verdrongen. De <strong>inactief<\/strong>\u2011Ik bepaal de tijd op basis van het verkeersprofiel: veel long-tail-content heeft baat bij een langere inactiviteit, terwijl dit voor zeer dynamische portalen meestal niet het geval is. Met loader_*-parameters regel ik hoe agressief NGINX objecten vooraf laadt \u2013 zodat het systeem onder belasting <strong>rustig<\/strong> blijft. Voor sites met zeer veel verkeer kan een deelcache in tmpfs zinvol zijn, maar ik controleer dan wel nauwkeurig de RAM-belasting en het inode-verbruik. Logrotatie en limieten voor het aantal bestanden voorkomen dat een volume vol raakt; de monitoring let op I\/O-wachttijden, vrije ruimte en open-file-descriptoren.<\/p>\n\n\n<figure class=\"wp-block-image size-full is-resized\">\n  <img decoding=\"async\" src=\"https:\/\/webhosting.de\/wp-content\/uploads\/2026\/08\/wordpress-nginx-fastcgi-cache-speed-8375.png\" alt=\"\" width=\"1536\" height=\"1024\"\/>\n<\/figure>\n\n\n<h2>CDN- en browsercache op de juiste manier indelen<\/h2>\n<p>Ik combineer de NGINX-cache graag met een <strong>Edge-CDN<\/strong> en solide TTL-waarden voor de browser. Hierbij geldt het volgende: de bron (NGINX) levert consistente HTML-pagina\u2019s, het CDN slaat deze bovendien op in de cache, en de browser krijgt matig korte max-age-waarden, zodat redacteuren wijzigingen snel kunnen zien. Stale-mechanismen en <strong>revalidate<\/strong>\u2011Strategie\u00ebn stel ik zo in dat Edge-knooppunten kunnen blijven leveren terwijl NGINX op de achtergrond opnieuw rendert. Purges activeer ik in een vastgestelde volgorde (eerst CDN, dan Origin) of synchroon op beide locaties, zodat er geen verouderde flanken ontstaan. Ik controleer bovendien of CDN-headers zoals Age, Cache-status en Vary niet in strijd zijn met mijn serverregels.<\/p>\n\n\n<figure class=\"wp-block-image size-full is-resized\">\n  <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/webhosting.de\/wp-content\/uploads\/2026\/08\/nginx_fastcgi_cache_wp9331.png\" alt=\"\" width=\"1536\" height=\"1024\"\/>\n<\/figure>\n\n\n<h2>Voorverwarmen, implementatie en redactieworkflows<\/h2>\n<p>Om te voorkomen dat na een flush duizenden gebruikers de koude start activeren, warm ik belangrijke pagina\u2019s op <strong>gericht<\/strong> voor: startpagina\u2019s, bestsellers, categorie\u00ebn, magazine-hubpagina\u2019s. Een gestroomlijnde preloader leest de sitemap, roept pagina\u2019s parallel op en houdt zich aan de rate limits, zodat noch PHP noch de database overbelast raken. Bij implementaties maak ik onderscheid tussen een volledige flush (wijziging van thema\/code) en een gedeeltelijke flush (inhoudsupdate) en documenteer ik de <strong>Stappen<\/strong> voor de redactie en het operationele team. Zo blijven de release-periodes kort en zijn ze weinig risicovol.<\/p>\n\n<h2>Multisite, meertaligheid en valutalogica<\/h2>\n<p>Bij WordPress Multisite maak ik een strikt onderscheid tussen de cache-sleutels op basis van hostnaam of site-ID, zodat <strong>Subsites<\/strong> goed ge\u00efsoleerd zijn. Voor meertalige pagina\u2019s met WPML\/Polylang geef ik de voorkeur aan taalpaden (de\/en) of speciale domeinen; de sleutel bevat dan het schema, de host en het pad. In webwinkels houd ik nauwkeurig rekening met valutacookies en geolokalisatie: ik sla product- en categoriepagina\u2019s per valuta op in de cache, terwijl het winkelmandje en de kassa dynamisch blijven. Als prijzen of belastingtarieven veranderen, start ik een <strong>gedeeltelijk<\/strong> Verwijder (product, categorie, teaser-modules) zodat centrale startpagina's snel consistent zijn.<\/p>\n\n\n<figure class=\"wp-block-image size-full is-resized\">\n  <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/webhosting.de\/wp-content\/uploads\/2026\/08\/wordpress_nginx_cache_3421.png\" alt=\"\" width=\"1536\" height=\"1024\"\/>\n<\/figure>\n\n\n<h2>Belastingstesten, statistieken en rollback<\/h2>\n<p>V\u00f3\u00f3r de livegang simuleer ik realistische <strong>Pieken<\/strong> (GET\/HEAD-mix, assets, HTML) en maak een strikt onderscheid tussen de metingen: warm versus cold, met\/zonder CDN, ingelogde versus anonieme gebruikers. Ik kijk naar P50\/P95-TTFB, foutpercentages, CPU-bezetting, I\/O-wachttijd en het aantal PHP-processen. In NGINX activeer ik een geschikt log_format met $upstream_cache_status en controleer ik steekproeven direct in de responsheader (HIT\/MISS\/BYPASS\/EXPIRED). Een kort rollback-traject (skip-schakelaar voor cachewerking, verkorte TTL, uitschakeling van afzonderlijke regels) zorgt ervoor dat ik bij afwijkingen <strong>onmiddellijk<\/strong> kan reageren zonder het totale systeem te destabiliseren.<\/p>\n\n\n<figure class=\"wp-block-image size-full is-resized\">\n  <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/webhosting.de\/wp-content\/uploads\/2026\/08\/nginxcaching-optimierung-1043.png\" alt=\"\" width=\"1536\" height=\"1024\"\/>\n<\/figure>\n\n\n<h2>Veiligheid, juistheid en gegevensbescherming<\/h2>\n<p>Ik zorg er consequent voor dat vertrouwelijke inhoud niet in de cache terechtkomt: beheerdersgedeelten, voorbeeldmodi, priv\u00e9pagina\u2019s, met een nonce beveiligde acties. Ik houd me aan het onderscheid tussen HEAD en GET; POST blijft niet-cachebaar. Set-Cookie en Authorization gelden als harde <strong>BYPASS<\/strong>\u2011Signalen. Voorbeeldpagina\u2019s (preview=true) en zoekresultaten (s=) laat ik buiten beschouwing, om te voorkomen dat er onjuiste resultaten worden weergegeven. Daarnaast controleer ik of er geen persoonsgegevens in HTML-antwoorden terechtkomen, die vervolgens op grote schaal in de cache zouden worden opgeslagen. Waar nodig kapsel ik gepersonaliseerde fragmenten in via afzonderlijke AJAX-eindpunten, die ik bewust <strong>niet<\/strong> cache.<\/p>\n\n<h2>Edge-cases en uitzonderingen correct afhandelen<\/h2>\n<p>Sommige patronen kom ik steeds weer tegen: XML-sitemaps en feed-eindpunten sla ik kort op in de cache (bijv. 1\u20135 minuten). 301\/302-omleidingen valideer ik apart om omleidingslussen te voorkomen. Archief- en paginatiepagina\u2019s krijgen gematigde TTL\u2019s, omdat ze vaak links naar <strong>vers<\/strong> Inhoud bevatten. Parameters die alleen van invloed zijn op de sorteervolgorde, mogen in de sleutel worden opgenomen, maar mogen de TTL niet kunstmatig verkorten. En als een plug-in onverwacht cookies plaatst, controleer ik of deze echt nodig zijn voor de HTML-uitvoer <strong>relevant<\/strong> zijn \u2013 anders markeer ik ze als negeerbaar om onnodige BYPASS-treffers te voorkomen.<\/p>\n\n<h2>Kort samengevat<\/h2>\n<p>Met NGINX FastCGI Cache versnel ik WordPress aan de <strong>Bron<\/strong>, lever HTML direct aan en bespaar op dure PHP-processen. Nauwkeurige uitsluitingen en een betrouwbare purge houden de inhoud actueel, terwijl de TTFB- en CPU-waarden aanzienlijk dalen. Een praktijkgerichte TTL met stale en locking zorgt voor een soepele levering, zelfs bij piekbelastingen. Wie de meetwaarden consequent in de gaten houdt en de regels voortdurend aanscherpt, zorgt voor duurzaam snelle pagina\u2019s. Zo wordt de website responsiever, blijft hij onderhoudsvriendelijk en groeit hij moeiteloos mee met stijgende <strong>Verkeer<\/strong> erin.<\/p>","protected":false},"excerpt":{"rendered":"<p>De NGINX FastCGI-cache verbetert de prestaties van WordPress en is een krachtig alternatief voor plug-ins.<\/p>","protected":false},"author":1,"featured_media":20907,"comment_status":"","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[733],"tags":[],"class_list":["post-20914","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-wordpress"],"acf":[],"_wp_attached_file":null,"_wp_attachment_metadata":null,"litespeed-optimize-size":null,"litespeed-optimize-set":null,"_elementor_source_image_hash":null,"_wp_attachment_image_alt":null,"stockpack_author_name":null,"stockpack_author_url":null,"stockpack_provider":null,"stockpack_image_url":null,"stockpack_license":null,"stockpack_license_url":null,"stockpack_modification":null,"color":null,"original_id":null,"original_url":null,"original_link":null,"unsplash_location":null,"unsplash_sponsor":null,"unsplash_exif":null,"unsplash_attachment_metadata":null,"_elementor_is_screenshot":null,"surfer_file_name":null,"surfer_file_original_url":null,"envato_tk_source_kit":null,"envato_tk_source_index":null,"envato_tk_manifest":null,"envato_tk_folder_name":null,"envato_tk_builder":null,"envato_elements_download_event":null,"_menu_item_type":null,"_menu_item_menu_item_parent":null,"_menu_item_object_id":null,"_menu_item_object":null,"_menu_item_target":null,"_menu_item_classes":null,"_menu_item_xfn":null,"_menu_item_url":null,"_trp_menu_languages":null,"rank_math_primary_category":null,"rank_math_title":null,"inline_featured_image":null,"_yoast_wpseo_primary_category":null,"rank_math_schema_blogposting":null,"rank_math_schema_videoobject":null,"_oembed_049c719bc4a9f89deaead66a7da9fddc":null,"_oembed_time_049c719bc4a9f89deaead66a7da9fddc":null,"_yoast_wpseo_focuskw":null,"_yoast_wpseo_linkdex":null,"_oembed_27e3473bf8bec795fbeb3a9d38489348":null,"_oembed_c3b0f6959478faf92a1f343d8f96b19e":null,"_trp_translated_slug_en_us":null,"_wp_desired_post_slug":null,"_yoast_wpseo_title":null,"tldname":null,"tldpreis":null,"tldrubrik":null,"tldpolicylink":null,"tldsize":null,"tldregistrierungsdauer":null,"tldtransfer":null,"tldwhoisprivacy":null,"tldregistrarchange":null,"tldregistrantchange":null,"tldwhoisupdate":null,"tldnameserverupdate":null,"tlddeletesofort":null,"tlddeleteexpire":null,"tldumlaute":null,"tldrestore":null,"tldsubcategory":null,"tldbildname":null,"tldbildurl":null,"tldclean":null,"tldcategory":null,"tldpolicy":null,"tldbesonderheiten":null,"tld_bedeutung":null,"_oembed_d167040d816d8f94c072940c8009f5f8":null,"_oembed_b0a0fa59ef14f8870da2c63f2027d064":null,"_oembed_4792fa4dfb2a8f09ab950a73b7f313ba":null,"_oembed_33ceb1fe54a8ab775d9410abf699878d":null,"_oembed_fd7014d14d919b45ec004937c0db9335":null,"_oembed_21a029d076783ec3e8042698c351bd7e":null,"_oembed_be5ea8a0c7b18e658f08cc571a909452":null,"_oembed_a9ca7a298b19f9b48ec5914e010294d2":null,"_oembed_f8db6b27d08a2bb1f920e7647808899a":null,"_oembed_168ebde5096e77d8a89326519af9e022":null,"_oembed_cdb76f1b345b42743edfe25481b6f98f":null,"_oembed_87b0613611ae54e86e8864265404b0a1":null,"_oembed_27aa0e5cf3f1bb4bc416a4641a5ac273":null,"_oembed_time_27aa0e5cf3f1bb4bc416a4641a5ac273":null,"_tldname":null,"_tldclean":null,"_tldpreis":null,"_tldcategory":null,"_tldsubcategory":null,"_tldpolicy":null,"_tldpolicylink":null,"_tldsize":null,"_tldregistrierungsdauer":null,"_tldtransfer":null,"_tldwhoisprivacy":null,"_tldregistrarchange":null,"_tldregistrantchange":null,"_tldwhoisupdate":null,"_tldnameserverupdate":null,"_tlddeletesofort":null,"_tlddeleteexpire":null,"_tldumlaute":null,"_tldrestore":null,"_tldbildname":null,"_tldbildurl":null,"_tld_bedeutung":null,"_tldbesonderheiten":null,"_oembed_ad96e4112edb9f8ffa35731d4098bc6b":null,"_oembed_8357e2b8a2575c74ed5978f262a10126":null,"_oembed_3d5fea5103dd0d22ec5d6a33eff7f863":null,"_eael_widget_elements":null,"_oembed_0d8a206f09633e3d62b95a15a4dd0487":null,"_oembed_time_0d8a206f09633e3d62b95a15a4dd0487":null,"_aioseo_description":null,"_eb_attr":null,"_eb_data_table":null,"_oembed_819a879e7da16dd629cfd15a97334c8a":null,"_oembed_time_819a879e7da16dd629cfd15a97334c8a":null,"_acf_changed":null,"_wpcode_auto_insert":null,"_edit_last":null,"_edit_lock":null,"_oembed_e7b913c6c84084ed9702cb4feb012ddd":null,"_oembed_bfde9e10f59a17b85fc8917fa7edf782":null,"_oembed_time_bfde9e10f59a17b85fc8917fa7edf782":null,"_oembed_03514b67990db061d7c4672de26dc514":null,"_oembed_time_03514b67990db061d7c4672de26dc514":null,"rank_math_news_sitemap_robots":null,"rank_math_robots":null,"_eael_post_view_count":"109","_trp_automatically_translated_slug_ru_ru":null,"_trp_automatically_translated_slug_et":null,"_trp_automatically_translated_slug_lv":null,"_trp_automatically_translated_slug_fr_fr":null,"_trp_automatically_translated_slug_en_us":null,"_wp_old_slug":null,"_trp_automatically_translated_slug_da_dk":null,"_trp_automatically_translated_slug_pl_pl":null,"_trp_automatically_translated_slug_es_es":null,"_trp_automatically_translated_slug_hu_hu":null,"_trp_automatically_translated_slug_fi":null,"_trp_automatically_translated_slug_ja":null,"_trp_automatically_translated_slug_lt_lt":null,"_elementor_edit_mode":null,"_elementor_template_type":null,"_elementor_version":null,"_elementor_pro_version":null,"_wp_page_template":null,"_elementor_page_settings":null,"_elementor_data":null,"_elementor_css":null,"_elementor_conditions":null,"_happyaddons_elements_cache":null,"_oembed_75446120c39305f0da0ccd147f6de9cb":null,"_oembed_time_75446120c39305f0da0ccd147f6de9cb":null,"_oembed_3efb2c3e76a18143e7207993a2a6939a":null,"_oembed_time_3efb2c3e76a18143e7207993a2a6939a":null,"_oembed_59808117857ddf57e478a31d79f76e4d":null,"_oembed_time_59808117857ddf57e478a31d79f76e4d":null,"_oembed_965c5b49aa8d22ce37dfb3bde0268600":null,"_oembed_time_965c5b49aa8d22ce37dfb3bde0268600":null,"_oembed_81002f7ee3604f645db4ebcfd1912acf":null,"_oembed_time_81002f7ee3604f645db4ebcfd1912acf":null,"_elementor_screenshot":null,"_oembed_7ea3429961cf98fa85da9747683af827":null,"_oembed_time_7ea3429961cf98fa85da9747683af827":null,"_elementor_controls_usage":null,"_elementor_page_assets":[],"_elementor_screenshot_failed":null,"theplus_transient_widgets":null,"_eael_custom_js":null,"_wp_old_date":null,"_trp_automatically_translated_slug_it_it":null,"_trp_automatically_translated_slug_pt_pt":null,"_trp_automatically_translated_slug_zh_cn":null,"_trp_automatically_translated_slug_nl_nl":null,"_trp_automatically_translated_slug_pt_br":null,"_trp_automatically_translated_slug_sv_se":null,"rank_math_analytic_object_id":null,"rank_math_internal_links_processed":"1","_trp_automatically_translated_slug_ro_ro":null,"_trp_automatically_translated_slug_sk_sk":null,"_trp_automatically_translated_slug_bg_bg":null,"_trp_automatically_translated_slug_sl_si":null,"litespeed_vpi_list":null,"litespeed_vpi_list_mobile":null,"rank_math_seo_score":null,"rank_math_contentai_score":null,"ilj_limitincominglinks":null,"ilj_maxincominglinks":null,"ilj_limitoutgoinglinks":null,"ilj_maxoutgoinglinks":null,"ilj_limitlinksperparagraph":null,"ilj_linksperparagraph":null,"ilj_blacklistdefinition":null,"ilj_linkdefinition":null,"_eb_reusable_block_ids":null,"rank_math_focus_keyword":"NGINX Cache","rank_math_og_content_image":null,"_yoast_wpseo_metadesc":null,"_yoast_wpseo_content_score":null,"_yoast_wpseo_focuskeywords":null,"_yoast_wpseo_keywordsynonyms":null,"_yoast_wpseo_estimated-reading-time-minutes":null,"rank_math_description":null,"surfer_last_post_update":null,"surfer_last_post_update_direction":null,"surfer_keywords":null,"surfer_location":null,"surfer_draft_id":null,"surfer_permalink_hash":null,"surfer_scrape_ready":null,"_thumbnail_id":"20907","footnotes":null,"_links":{"self":[{"href":"https:\/\/webhosting.de\/nl\/wp-json\/wp\/v2\/posts\/20914","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/webhosting.de\/nl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/webhosting.de\/nl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/webhosting.de\/nl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/webhosting.de\/nl\/wp-json\/wp\/v2\/comments?post=20914"}],"version-history":[{"count":0,"href":"https:\/\/webhosting.de\/nl\/wp-json\/wp\/v2\/posts\/20914\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/webhosting.de\/nl\/wp-json\/wp\/v2\/media\/20907"}],"wp:attachment":[{"href":"https:\/\/webhosting.de\/nl\/wp-json\/wp\/v2\/media?parent=20914"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/webhosting.de\/nl\/wp-json\/wp\/v2\/categories?post=20914"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/webhosting.de\/nl\/wp-json\/wp\/v2\/tags?post=20914"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}