WordPress
time_read21mn de lecture

Bien configurer WP Rocket pour optimiser le cache de votre site WordPress

29 juillet 2022

Bien configurer WP Rocket pour optimiser le cache de votre site WordPress

WP Rocket est un système de cache puissant et permet d’améliorer énormément les performances d’un site WordPress. Comme tout plugin de cache, il permet de garder en mémoire les pages qui ont déjà été chargées. Cela permet donc de réduire le temps de chargement de vos pages et donc d’améliorer la vitesse de votre site.

Mais il faut savoir que les paramètres de WP Rocket peuvent également influencer négativement un site web si cela est mal configuré.

Ce guide permettra de définir les paramètres idéaux pour un gain de performance optimal.

Comment fonctionne le système de cache de WP Rocket ?

Par défaut, WP Rocket active le préchargement de cache. Ceci permet de créer les fichiers cache de chaque page avant même qu’ils soient ouverts.

L’avantage réside dans le fait que la page ne nécessitera plus d’être générée au moment du chargement de celui-ci par le navigateur web, ce qui améliorera en conséquence la vitesse d’affichage de votre site.

Les problèmes rencontrés avec le pré-chargement du cache de WP Rocket

1. Le préchargement exécuté par WP CRON

Le préchargement du cache de WP Rocket se fait à l’exécution du WP Cron qui permet de lancer les différents évènements de WordPress. Cela pose cependant un problème dans son utilisation car WP Cron se charge à chaque ouverture d’une page. Par conséquent, le pré-chargement se fait durant le chargement d’une autre page.

Ceci est très problématique. Au lieu de charger une seule page, WordPress va charger plusieurs pages et en finalité le temps de chargement de la page va augmenter.

De plus, cela va également faire travailler énormément l’I/O de l’espace de stockage de votre hébergement dès qu’il y a un chargement.

2. Le timeout de WP CRON

Un autre problème rencontré dans nos tests est que WP Cron est limité par WP_CRON_LOCK_TIMEOUT. Ceci est une variable qui permet de définir le temps alloué à WP CRON pour effectuer les tâches qu’il a à réaliser. Cela est défini dans le fichier wp-config.php

Par conséquent, avec un temps limité pour WP CRON, le préchargement de cache ne va générer que quelques pages, puis reprendra lors d’un prochain chargement de pages.

Cependant, au prochain chargement de page, WP Rocket va être obligé de remuer tout son cache et cela va créer des charges importantes au niveau de l’I/O du serveur et causant ainsi une baisse de la vitesse générale du site.

3. WP Rocket associé à un autre système de cache

Si vous utilisez un système de cache tel que Varnish, NGINX, LSCache, … Vous aurez des périodes où le visiteur n’atteindra jamais une seule page.

Pour faire simple, l’interactivé entre WP Rocket et le serveur de cache va venir perturber le préchargement du cache qui ne fonctionnera pas du tout. Il sera suspendu, en attente de l’ouverture d’un fichier PHP de WordPress et à ce moment-là le préchargement du cache s’exécutera en amont, et une vague très intense d’opérations pré-planifiés s’exécutera, risquant de saturer le serveur et risquant de bloquer le chargement de cette page.

Comment remédier à ces problèmes et optimiser mon site WordPress ?

1. Augmenter la durée de vie du cache

Une fois que le cache est entièrement pré-chargé, le pré-chargement ne pose plus de problème puisqu’il ne fait plus rien. Toutefois, le cache pré-chargé peut expirer et cela relancera le préchargement à nouveau.

Dans l’idéal, il faudrait mettre le cache sur une durée de vie illimitée. Cela tombe bien, car cela peut être configuré dans WP Rocket. De plus, ce plugin est bien conçu puisqu’il supprime le cache d’une page, article ou produit (Woocommerce) s’il y a eu une modification dans celle-ci. Il est donc inutile de recréer régulièrement le cache et on peut donc configurer la durée de vie sur illimité. Pour cela, suivez ces étapes :

  • Dans le menu de gauche, allez dans « Réglages » puis cliquez sur « WP Rocket ».

wp rocket

  • Une fois sur le plugin WP Rocket, allez dans le menu « Cache » puis configurer le dernier élément « Délai de nettoyage du cache » en indiquant 0 heure pour configurer une durée de cache illimité.

wordpress

  • Cliquez sur « Enregistrer les Modifications »

wp rocket

2. Exécuter le préchargement du cache avec un cron job et le désactiver sur le chargement des pages WordPress

Ceci va permettre de régler les différends problèmes énumérer juste avant, à savoir :

  • WP Cron ne se charge plus durant le chargement d’une page et de ce fait le préchargement n’influence plus le temps de chargement d’une page.
  • WP Cron n’est plus limité par le max_execution_time et WP_CRON_LOCK_TIMEOUT.
  • Le préchargement du cache peut se faire en un bloc, plus de reprise nécessaire et donc plus de surcharge au niveau du disque (I/O).
  • WP Cron s’exécute toujours, que la page soit chargée depuis l’exécution du PHP ou depuis le serveur de cache utilisé (Varnish/NGINX/…)

