Quand il s’agit de la performance de WordPress, cette question revient assez souvent, et c’est comment supprimer les chaînes de requête (query string) des ressources statiques. Vos fichiers CSS et JavaScript ont généralement la version du fichier à la fin de leur URL, comme domain.com/style.css?ver=4.6
. Certains serveurs et serveurs proxy sont incapables de mettre en cache les chaînes de requête, même si un en-tête cache-control:public est présent.
En les supprimant, vous pouvez parfois améliorer votre mise en cache. Cela corrigera aussi l’avertissement que vous pourriez voir dans GTMetrix et Pingdom et qui s’appelle » Remove query strings from static resources ».
Veuillez garder à l’esprit que les chaînes de requête sont généralement là pour une raison. Le versioning sur les fichiers est utilisé par les développeurs WordPress pour contourner les problèmes de cache. Par exemple, s’ils sortent une mise à jour et changent le fichier style.css
de ?ver=4.6
à ?ver=4.7
, il sera traité comme une URL complètement nouvelle et ne sera pas mis en cache. Si vous supprimez les chaînes de requête et mettez à jour un plugin, la version mise en cache pourrait continuer à être servie. Dans certains cas, cela pourrait casser le frontend de votre site jusqu’à ce que la ressource en cache expire ou que le cache soit complètement vidé.
Les chaînes de requête sont également utilisées pour l’organisation dans les workflows de développement.
Supprimer les chaînes de requête des ressources statiques
Il y a plusieurs façons de supprimer les chaînes de requête, l’une avec un peu de code et l’autre avec un plugin WordPress. Si vous utilisez un CDN pour livrer vos ressources, cela n’est peut-être pas nécessaire car certains fournisseurs de CDN ont en fait la possibilité de mettre en cache les chaînes de requête. Vérifiez auprès de votre hébergeur Web et de votre fournisseur de CDN avant d’implémenter ce qui suit pour voir s’ils peuvent mettre en cache les chaînes de requête. Le CDN de Kinsta met en cache les chaînes de requêt.
- Supprimer la chaîne de requête des ressources statiques avec du code
- Supprimer une chaîne de requête des ressources statiques avec un plugin
1. Supprimer les chaînes de requête des ressources statiques avec du code
Vous pouvez facilement supprimer les chaînes de requête de vos ressources en quelques lignes de code. Après avoir fait une sauvegarde de votre site, créez un thème enfant et ajoutez ce qui suit au fichier functions.php
de votre thème enfant
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');
Important : L’édition du code source d’un thème WordPress peut casser votre site si elle n’est pas faite correctement. Si vous n’êtes pas à l’aise de le faire, veuillez d’abord vérifier auprès d’un développeur. Ou, vous pouvez aussi profiter du plugin gratuit Code Snippets. Ce plugin vous permettra d’ajouter le code ci-dessus sans avoir à vous soucier de savoir s’il supprimera votre site.
Créez simplement un nouvel extrait et ajoutez le code ci-dessus. Sélectionnez « Exécuter uniquement sur le frontend du site », puis enregistrez l’extrait. Les chaînes de caractères de votre requête auront alors disparu ! Vous devrez peut-être vider le cache de votre site WordPress pour voir les changements prendre effet au niveau du frontend.
Avec des chaînes de requête (avant le code)
Voici un exemple de chargement de scripts avec des chaînes de requête.
Sans chaîne de requête (après le code)
Voici un exemple de scripts après avoir supprimé des chaînes de requête.
2. Supprimer une chaîne de requête des ressources statiques avec un plugin
Une alternative à l’utilisation de code est d’utiliser un plugin de performance WordPress qui a cette fonctionnalité intégrée. Le plugin Premium Perfmatters (développé par un membre de l’équipe de Kinsta), vous permet de supprimer les chaînes de requête des ressources statiques d’un simple clic. Il vous permet également d’implémenter facilement d’autres optimisations pour votre site WordPress, et fonctionne avec votre plugin de mise en cache actuel.
Plus de chaînes de requête
Après avoir utilisé l’une ou l’autre des options ci-dessus, vous ne devriez plus voir d’avertissement concernant les chaînes de requête dans les outils de test de vitesse de site Web tels que GTMetrix ou Pingdom.
Hébergez gratuitement votre site statique avec l’hébergement de sites statiques de Kinsta et déployez votre site web directement.