Deze handleiding geldt voor een webhosting pakket aangeschaft op of vóór 7 april 2022.
Heb jij op of ná 7 april een hosting pakket aangeschaft? Dan heb jij Webhosting Start, Webhosting Plus of Managed Wordpress. Klik dan hier voor de juiste handleidingen
Weet je niet zeker welk pakket je hebt?
Klik dan hier.
Let op: het aanpassen van de caching instellingen kan gevolgen hebben op je website. Pas deze instellingen daarom alleen aan als je inhoudelijke kennis hebt over wat deze instellingen doen. Neem anders contact op met je websitebouwer.
Op onze servers is Varnish caching actief. Deze caching zorgt ervoor dat je website vele malen sneller geladen kan worden in de browser van de bezoeker. Standaard cached Varnish de statische onderdelen van je website 10 minuten. De caching kan je beïnvloeden met "Expires" en "Cache-Control" regels in je htaccess bestand. Ook de browser van de bezoeker zal zich hier aan houden.
Caching instellen
Expires headers
Met Expires regels bepaal je per type bestand hoe lang het bestand in de cache bewaard mag blijven. Daarna zal zowel de Varnish-cache en browser-cache het bestand opnieuw laden. Het volgende voorbeeld werkt op basis van de MIME-type van het bestand.
<IfModule mod_headers.c> ExpiresActive On ExpiresDefault access plus 10 minutes ExpiresByType text/html access plus 10 minutes ExpiresByType image/xicon access plus 1 week ExpiresByType application/xjavascript access plus 1 week ExpiresByType text/css access plus 1 week ExpiresByType image/gif access plus 1 week ExpiresByType image/png access plus 1 week ExpiresByType image/jpeg access plus 1 week ExpiresByType text/plain access plus 1 week ExpiresByType application/xshockwaveflash access plus 1 week ExpiresByType video/xflv access plus 1 week ExpiresByType application/pdf access plus 1 week </IfModule>
Ook kan je regels instellen op basis van de bestandsextensie. Voorbeeld:
<IfModule mod_headers.c> ExpiresActive On ExpiresDefault access plus 10 minutes <FilesMatch \.(html|xhtml|xml|shtml|phtml|php|txt)$> ExpiresDefault access plus 10 minutes <FilesMatch> </IfModule>
Cache-Control headers
Met Cache-Control Header vertel je tussenliggende proxy-systemen hoe lang bestanden gecached mogen worden. Daarnaast zijn er nog meer parameters aan te geven voor nog betere afhandeling van de cache.
Ook dit kan je weer per bestandsextensie specificeren.
<IfModule mod_headers.c> <FilesMatch \.(html|xhtml|xml|shtml|phtml|php|txt)$> Header set Cache-Control "max-age=600" Header set Cache-Control "public, no-transform" </FilesMatch> <FilesMatch \.css$> Header set Cache-Control "max-age=604800" Header set Cache-Control "public, no-transform" </FilesMatch> <FilesMatch \.js$> Header set Cache-Control "max-age=604800" Header set Cache-Control "public, no-transform" </FilesMatch> <FilesMatch \.(bmp|png|gif|jpe?g|ico)$> Header set Cache-Control "max-age=604800" Header set Cache-Control "public, no-transform" </FilesMatch> <FilesMatch \.(eot|ttf|otf|svg)$> Header set Cache-Control "max-age=604800" Header set Cache-Control "public, no-transform" </FilesMatch>
<FilesMatch \.(swf|pdf|doc|rtf|xls|ppt)$> Header set Cache-Control "max-age=604800" Header set Cache-Control "public, no-transform" </FilesMatch> <FilesMatch \.(flv|wmv|asf|asx|wma|wax|wmx|wm)$> Header set Cache-Control "max-age=604800" Header set Cache-Control "public, no-transform" </FilesMatch> </IfModule>
PHP output cachen
Met de cache-control headers kan je ook de output van PHP cachen. Dit betekend echter wel dat wijzigingen op je website (zoals een nieuw artikel, menu-item of webshop product) pas na het verlopen van de cache actief worden! Bedenk daarom goed hoe snel wijzigingen zichtbaar moeten worden.
<IfModule mod_headers.c>
<FilesMatch \.(html|xhtml|xml|shtml|phtml|php|txt)$>
Header set Cache-Control "max-age=600"
Header set Cache-Control "public, no-transform"
</FilesMatch>
</IfModule>
Combinatie
Het is mogelijk om "expires" en "cache-control" headers regels te combineren. Voorbeeld:
ExpiresActive On <IfModule mod_headers.c>
<FilesMatch \.(html|xhtml|xml|shtml|phtml|php|txt)$>
Header set Cache-Control "max-age=600"
Header set Cache-Control "public, no-transform"
</FilesMatch>
</IfModule>
Caching uit zetten
In sommige situaties kan het goed zijn de caching tijdelijk uit te zetten. Bijvoorbeeld als je de website aan het ontwikkelen bent en veel wijzigingen maakt. Dan is het vervelend als je telkens moet wachten voordat je de wijzigingen kan bekijken.
Hiervoor kan je alle bestaande regels uitschakelen door ze uit je htaccess te verwijderen of er een hekje ( # ) voor te zetten. Daarna kan je de volgende regel aan je htaccess bestand toevoegen om de caching uit te schakelen:
<IfModule mod_headers.c>
Header set Cache-Control "max-age=0, private, no-cache, no-store, must-revalidate"
</IfModule>
Mijndomein adviseert je de caching niet standaard uit te zetten. Caching heeft een zeer positieve invloed op de laadtijd van je website en is daarom erg belangrijk voor de beleving van de bezoeker van je website.