Le WordPress d'aujourd'hui, décodé pour les développeurs

Tips

Un indicateur de dernière purge Cloudflare réussie dans l’administration

Rassurer l'équipe éditoriale que le cache a bien été vidé après une publication, sur un site à fort trafic.

Par Clément Hadrot • 4 juin 2026 • 4 min de lecture • Aucun commentaire
Un indicateur de dernière purge Cloudflare réussie dans l'administration

« Erreur 522 : origin connection time-out » — ce type de message, croisé une fois par un rédacteur qui vérifiait fébrilement si son article venait bien de passer en cache après publication, illustre un problème récurrent des sites à fort trafic protégés par Cloudflare : l’appel de purge de cache après publication peut échouer silencieusement, sans que personne côté éditorial ne s’en aperçoive avant qu’un lecteur ne signale voir une version périmée de la page.

Plutôt que de faire confiance aveuglément à l’appel API de purge, il est plus sûr d’enregistrer son résultat et de l’afficher directement dans l’interface d’administration, à l’endroit où l’équipe éditoriale peut le consulter sans connaissance technique particulière.

Enregistrer le résultat de chaque appel de purge

Après l’appel à l’API Cloudflare, la réponse contient un champ success qu’il suffit de capturer et de stocker en métadonnée sur l’article concerné, avec un horodatage précis :

function enregistrer_resultat_purge( $post_id, $reponse_api ) {
    $succes = ! empty( $reponse_api['success'] );

    update_post_meta( $post_id, '_derniere_purge_cloudflare', array(
        'succes'    => $succes,
        'horodatage' => current_time( 'mysql' ),
        'erreurs'   => $succes ? array() : ( $reponse_api['errors'] ?? array() ),
    ) );
}

Afficher le badge dans la liste des articles

L'essentiel à retenir : Un enregistrement du dernier appel de purge réussi ; Un badge visible directement sur l'écran des articles ; Une distinction claire entre succès et échec silencieux

Une colonne personnalisée sur l’écran edit.php affiche l’état de la dernière purge, avec un code couleur immédiatement lisible même pour un profil non technique :

add_filter( 'manage_post_posts_columns', 'ajouter_colonne_purge_cloudflare' );
function ajouter_colonne_purge_cloudflare( $colonnes ) {
    $colonnes['purge_cloudflare'] = 'Cache CDN';
    return $colonnes;
}

add_action( 'manage_post_posts_custom_column', 'afficher_colonne_purge_cloudflare', 10, 2 );
function afficher_colonne_purge_cloudflare( $colonne, $post_id ) {
    if ( 'purge_cloudflare' !== $colonne ) {
        return;
    }

    $etat = get_post_meta( $post_id, '_derniere_purge_cloudflare', true );

    if ( empty( $etat ) ) {
        echo '<span style="color:gray;">Non purgé</span>';
    } elseif ( $etat['succes'] ) {
        echo '<span style="color:green;">✓ Purgé (' . esc_html( $etat['horodatage'] ) . ')</span>';
    } else {
        echo '<span style="color:red;">✗ Échec de purge</span>';
    }
}

Prévoir une nouvelle tentative automatique en cas d’échec

Un échec de purge ne doit jamais rester sans suite silencieuse. Une tâche planifiée, exécutée cinq minutes après un échec constaté, retente l’appel API une seconde fois avant d’escalader vers une notification à l’équipe technique si le second essai échoue également.

Distinguer échec de communication et échec de purge réelle

Une erreur réseau temporaire (délai de connexion dépassé, service Cloudflare momentanément indisponible) n’a pas la même gravité qu’un échec lié à une mauvaise configuration de la zone ou à un jeton API expiré. Le tableau ci-dessous distingue ces deux catégories pour orienter la réaction appropriée :

Type d’échecCause probableAction recommandée
Timeout réseauLatence temporaireNouvelle tentative automatique
Code 403Jeton API expiré ou révoquéAlerte immédiate équipe technique
Code 400 avec erreur de zoneConfiguration Cloudflare incorrecteVérification manuelle de la zone

Ne pas confondre cet indicateur avec l’appel de purge lui-même

Ce dispositif se limite à observer et afficher le résultat d’un appel déjà déclenché par ailleurs dans le processus de publication ; il ne couvre pas la logique d’implémentation de l’appel API de purge, qui dépend de la configuration réseau propre à chaque hébergement et relève d’un chantier distinct.

Un système de cache invisible ne pose problème que le jour où il échoue sans prévenir ; le badge sert avant tout à raccourcir ce jour-là de plusieurs heures à quelques minutes.

En résumé

Enregistrer et afficher le résultat de chaque purge Cloudflare transforme une incertitude technique diffuse en information claire, consultable directement par l’équipe éditoriale sans détour par les journaux serveur. Le développement reste limité à une métadonnée et une colonne personnalisée, pour un gain de confiance immédiat après chaque publication sensible.

Partager :

À propos de l'auteur

Clément Hadrot

Développeur WordPress, passionné par Elementor, le FSE et l’automatisation par IA.

Voir tous ses articles

Dans la même veine

À lire aussi