Aller au contenu

Purge de Cache WordPress sur cPanel EA4

Invalidation de cache instantanée et automatique pour WordPress—sans vider l'intégralité de votre cache.

🎉 Accès Gratuit - Temps Limité !

Tous les modules EA4 sont actuellement gratuits — aucune souscription requise ! En savoir plus


  • Invalidation Automatique


    Le cache est purgé automatiquement lorsque vous modifiez des articles, des pages ou des commentaires—aucune intervention manuelle nécessaire

  • Précision Chirurgicale


    Seule la page modifiée est purgée—votre site entier reste mis en cache et ultra rapide

  • Sécurisé pour Multi-Tenants


    Le cache de chaque utilisateur cPanel est isolé—les utilisateurs ne peuvent pas purger le contenu des autres

  • Aucun Codage Requis


    Fonctionne dès la sortie de la boîte avec le plugin WordPress Proxy Cache Purge


Configuration en 5 Minutes

Suivez ces étapes pour activer la purge de cache intelligente sur votre serveur cPanel.


Étape 1 : Installer le Module de Purge de Cache

# Installer le dépôt GetPageSpeed (active automatiquement le dépôt ea4 sur les serveurs cPanel)
dnf -y install https://extras.getpagespeed.com/release-latest.rpm

# Installer le module de purge de cache
dnf -y install ea-nginx-cache-purge

Étape 2 : Configurer NGINX

Vous pouvez activer la purge de cache globalement pour tous les utilisateurs ou par utilisateur.

Créez /etc/nginx/conf.d/server-includes/cache-purge.conf :

# Activer la méthode PURGE pour la purge de cache (tous les utilisateurs)
proxy_cache_purge PURGE from 127.0.0.1;

Ce fichier est automatiquement inclus dans tous les blocs de serveur des utilisateurs cPanel.

Pour l'utilisateur username, créez /etc/nginx/conf.d/users/username/cache-purge.conf :

# Activer la méthode PURGE pour la purge de cache
proxy_cache_purge PURGE from 127.0.0.1;

Après avoir créé la configuration, rechargez NGINX :

nginx -t && systemctl reload nginx

Étape 3 : Installer le Plugin Proxy Cache Purge

  1. Allez dans Plugins → Ajouter Nouveau
  2. Recherchez "Proxy Cache Purge" (slug : varnish-http-purge)
  3. Cliquez sur Installer Maintenant, puis Activer
wp plugin install varnish-http-purge --activate

Étape 4 : Configurer Proxy Cache Purge

Dans l'administration WordPress :

  1. Allez dans Réglages → Proxy Cache Purge
  2. Définissez "Définir IP Personnalisée" sur : 127.0.0.1
  3. Cliquez sur Enregistrer les Réglages

Réglage Critique

Le plugin doit envoyer des requêtes PURGE à 127.0.0.1 (localhost), pas à votre IP publique ou domaine.


Étape 5 : Configurer le Backend de Cache NGINX

À partir de Proxy Cache Purge 5.9.0, le plugin prend en charge nativement le format de purge par wildcard de NGINX. Configurez-le pour utiliser le backend NGINX :

  1. Allez dans Proxy Cache Purge → Réglages
  2. Sous Backend de Cache, sélectionnez NGINX
  3. Cliquez sur Enregistrer les Réglages

Ajoutez à votre wp-config.php :

define( 'VHP_PURGE_BACKEND', 'nginx' );

Cela garantit que lorsqu'une page est purgée, toutes les variantes mises en cache (gzip, brotli, non compressées) sont effacées.

Héritage : Version du Plugin < 5.9.0

Si vous exécutez Proxy Cache Purge version inférieure à 5.9.0, créez wp-content/mu-plugins/nginx-cache-purge-fix.php :

<?php
/**
 * Nom du Plugin : NGINX Cache Purge Fix
 * Description : Ajoute un wildcard pour purger les URLs pour la compatibilité avec l'en-tête Vary
 */
add_filter("vhp_purgeme_path", function($purgeme, $schema, $host, $path, $pregex, $p) {
    if (empty($pregex)) {
        $purgeme .= "*";
    }
    return $purgeme;
}, 10, 6);

Tester la Configuration

# 1. Mettre en cache une page (première requête = MISS, seconde = HIT)
curl -sI http://127.0.0.1/sample-page/ -H 'Host: yourdomain.com' -H 'Accept-Encoding: gzip' | grep X-Cache
# X-Cache-Status: MISS
curl -sI http://127.0.0.1/sample-page/ -H 'Host: yourdomain.com' -H 'Accept-Encoding: gzip' | grep X-Cache
# X-Cache-Status: HIT

# 2. Purger en utilisant la méthode PURGE avec wildcard
curl -sX PURGE 'http://127.0.0.1/sample-page/*' -H 'Host: yourdomain.com'
# <h1>Purge réussie</h1>

