Optimiser WooCommerce Get Refreshed Fragments

À partir de WP Rocket 3.1, nous avons introduit une nouvelle fonctionnalité pour optimiser la requête AJAX get_refreshed_fragments générée par WooCommerce pour mettre à jour dynamiquement le contenu du panier.

Ce que vous verrez

Si vous utilisez WooCommerce et que vous faites des tests de vitesse sur votre site, vous serez habitué à voir cette longue requête dans le chargement des ressources (Waterfall chart) :

http://www.example.com/?wc-ajax=get_refreshed_fragments

Même si WooCommerce utilise LocalStorage pour servir le contenu du panier après la première visite, Pingdom ou GTMetrix appellera la requête chaque fois qu'un nouveau test est lancé, puisque leurs robots agissent comme un nouveau visiteur à chaque fois.

Avec la mise en cache de cette requête AJAX par WP Rocket, le temps d'affichage du contenu du panier pour la première visite (ou lorsque les visiteurs naviguent depuis un navigateur ne supportant pas LocalStorage) va considérablement s'améliorer.

Comment ça marche ?

WP Rocket détectera automatiquement lorsqu'une requête contient 

GET[‘wc-ajax’] = get_refreshed_fragments 

et vérifiera que le panier WooCommerce est vide.

En effectuant cette optimisation uniquement lorsque le panier est vide, nous éviterons toutes sortes de problèmes avec le contenu du panier et cela suffira pour améliorer le temps de chargement sur Pingdom Tools.

Si la condition du panier est respectée, nous enregistrerons le contenu de la requête dans un transient, qui sera renvoyé la prochaine fois que la même requête sera exécutée.

Désactiver le cache de WooCommerce get refreshed fragments

Si vous devez désactiver le cache pour WooCommerce Refresh Fragments, vous pouvez utiliser le plug-in suivant:

📥  Télécharger (.zip):  WP Rocket | Deactivate WooCommerce Refresh Cart Fragments Cache
Développeurs : vous trouverez le code de ce plugin sur GitHub.

Si par contre, vous voulez définitivement vous débarrasser de cette requête AJAX, nous vous recommandons cette méthode.