# La constante WP_CACHE oubliée avant un audit de performance qui fausse tout

> Le rôle exact de la constante WP_CACHE dans wp-config.php, et comment son absence peut fausser un diagnostic de cache sur un hébergement mutualisé.

- Auteur : Clément Hadrot
- Publié le : 2025-11-07
- Mis à jour le : 2025-11-07
- Catégorie : SEO &amp; GEO
- URL : https://wpmoderne.dev.wordpress-developpement.fr/seo/constante-wp-cache-oubliee-audit-performance/

## L’essentiel

- WP_CACHE ne crée aucun cache, elle autorise seulement son activation
- Sans elle, certaines extensions restent inertes sans le signaler clairement
- Un audit de performance doit toujours commencer par vérifier cette ligne

Contrairement à ce que son nom laisse penser, la constante `WP_CACHE` ne met en cache absolument rien par elle-même. Elle n'est ni un mécanisme de stockage, ni une couche de performance : c'est un simple indicateur, lu très tôt dans le cycle de chargement de WordPress, qui informe le cœur qu'un fichier de cache avancé (`advanced-cache.php`) doit être chargé depuis le dossier `wp-content`.

Cette distinction, presque sémantique, a des conséquences très concrètes lors d'un audit de performance mené sur un hébergement mutualisé : si la constante est absente ou mise à `false`, une extension de cache pourtant installée et configurée peut rester totalement inactive, sans qu'aucun message d'erreur ne le signale à l'administrateur.

## Définition et fonctionnement interne

Dans le fichier `wp-config.php`, la ligne concernée ressemble généralement à ceci :

```
define( 'WP_CACHE', true );
```

Cette constante est lue par le fichier `wp-settings.php`, très tôt dans l'initialisation du cœur, avant même le chargement des extensions. Si elle vaut `true`, WordPress inclut le fichier `wp-content/advanced-cache.php`, généralement déposé par l'extension de cache elle-même lors de son activation. Ce fichier contient la logique de mise en cache réelle : lecture d'un fichier HTML déjà généré, court-circuitage du chargement complet de WordPress pour les visiteurs anonymes, gestion des règles d'exclusion.

Sans cette constante à `true`, ce fichier n'est jamais inclus, quelle que soit la configuration renseignée dans l'interface d'administration de l'extension. L'extension peut afficher un statut « actif » dans son propre tableau de bord tout en étant, en pratique, totalement sans effet sur le temps de réponse réel du serveur.

## Comparaison avec les autres mécanismes de cache

> L'essentiel à retenir : WP_CACHE ne crée aucun cache, elle autorise seulement son activation ; Sans elle, certaines extensions restent inertes sans le signaler clairement ; Un audit de performance doit toujours commencer par vérifier cette ligne

| Mécanisme | Rôle | Dépend de WP_CACHE |
| --- | --- | --- |
| WP_CACHE | Indicateur d'activation du cache de page avancé | — |
| Cache objet (object cache) | Mise en cache des requêtes répétées à la base de données | Non, mécanisme indépendant |
| Cache navigateur (en-têtes HTTP) | Mise en cache côté client via `Cache-Control` | Non, géré au niveau des en-têtes serveur |
| OPcache PHP | Mise en cache du bytecode PHP compilé | Non, configuré au niveau du serveur PHP |

Cette distinction explique pourquoi un audit qui se contente d'observer un temps de réponse serveur correct peut passer à côté du vrai problème : un OPcache correctement configuré au niveau du serveur peut masquer partiellement l'absence de cache de page, en accélérant l'exécution du code PHP sans jamais servir directement une page déjà générée.

## Cas d'usage typique en hébergement mutualisé

Sur un hébergement mutualisé, il n'est pas rare que le fichier `wp-config.php` soit régénéré ou remplacé lors d'une opération de maintenance côté hébergeur, par exemple lors d'un changement de version PHP géré automatiquement. Si cette régénération repart d'un modèle de base ne comportant pas la ligne `WP_CACHE`, l'extension de cache installée peut se retrouver silencieusement désactivée du jour au lendemain, sans qu'aucune alerte ne soit remontée à l'équipe technique.

Un audit de performance mené dans ces conditions, sans vérifier au préalable la présence de cette ligne, risque de conclure à tort que l'extension de cache elle-même est inefficace, alors que le problème se situe une étape plus tôt, dans un fichier de configuration qui n'a rien à voir avec l'extension.

## Vérifier la présence de la constante avant tout diagnostic

1. Ouvrir le fichier `wp-config.php` et rechercher la ligne `define( 'WP_CACHE', true );`.
2. Vérifier, via `wp eval "var_dump( defined('WP_CACHE') && WP_CACHE );"`, que la constante est bien définie et évaluée à vrai au moment de l'exécution.
3. Confirmer la présence effective du fichier `wp-content/advanced-cache.php`, qui doit correspondre à l'extension de cache actuellement active.
4. Seulement après ces trois vérifications, passer au diagnostic de performance proprement dit.

## Pièges fréquents autour de cette constante

- Une extension de cache désinstallée laisse parfois la ligne `WP_CACHE` active dans `wp-config.php` sans que le fichier `advanced-cache.php` correspondant existe encore, ce qui peut provoquer une erreur fatale au chargement.
- Deux extensions de cache installées simultanément peuvent entrer en conflit sur ce même fichier `advanced-cache.php`, chacune tentant de l'écraser lors de son activation.
- Un environnement de développement local qui copie tel quel le `wp-config.php` de production peut activer un cache avancé qui masque des modifications de contenu pendant les tests.

> Avant de conclure qu'une extension de cache est mal configurée, on vérifie toujours en premier lieu si elle est seulement, techniquement, autorisée à s'exécuter.

## En résumé

WP_CACHE n'est pas un mécanisme de cache, c'est une porte d'entrée que le cœur de WordPress vérifie avant d'en charger un. Sur un hébergement mutualisé où le fichier de configuration peut être régénéré à l'insu de l'équipe technique, cette seule ligne mérite une vérification systématique en tout début d'audit de performance, avant d'aller chercher des explications plus complexes à un cache qui, en réalité, ne s'exécute jamais.
