Comme vous devez le savoir, le temps de chargement de votre site est essentiel pour garantir une bonne expérience aux visiteurs, de meilleures conversions dans le cas d’un site e-commerce et même un meilleur référencement naturel !
Nous vous proposons donc de nous pencher aujourd’hui sur le module de cache Nginx FastCGI que nous proposons sur tous nos plans d’hébergement WordPress.
Ce système de cache est extrêmement puissant et permet d’obtenir des TTFB (temps de réponse serveur) de moins de 100ms !
Comment fonctionne le cache FastCGI ?
FastCGI est un protocole issu de CGI (pour Common Gateway Interface), permettant d’améliorer les performances pour du contenu dynamiques (typiquement WordPress) en traitant plusieurs requêtes au sein d’un même process. L’utilisation principale de FastCGI sur Nginx est de traiter les requêtes PHP.
Voici comment se déroule une requête sans le module de cache FastCGI activé :
- le navigateur web envoie la requête au serveur Nginx qui va la passer à FastCGI
- si la requête fait appel à du PHP, FastCGI la transmet à PHP-FPM pour exécuter le code PHP
- si nécessaire (quasiment toujours sur du WordPress), PHP-FPM va interroger la base de données pour récupérer le contenu de la page
- PHP-FPM va ensuite générer la page HTML et la renvoyer à Nginx
- Nginx pourra enfin servir la page au navigateur web
Le problème avec cette façon de traiter la requête c’est que PHP-FPM va prendre du temps à exécuter le code et à interroger la base de données alors que dans bien des cas, la page ne propose que du contenu statique !
Cela veut dire que votre page va mettre du temps à s’afficher et que vous allez consommer des ressources serveur (CPU et Mémoire Vive) pour rien.
C’est là qu’intervient le module de cache FastCGI. En effet, ce module va permettre de stocker en cache la page HTML générée par PHP-FPM lors de la première requête et ne plus avoir à passer par PHP-FPM du tout pour les requêtes suivantes.
Si nous reprenons l’exemple ci dessus, le déroulement du traitement de la requête est le suivant :
- le navigateur web envoie la requête au serveur Nginx qui va la passer à FastCGI
- FastCGI reconnaît la requête et va chercher le contenu HTML dans son cache
- Nginx sert directement la page au navigateur web
Quels sont les avantages d’utiliser le cache FastCGI pour son site WordPress ?
On voit donc que Nginx traite la requête de façon autonome via FastCGI, ce qui offre de nombreux avantages :
- meilleures performances : votre page va s’afficher plus rapidement
- meilleures disponibilité : votre page va s’afficher même si PHP ou la base de données ne répondent plus
- meilleur scalabilité : votre serveur va pouvoir traiter plus de requêtes en parallèle (supporter plus de trafic)
- meilleur empreinte écologique : en soulageant votre serveur c’est aussi de l’énergie qui est économisée et donc une empreinte écologique plus légère pour votre site web
Comment configurer le cache FastCGI pour son site WordPress ?
Si vous êtes hébergé sur Faaster
Vous n’avez rien à faire !
FastCGI est pré-configuré et nous intégrons l’extension “Nginx Helper” pour gérer le cache depuis votre site WordPress.
La mise en cache des pages est un sujet sensible et peut être soumise à de nombreux cas de figures.
C’est la raison pour laquelle nous proposons de nombreuses possibilités pour personnaliser les règles de mise en cache.
- Bypass du cache par URL : en insérant les chemins dans le fichier /app/cache.user.conf
- Bypass du cache par cookies : en insérant les cookies dans le fichier /app/cookiescachebypass.user.conf
Si vous utilisez une boutique WooCommerce et que votre thème gère le panier en ajax, vous pouvez ajouter les pages panier et commande dans cache.user.conf et supprimer les cookies “woocommerce_items_in_cart” et “woocommerce_” de la liste cookiescachebypass.user.conf. Cela permettra de booster significativement les performances pour les visiteurs ayant des articles dans leur panier.
N’hésitez pas à faire appel à notre support si vous souhaitez qu’on s’occupe de la manipulation pour vous.
Si vous n’êtes pas hébergé chez Faaaster
Si votre hébergeur ne propose pas le cache FastCGI nativement et que vous n’êtes pas un expert, la configuration du cache FastCGI peut être complexe.
Le plus simple est de prendre contact avec le support de votre hébergeur pour leur demander de vous guider !