Déconnecter tous les utilisateurs après le déploiement d’un site de staging vers la production

Lorsque tu gères un site WordPress avec un environnement de staging, déployer les modifications en production est un processus critique. Cela garantit que ton site live reste cohérent et fonctionnel. Cependant, pendant ce processus, les sessions utilisateur actives du site de staging peuvent persister dans l’environnement de production, ce qui peut poser des risques de sécurité ou entraîner des comportements inattendus, comme des utilisateurs qui voient du contenu ancien et obsolète.

Pour remédier à cela, et si tu veux t’assurer que tous les utilisateurs verront le site mis à jour, tu peux déconnecter automatiquement tous les utilisateurs après le déploiement de ton site de staging vers la production en utilisant un filtre WordPress personnalisé. Cela garantit que toutes les données de session du site de staging sont invalidées et que les utilisateurs doivent se connecter à nouveau. Voici comment tu peux implémenter cette solution avec WP Staging.


Le problème : la persistance des sessions

Lorsque tu déploies un site de staging vers la production, les données de session des utilisateurs, y compris les tokens de connexion, sont également transférées. En conséquence :

  • Les utilisateurs du site de staging peuvent rester connectés sur le site de production.
  • Des données sensibles pourraient rester accessibles par inadvertance.
  • Des risques de sécurité peuvent survenir en raison d’une mauvaise utilisation des tokens.

La solution : utiliser un filtre personnalisé pour invalider les sessions utilisateur

En exploitant l’action wpstg_pushing_complete fournie par WP Staging, tu peux déclencher une fonction pour invalider toutes les sessions utilisateur actives immédiatement après un déploiement. Cela se fait en supprimant les tokens de session stockés dans la base de données WordPress.


Implémentation du code

Voici l’extrait de code pour déconnecter tous les utilisateurs après le déploiement de ton site de staging vers la production :

PHP
/**
 * Log out all users after pushing a staging site to production.
 */
function myPrefixinvalidateAllUsers()
{
    // Access the global $wpdb object to interact with the database
    global $wpdb;

    // Cleanup session tokens from the usermeta table
    $wpdb->query("DELETE FROM {$wpdb->prefix}usermeta WHERE meta_key = 'session_tokens'");
}

// Hook the function to WP Staging's 'wpstg_pushing_complete' action
add_action('wpstg_pushing_complete', 'myPrefixinvalidateAllUsers');

Comment ça fonctionne

  1. Nettoyage de la base de données :
    La fonction myPrefixinvalidateAllUsers() interagit avec la table usermeta de WordPress pour supprimer tous les enregistrements associés à la clé méta session_tokens. Cela invalide effectivement toutes les sessions utilisateur actives.
  2. Déclenchement de l’action :
    Le hook wpstg_pushing_complete se déclenche lorsque WP Staging termine le processus de déploiement d’un site de staging vers la production. La fonction est exécutée automatiquement à ce stade.
  3. Résultat :
    Une fois les tokens de session supprimés, tous les utilisateurs sont déconnectés et doivent se connecter à nouveau pour accéder au site de production.

Étapes d’implémentation

  1. Créer un Plugin Must-Use (MU-Plugin) :
    • Navigue vers le répertoire wp-content/mu-plugins/ de ton site de production. Si le répertoire n’existe pas, crée-le.
    • Crée un nouveau fichier PHP, par exemple invalidate-user-sessions.php.
    • Copie et colle l’extrait de code ci-dessus dans ce fichier.
  2. Déployer :
    • Enregistre le fichier et assure-toi qu’il est téléversé dans le répertoire mu-plugins.
    • WP Staging déconnectera maintenant automatiquement tous les utilisateurs après chaque déploiement vers la production.

Avantages

  • Sécurité améliorée : les utilisateurs de l’environnement de staging ne peuvent pas accéder par inadvertance au site live.
  • Contrôle renforcé : garantit que seuls les utilisateurs vérifiés peuvent se connecter à nouveau après le déploiement.
  • Gestion simplifiée : automatise la gestion des sessions pendant le processus de déploiement.

Notes supplémentaires

  • Cette solution s’applique uniquement à la fonctionnalité de déploiement vers la production de WP Staging. Elle n’affecte pas les autres fonctionnalités WordPress ni les sessions créées par la suite.
  • Pour les configurations multisite, assure-toi que le script s’exécute sur tous les sous-sites si nécessaire.

Avec cette approche, tu peux maintenir un environnement de production sécurisé et fiable, garantissant une transition fluide du staging vers le live.

Updated on mai 23, 2026

Rene Hermenau

Auteur : Rene Hermenau

About the author: René Hermenau is the founder of WP STAGING. He works on WordPress backups, staging, migrations, database handling, and safe deployment workflows.