Pour cela, deux actions vont devoir être réalisées :

  • Modifier le fichier wp-config.php

Ce fichier se situe à la racine de votre site. Il faudra donc se rendre dans le code de celui-ci pour mettre en place cette ligne "define( ‘DISABLE_WP_CRON’, true );".

<?php
/**
 * La configuration de base de votre installation WordPress.
 *
 * Ce fichier est utilisé par le script de création de wp-config.php pendant
 * le processus d’installation. Vous n’avez pas à utiliser le site web, vous
 * pouvez simplement renommer ce fichier en « wp-config.php » et remplir les
 * valeurs.
 *
 * Ce fichier contient les réglages de configuration suivants :
 *
 * Réglages MySQL
 * Préfixe de table
 * Clés secrètes
 * Langue utilisée
 * ABSPATH
 *
 * @link https://fr.wordpress.org/support/article/editing-wp-config-php/.
 *
 * @package WordPress
 */

// ** Réglages MySQL - Votre hébergeur doit vous fournir ces informations. ** //
/** Nom de la base de données de WordPress. */
define( 'DB_NAME', "xxxxxxxxx" );

/** Utilisateur de la base de données MySQL. */
define( 'DB_USER', "xxxxxxxxx" );

/** Mot de passe de la base de données MySQL. */
define( 'DB_PASSWORD', "xxxxxxxx" );

/** Adresse de l’hébergement MySQL. */
define( 'DB_HOST', "xxx.xxx.xxx.xxx" );

/** Jeu de caractères à utiliser par la base de données lors de la création des tables. */
define( 'DB_CHARSET', 'utf8' );

/**
 * Type de collation de la base de données.
 * N’y touchez que si vous savez ce que vous faites.
 */
define( 'DB_COLLATE', '' );

/**#@+
 * Clés uniques d’authentification et salage.
 *
 * Remplacez les valeurs par défaut par des phrases uniques !
 * Vous pouvez générer des phrases aléatoires en utilisant
 * {@link https://api.wordpress.org/secret-key/1.1/salt/ le service de clés secrètes de WordPress.org}.
 * Vous pouvez modifier ces phrases à n’importe quel moment, afin d’invalider tous les cookies existants.
 * Cela forcera également tous les utilisateurs à se reconnecter.
 *
 * @since 2.6.0
 */
define( 'AUTH_KEY',         'mettez une phrase unique ici' );
define( 'SECURE_AUTH_KEY',  'mettez une phrase unique ici' );
define( 'LOGGED_IN_KEY',    'mettez une phrase unique ici' );
define( 'NONCE_KEY',        'mettez une phrase unique ici' );
define( 'AUTH_SALT',        'mettez une phrase unique ici' );
define( 'SECURE_AUTH_SALT', 'mettez une phrase unique ici' );
define( 'LOGGED_IN_SALT',   'mettez une phrase unique ici' );
define( 'NONCE_SALT',       'mettez une phrase unique ici' );
/**#@-*/

/**
 * Préfixe de base de données pour les tables de WordPress.
 *
 * Vous pouvez installer plusieurs WordPress sur une seule base de données
 * si vous leur donnez chacune un préfixe unique.
 * N’utilisez que des chiffres, des lettres non-accentuées, et des caractères soulignés !
 */
$table_prefix = 'wp_';

/**
 * Pour les développeurs : le mode déboguage de WordPress.
 *
 * En passant la valeur suivante à "true", vous activez l’affichage des
 * notifications d’erreurs pendant vos essais.
 * Il est fortemment recommandé que les développeurs d’extensions et
 * de thèmes se servent de WP_DEBUG dans leur environnement de
 * développement.
 *
 * Pour plus d’information sur les autres constantes qui peuvent être utilisées
 * pour le déboguage, rendez-vous sur le Codex.
 *
 * @link https://fr.wordpress.org/support/article/debugging-in-wordpress/
 */
define( 'WP_DEBUG', false );

/* C’est tout, ne touchez pas à ce qui suit ! Bonne publication. */

/** Chemin absolu vers le dossier de WordPress. */
if ( ! defined( 'ABSPATH' ) )
  define( 'ABSPATH', dirname( __FILE__ ) . '/' );

/** Réglage des variables de WordPress et de ses fichiers inclus. */
require_once( ABSPATH . 'wp-settings.php' );

/** Désactiver WP_CRON au chargement d'une page **/
define( 'DISABLE_WP_CRON', true );

  • Mettre en place une tâche CRON pour substituer la désactivation de WP_CRON

Pour cela, il nous faudra lancer cette ligne de commande via une tâche CRON :

flock /chemin/vers/site/wp-cron.lock php /chemin/vers/site/wp-cron.php

Pour information, Flock permettra de ne pas avoir deux wp-cron.php en cours d’exécution au même moment.

Si, par exemple, sur ISPConfig, il y a plusieurs interpréteurs PHP, il faudra remplacer “php” par “php7.3”, “php7.4”, “/usr/local/php-7.3.8/bin/php”, … selon l’interpréteur le plus adéquat.

Pour mettre en place la tâche CRON sur un hébergement mutualisé lié au LWS Panel, il vous suffira de suivre cette documentation et d’indiquer en adresse de script :