# 3. Vérifier que le cache est vidé
curl -sI http://127.0.0.1/sample-page/ -H 'Host: yourdomain.com' -H 'Accept-Encoding: gzip' | grep X-Cache
# X-Cache-Status: MISS

Puis testez via WordPress :

  1. Modifiez n'importe quel article publié
  2. Apportez une modification et cliquez sur Mettre à jour
  3. Le plugin purge automatiquement le cache
  4. Visitez la page—elle devrait afficher du contenu frais

Comment Ça Fonctionne

flowchart TD
    subgraph WordPress["<b>WordPress</b>"]
        A[📝 Article Mis à Jour] --> B["🔌 Plugin Proxy Cache Purge"]
        B --> C["PURGE http://127.0.0.1/post-slug/*<br/>Host: yourdomain.com"]
    end

    C --> D

    subgraph NGINX["<b>NGINX (ea-nginx)</b>"]
        D["🔒 proxy_cache_purge PURGE from 127.0.0.1"] --> E["🗑️ Module ngx_cache_purge"]
        E --> F["✓ Le wildcard correspond à toutes les variantes<br/>(gzip, brotli, plain)"]
        F --> G["✓ Supprime du cache disque"]
        G --> H["✅ Retourne 'Purge réussie'"]
    end

    style WordPress fill:#4a90d9,stroke:#2d5986,color:#fff
    style NGINX fill:#009639,stroke:#006325,color:#fff
    style A fill:#5ba0e0
    style B fill:#5ba0e0
    style C fill:#5ba0e0
    style D fill:#00a844
    style E fill:#00a844
    style F fill:#00a844
    style G fill:#00a844
    style H fill:#00a844

Que Se Passe-t-il

  1. Vous mettez à jour un article dans WordPress
  2. Le plugin envoie une requête PURGE à localhost
  3. Le module NGINX supprime uniquement cette URL du cache
  4. Le prochain visiteur obtient du contenu frais, le reste du cache reste intact

Pourquoi C'est Rapide

  • Pas de vidage complet du cache — les autres pages restent mises en cache
  • Requêtes locales uniquement — pas de latence réseau
  • Support des wildcards — efface toutes les variantes d'encodage en une seule fois

Avancé : Réduire les Variantes de Cache

Optimisation Optionnelle

Recommandé pour les sites à fort trafic afin de maximiser les taux de réussite du cache.

L'en-tête Vary: Accept-Encoding oblige NGINX à créer des entrées de cache séparées pour différentes combinaisons Accept-Encoding. Les navigateurs envoient ces en différentes ordres, créant un encombrement du cache :

Accept-Encoding Original Problème
gzip, br, deflate Entrée de cache séparée
br, gzip Une autre entrée séparée
gzip, deflate Encore une autre entrée

La Solution : Normaliser les En-têtes

Le module compression-normalize normalise les en-têtes à des valeurs cohérentes :

dnf -y install ea-nginx-compression-normalize

Créez /etc/nginx/conf.d/compression-normalize.conf :

# Normaliser Accept-Encoding pour réduire les variantes de cache
# Ordre de priorité : préférer brotli, puis gzip
compression_normalize_accept_encoding br,gzip br gzip;

Résultat : Des centaines de variantes possibles → juste 3 (br,gzip, br, gzip).


Sécurité

Accès Localhost Seulement

proxy_cache_purge PURGE from 127.0.0.1;

Les requêtes PURGE externes sont traitées comme des requêtes normales, pas des purges.

Isolation des Utilisateurs

Chaque utilisateur cPanel a sa propre zone de cache. L'utilisateur alice ne peut pas purger le cache de l'utilisateur bob—même avec les mêmes chemins d'URL.


Dépannage

Le Cache N'est Pas Purgé
  1. Vérifiez le réglage du plugin :
  2. Allez dans Réglages → Proxy Cache Purge
  3. Assurez-vous que IP Personnalisée est définie sur 127.0.0.1

  4. Vérifiez le réglage du Backend de Cache :

  5. Allez dans Proxy Cache Purge → Réglages et vérifiez que Backend de Cache est défini sur NGINX
  6. Ou vérifiez que wp-config.php contient define( 'VHP_PURGE_BACKEND', 'nginx' );

  7. Vérifiez que la configuration NGINX est chargée :

    nginx -T | grep cache_purge
    

412 Précondition Échouée

Cela signifie que l'URL n'était pas dans le cache. Ce n'est pas une erreur—juste rien à purger.

Module Ne Charge Pas
# Vérifiez s'il est installé
rpm -q ea-nginx-cache-purge

# Vérifiez le fichier du module
ls -la /etc/nginx/modules/ngx_http_cache_purge_module.so

Liens Associés

  • Dépôt cPanel EA4


    Guide complet de configuration pour les modules ea-nginx de cPanel

    En savoir plus

  • Module cache-purge


    Référence complète des directives et utilisation avancée

    Documentation

  • Plugin Proxy Cache Purge


    Page officielle du plugin WordPress

    WordPress.org