Mise à jour le 24/05/2023

BP 4.01Mettre des données en cache

Sujet

WordPress propose une fonction très intéressante qu'il est bon d'avoir en tête lorsqu'on développe une fonctionnalité spécifique qui nécessite d'afficher des données en front Partie d'un site internet visible par les internautes : Les Transients ou données transitoires ! Un transient est une API Interface informatique agissant avec ou sur un service tier, signifiant Application programming interface ou « interface de programmation d'application » qui permet de mettre des données en cache Moyen de sauvegarder et de rappeler rapidement les données fréquemment utilisées . Cette fonctionnalité permettra de mettre en cache les données qui sont réutilisées afin de limiter le nombre de requêtes Interrogation d'une base de données ou d'autres systèmes d'information permettant une optimisation de la rapidité de chargement du site qui sera aussi bénéfique pour son SEO Search Engine Optimization, cette discipline vise l'optimisation de la visibilité et du positionnement d'un site web sur un moteur de recherche (par exemple : Google) en fonction des mots-clés utilisés par l'internaute, notamment grâce aux techniques de référencement naturel. .

Concrétement au chargement d'une page, WordPress vérifie si un transient existe.

  • Si ce n'est pas le cas, il va chercher la donnée puis l'afficher.
  • Si c'est le cas, il va directement afficher la donnée.

Tout n'est pas à mettre en cache !

Pour un maximum de gain, préférez utiliser cette méthode :

  • Pour des contenus complexes à générer
  • Pour un même contenu présent sur plusieurs pages
  • Pour un contenu qui ne changera plus (transient sans délai d'expiration)

GreenIT vous conseille

Solution no-code 🌱

L'utilisation de l' API Interface informatique agissant avec ou sur un service tier, signifiant Application programming interface ou « interface de programmation d'application » décrite ci-dessous reste une solution technique qui nécéssite de mettre les mains dans le code. Cependant, des extensions de système de cache peuvent plus ou moins finement gérer les données transitoires (voir la documentation de l'extension). Sinon, des extensions complémentaires existent.

Solution code 🌱🌱

L'API WordPress Transient s'utilise de la même manière que l'API Options. Elle ajoute cependant la notion de durée de vie. À noter qu'une donnée transitoire expirée reste en base de données et peut résulter d'une désinstallation d'extension ou de changement de thème.

Si la liste des derniers articles est affichée sur plusieurs pages, nous pouvons par exemple enregistrer cette liste (et son code HTML) dans un Transient. Ainsi, lors de l'affichage de ce bloc, vous n'aurez qu'une requête à faire pour ce bloc, au lieu d'une boucle qui récupère les X derniers articles.

Cette donnée transitoire pourra être remplacée lorsqu'un nouvel article sera ajouté.

Exemple

Sauvegarder une donnée transitoire

set_transient( $transient, $value, $expiration );

Récupérer une donnée transitoire

if ( false === ( $valeur = get_transient($transient) ) ) {
  echo $valeur;
}

Supprimer une donnée transitoire

delete_transient( $transient );

Principe de validation

Le nombre est supérieur ou égal à
de requêtes évitées 70%

Source

Vous avez repérez une coquille ou vous souhaitez contribuer à rendre WordPress plus éco-responsable ?

Venez sur le repo pour lancer une discussion sur la fiche.

Voir la fiche