http://votresite.tld/wp-cron.php
(remplacer votresite.tld par votre nom de doamine)

Pour savoir comment mettre en place cette tâche CRON sur un hébergement cPanel, je vous invite à suivre cette documentation.

Pour savoir comment mettre en place cette tâche CRON sur un serveur VPS ISPConfig, je vous invite à suivre cette documentation.

Pour savoir comment mettre en place cette tâche CRON sur un serveur VPS via commande SSH, je vous invite à suivre cette documentation.

Conclusion

Félicitations ! 😁 Vous venez d’apprendre comment bien configurer WP Rocket pour optimiser le cache de votre site WordPress.

Besoin d’un hébergement WordPress rapide et de qualité ?

LWS vous conseille sa formule d’hébergement WordPress en promotion à -20% (offre à partir de 3,99€ par mois au lieu de 4,99 €). Non seulement les performances sont au rendez-vous mais vous profitez en plus d’un support exceptionnel.

Découvrir l’offre

Vous avez des questions ? Contactez-nous via la rubrique Commentaires ci-dessous !

Avatar de l'auteur

Auteur de l'article

Sandrine

Sandrine est une passionnée du web et des nouvelles technologies. Elle adore chercher et trouver les meilleures solutions et astuces.

Avis client de l'hébergeur LWS

Nos avis Trustpilot Nos avis Hostadvice Nos avis sur avis.lws.fr
Avis trustpilot 30/04/2022

LWS l'hébergeur par excellence !

LWS est pour moi l'hébergeur par excellence, que cela soit au niveau de l'hébergement qui est très performant, les mails qui sont d'une qualité professionnelle et de la gestion du domaine facile à comprendre.

PauseGreen

Avis hostadvice 27/04/2022

Super, au top !

Au top, prix attractif. Service très rapide et réactif. Je l'ai même personnellement recommandé à des proches. La vie est bien plus facile avec LWS

Masset Eliot

Avis avislws 26/04/2022

Support

Clair, efficace, rapide et à tarif abordable. J'ai maintenant un site superbe à mon image, puisque je le fais moi-même. L'équipe technique est au top, j'ai une réponse en 20 minutes, cela change d'autres hébergeurs pourtant plus connu.

Lady Whip

Avis hostadvice 24/04/2022

Bravo et merci

Bravo et merci aux équipes techniques pour leur réactivité et leur professionnalisme depuis plus de 10 ans chez eux et de nombreux sites !!! Merci

Olivier Delmas

Avis trustpilot 23/04/2022

Je suis très satisfait.

J'ai commandé un hébergement pour le site d'une association. Tout s'est passé très rapidement et sans la moindre embuche. La tarification est attractive et me parait très claire. Le panneau d'administration de l'hébergement est facile à utiliser et à comprendre. Je n'ai pas encore installé Wordpress car le contenu n'est pas prêt mais ce sera la prochaine étape et je suis très confiant. Merci !

Pierre-André Liné

Avis avislws 20/04/2022

Un service technique excellent

Je suis client chez LWS depuis 2011 avec une boutique OSCommerce qui tourne comme une horloge depuis cette date sur un hébergement mutualisé. La disponibilité de la boutique est très proche de 100%. Concernant les rares problèmes rencontrés en huit ans, j’ai eu à chaque fois un technicien compétent qui a résolu le problème très rapidement et efficacement. Je suis en train de migrer sur une plateforme Pretashop sur un VPS, avec l’offre LWS Debian 9 et Prestashop. Un technicien m’a grandement aidé pour finaliser l’installation de la boutique lors de la mise à jour vers la dernière version de Prestashop 1.7 qui posait problème. Je suis très satisfait de LWS, et ce sur la durée : réponses et réactions rapides et efficaces. Je recommande cet hébergeur et encore merci.

Alain

Avis trustpilot 16/04/2022

Une expérience jamais égalée !

Étant Développeur Web & Mobile Full-Stack depuis plus de 5 ans déjà, j'ai rarement eu un service client aussi rapide et efficace. Sans compter la qualité du service en ligne. Je recommande VIVEMENT LWS !

Chris KOUAKAM

Avis hostadvice 12/04/2022

Très bon hébergeur

J'ai un serveur VPS chez eux et je n'ai aucun problème, dès qu'il y a un problème le service technique est la pour vous aider et répond assez rapidement à votre demande. Je recommande vivement cet hébergeur.

Vanden Cruyce

Avis avislws 09/04/2022

Je suis ravie

Je suis ravie d'être avec LWS sur tous les plans, je remercie les Techniciens (Fabrice, Omar, Sandy-Mahitsison) depuis plus de 8 ans j'ai évolué avec LWS et toujours soutenue. Une véritable relation humaine même si les questions ou nos inquiétudes ne correspondent pas à leurs missions, ils sont là pour nous répondent et nous rassurent. Mon site c'est mon travail ma source de revenue donc il sont mes partenaires ! les travailleurs de l'ombre merci à eux ! Merci LWS

L'atelier-and-Co

Commentaires (0)

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée.