Les pages ne sont pas mises en cache, ou la minification CSS et JS ne fonctionne pas

Si vous pensez que WP Rocket ne met pas en cache vos pages, ou ne minifie pas vos fichiers CSS ou JS, il se peut que les prérequis minimum pour le bon fonctionnement de l'extension n’aient pas été atteints. Il se peut aussi que vous ayez installé d’autres extensions de mise en cache auparavant, et même si vous les avez supprimés ils ont laissés des fichiers et certaines configurations derrière eux.

Afin de pouvoir fonctionner correctement, WP Rocket requiert les conditions suivantes :

1
WP-config.php doit être réinscriptible.
Assurez vous que la ligne suivante est présente en haut du fichier, après l’étiquette <?php. Si elle située trop en bas dans le fichier, il ne fonctionnera pas !
/** Enable Cache by WP Rocket */
define( 'WP_CACHE', true );
	
Assurez-vous également qu’il n’y a pas de référence à un autre plugin de mise en cache. Par exemple, Super Cache laisse derrière lui le code suivant :
define( 'WPCACHEHOME', '/path-to-your-wordpress-install/wp-content/plugins/wp-super-cache/' ); //Added by WP-Cache Manager
	
2
Assurez vous que le dossier wp-content/cache a bien les droits en écriture et qu’il contient deux dossiers : /min et /wp-rocket
Les deux ont besoin des droits en écritures.
Si ces fichiers n’existent pas, vous devez les créer manuellement.
Si vous avez auparavant activé toute autre extension de mise en cache, ils peuvent avoir laissé leurs propres dossiers.
Dans le fichier wp-content/cache, les trois seuls dossiers que WP Rocket crée sont /min, /busting et /wp-rocket. Tous les autres doivent être supprimés.
Super Cache crée aussi un dossier wp-cache-config.php qui doit être supprimé, dans wp-content.
W3 Total Cache crée les éléments suivants dans wp-content, et doivent être supprimés :
  • dossiers: /w3tc-config
  • fichiers: object-cache.php, db.php
et il crée les dossiers suivant dans wp-content/cache, qui doivent être supprimés également :
  • /config
  • /db
  • /object
  • /page_enhanced
  • /minify
Il peut en créer d’autres en fonction de vos réglages.
3
Vérifier que votre fichier .htaccess est réinscriptible
4
Assurez vous que advanced-cache.php, dans le dossier wp-content ne référence que WP Rocket
5
Assurez-vous qu’un fichier nommé wp-rocket-config est présent dans wp-content. Dans le cas contraire, créez le et faites en sorte qu’il ait les droits en écriture
6
Si vous avez une installation multisite qui utilise le "domain mapping", essayez de vous connecter à votre zone d'administration avec le domaine assigné au lieu du domaine original, puis désactivez/réactivez WP Rocket. Cela permettra à WP rocket de détecter le bon domaine pour l'activation du cache.
7
Il arrive qu’une autre extension définisse la constante DONOTCACHEPAGE. Cela outrepasse toutes les extensions de mise en cache en empêchant la mise en cache de fonctionner. Il faut donc la retirer, et le développeur de ce plugin doit en être informé.

Deux plugins communs ajoutent une constante DONOTCACHEPAGE :  s2 Member et WooCommerce Klarna Gateway. Vous pouvez tester si c'est ça qui vous cause problème en installant ce mini-plugin : Force Page Caching (Celui-ci outrepassera la constante DONOTCACHEPAGE.)

8
Si vous utilisez  SSL sur votre site, assurez-vous que l' option cache SSL est cochée dans Réglages -> WP Rocket -> Options de base.
NOTE: Depuis la version 2.7, si votre site utilise HTTPS, l'option cache SSL sera automatiquement activée et non désactivable.
9
Assurez-vous que votre thème contient bien wp_footer(). S'il est absent, ajoutez-le dans footer.php, juste avant la balise de fermeture </body>, et ça devrait résoudre le problème :

Après avoir fait n’importe lequel de ces ajustements, désactivez et réactivez WP Rocket.

Puis vous pouvez vérifier que WP Rocket fonctionne en suivant les instructions données dans cet article :
http://fr.docs.wp-rocket.me/article/180-comment-verifier-si-wp-rocket-met-bien-en-cache-vos-pages

Autres conditions nécessaires du serveur

  • mod_expire et mod_deflate doivent être activés (demandez à votre hébergeur de les activer)
  • Aucune restriction sur le dossier tmp
  • La fonction curl_exec doit être activée