Een veelvoorkomende vraag als het om WordPress-prestaties is hoe je queryreeksen uit statische bronnen kan verwijderen. Vaak hebben je CSS– and JavaScript-bestanden een versienummer aan het einde van de URL, zoals domein.nl/style.css?ver=4.6
Sommige servers en proxyservers zijn niet in staat deze queryreeksen te cachen, ook al is er een cache-control:public
header aanwezig.
Door ze te verwijderen, kan je in sommige gevallen je caching verbeteren. Hiermee los je ook de waarschuwing op in GTMetrix en Pingdom genaamd “Remove query strings from static resources.”
Houd er wel rekening mee dat queryreeksen er vaak niet voor niets zitten. Het toevoegen van versienummers aan bestanden wordt door WordPress-ontwikkelaars vaak gedaan om problemen met cache te voorkomen. Als een ontwikkelaar bijvoorbeeld een update uitbrengt en style.css
wijzigt van ?ver=4.6
naar ?ver=4.7
dan wordt dit gezien als een compleet nieuwe URL en wordt deze dus niet gecachet. Als je de queryreeks verwijdert en een plugin bijwerkt, dan kan dit ertoe leiden dat de gecachete versie opgevraagd blijft worden. In sommige gevallen kan dit het uiterlijk van je website beïnvloeden, totdat het gecachete item verloopt of de cache is leeggemaakt.
Ook worden deze queryreeksen door organisaties gebruikt tijdens het ontwikkelen van producten.
Remove Query Strings from Static Resources
Er zijn een aantal manieren waarmee je de query strings kan verwijderen. Een optie is om een WordPress plugin te gebruiken, een andere is door middel van code. Als je gebruikt maakt van een CDN om bestanden te leveren, dan is dit misschien niet nodig, omdat sommige CDN providers de mogelijkheid bieden om query strings te cachen. Informeer bij je webhosting en CDN-provider of ze de mogelijkheid bieden om query strings te cachen voordat je verder leest. Mocht je je het afvragen, de CDN van Kinsta ondersteunt het cachen van queryreeksen.
- Remove Query String from Static Resources met een plugin
- Remove Query String from Static Resources door middel van code
1. Door middel van code queryreeksen uit statische bronnen verwijderen
Het is niet heel moeilijk om met code queryreeksen te verwijderen uit jouw items. Nadat je een backup van je sites hebt gemaakt, maak je een child-thema en voeg je het volgende toe aan het function.php
bestand van je child-thema.
function remove_query_strings() {
if(!is_admin()) {
add_filter('script_loader_src', 'remove_query_strings_split', 15);
add_filter('style_loader_src', 'remove_query_strings_split', 15);
}
}
function remove_query_strings_split($src){
$output = preg_split("/(&ver|\?ver)/", $src);
return $output[0];
}
add_action('init', 'remove_query_strings');
Belangrijk: Het aanpassen van broncode van je WordPress thema kan je website ontregelen als je dit niet goed doet. Als je niet zeker van je zaak bent, vraag dan een ontwikkelaar om hulp. Je kan natuurlijk ook gebruik maken van de gratis plugin Code Snippets. Deze plugin stelt je in staat om bovenstaande code toe te voegen zonder dat je je zorgen hoeft te maken wat dit doet met je website.
Maak een nieuw fragment aan en voeg bovenstaande code toe. Selecteer “Only run on site front-end” en sla de snippet vervolgens op. Queryreeksen zijn vanaf nu verleden tijd! Mogelijk moet je wel je cache legen, zodat je ook op de front-end de wijzigingen kan zien.
Met queryreeksen (vóór de toevoeging van code)
Dit is een voorbeeld van scripts die geladen worden met queryreeksen.
Zonder queryreeksen (met code)
Dit is een voorbeeld van scripts waarvan de queryreeksen zijn verwijderd.
2. Remove Query Strings from Static Resources met een plugin
Een alternatief voor het gebruik van code is om een plugin in te zetten. In dit geval kan je gebruik maken van een WordPress-plugin die prestaties verbetert en waar deze functie al bij in zit. Deze premium plugin heet Perfmatters en is ontwikkeld door een werknemer van Kinsta. Je kan hiermee met een enkele muisklik alle queryreeksen verwijderen. Deze plugin stelt je in staat om andere optimale oplossingen voor je WordPress-website te doen en werkt naast je huidige caching-plugin.
Geen queryreeksen meer
Wanneer je een van bovenstaande opties hebt opgevolgd, zou je geen waarschuwing meer moeten zien over queryreeksen binnen GTMetrix, Pingdom of andere tools die websitesnelheid meten.
Host je statische site gratis met Kinsta’s Statische Site Hosting en deploy je website direct naar de edge.