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 au moins deux dossiers : /min et /wp-rocket 
Les deux ont besoin des droits en Ă©critures. Si ces dossiers 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 dossier wp-content/cache/, les 4 seuls dossiers que WP Rocket crĂ©e sont /min, /busting, /critical-css 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 dossier 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