Disconnettere tutti gli utenti dopo aver pubblicato un sito di staging in produzione

Quando gestisci un sito WordPress con un ambiente di staging, pubblicare le modifiche in produzione è un processo critico. Garantisce che il tuo sito live rimanga coerente e funzionale. Tuttavia, durante questo processo, le sessioni utente attive dal sito di staging possono persistere nell’ambiente di produzione, il che può porre rischi di sicurezza o portare a comportamenti inaspettati come utenti che vedono contenuti vecchi e obsoleti.

Per risolvere questo, e se vuoi assicurarti che tutti gli utenti vedranno il sito aggiornato, puoi disconnettere automaticamente tutti gli utenti dopo aver pubblicato il sito di staging in produzione usando un filtro WordPress personalizzato. Questo garantisce che qualsiasi dato di sessione dal sito di staging sia invalidato e che gli utenti debbano riconnettersi. Ecco come implementare questa soluzione con WP Staging.


Il problema: persistenza della sessione

Quando pubblichi un sito di staging in produzione, vengono trasferiti anche i dati delle sessioni utente, inclusi i token di accesso. Di conseguenza:

  • Gli utenti dal sito di staging possono rimanere connessi sul sito di produzione.
  • Dati sensibili potrebbero inavvertitamente rimanere accessibili.
  • Potrebbero sorgere rischi di sicurezza dovuti all’uso improprio dei token.

La soluzione: usare un filtro personalizzato per invalidare le sessioni utente

Sfruttando l’action wpstg_pushing_complete fornita da WP Staging, puoi attivare una funzione per invalidare tutte le sessioni utente attive immediatamente dopo un push. Questo si ottiene eliminando i token di sessione memorizzati nel database WordPress.


Implementazione del codice

Ecco lo snippet di codice per disconnettere tutti gli utenti dopo aver pubblicato il tuo sito di staging in produzione:

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');

Come funziona

  1. Pulizia del database:
    la funzione myPrefixinvalidateAllUsers() interagisce con la tabella usermeta di WordPress per rimuovere tutti i record associati alla chiave meta session_tokens. Questo invalida efficacemente tutte le sessioni utente attive.
  2. Attivazione dell’action:
    l’hook wpstg_pushing_complete viene attivato quando WP Staging completa il processo di push di un sito di staging in produzione. La funzione viene eseguita automaticamente a questo stadio.
  3. Risultato:
    una volta rimossi i token di sessione, tutti gli utenti vengono disconnessi e devono accedere di nuovo per accedere al sito di produzione.

Passaggi per implementare

  1. Crea un Must-Use Plugin (MU-Plugin):
    • Vai nella directory wp-content/mu-plugins/ del tuo sito di produzione. Se la directory non esiste, creala.
    • Crea un nuovo file PHP, come invalidate-user-sessions.php.
    • Copia e incolla lo snippet di codice sopra in questo file.
  2. Distribuisci:
    • Salva il file e assicurati che venga caricato nella directory mu-plugins.
    • WP Staging ora disconnetterà automaticamente tutti gli utenti dopo ogni push in produzione.

Vantaggi

  • Sicurezza migliorata: gli utenti dell’ambiente di staging non possono accedere inavvertitamente al sito live.
  • Controllo migliorato: garantisce che solo gli utenti verificati possano accedere di nuovo dopo il deployment.
  • Gestione semplificata: automatizza la gestione delle sessioni durante il processo di deployment.

Note aggiuntive

  • Questa soluzione si applica solo alla funzione push-to-production di WP Staging. Non influisce su altre funzionalità WordPress o sulle sessioni create successivamente.
  • Per configurazioni multisite, assicurati che lo script venga eseguito su tutti i sottositi se necessario.

Con questo approccio, puoi mantenere un ambiente di produzione sicuro e affidabile, garantendo una transizione fluida dallo staging al live.

Updated on Maggio 23, 2026

Rene Hermenau

Autore: 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.