L’impronta dice se il codice di un sito è quello approvato; le versioni ricordano com’era prima. Ogni volta che il codice viene approvato (un blocco, un aggiornamento, un’installazione, un rimedio, un controllo accettato) nasce una versione nella storia git del sito, con chi l’ha fatto e perché. Upload e segreti non ci entrano. Le versioni le vedono solo gli amministratori della dashboard.

Dove si trovano
- Scheda → Manutenzione → Codice del sito → Versioni, oppure il pulsante Versioni in alto nel visore del codice: l’elenco dalla più recente, con data, autore, operazione, quanti file sono nuovi, modificati e tolti, e i componenti cambiati con le loro versioni (per esempio «plugin contact-form-7 6.0.6 → 6.1.1 (43 file)»). «Approvata» è la versione legata all’impronta di adesso.
- Nel visore, sotto un file o una cartella, la sezione Versioni: solo le versioni in cui quel file o quella cartella è cambiato.
Cosa è cambiato in una versione
Aprendo una versione si vedono i file cambiati rispetto alla precedente, raggruppati per componente: WordPress, ogni plugin, ogni tema, i file della radice. Un aggiornamento di un plugin è una riga, non centinaia di file. Righe mostra le righe cambiate di un file: con − quelle che c’erano prima, con + quelle nuove. Password e chiavi restano nascoste; ogni confronto resta nel Registro.

Confrontare un file con una versione
Nella sezione Versioni del visore, Confronta mette il file di adesso accanto a quello della versione scelta. È il modo più rapido per capire cosa è cambiato da quando il codice era buono, anche se nel frattempo l’impronta è stata rinnovata.
Tornare indietro
Sono due rimedi: quello che tolgono dal sito va in quarantena, e alla fine il controllo del sito si rifà da solo.
| Rimedio | Dove | Cosa fa |
|---|---|---|
| Ripristina | Visore, sezione Versioni | Rimette un file o una cartella com’era in quella versione. Quello di adesso va in quarantena; dentro una cartella i contenuti (upload, cache) restano quelli di adesso. |
| Torna a questa versione | La pagina della versione | Rimette tutto il codice com’era: WordPress, plugin, temi e file della radice. Contenuti, database e wp-config.php restano quelli di adesso; il codice di prima va in quarantena. Per confermare si scrive il dominio. |
Una versione è uno stato già approvato: dopo il ripristino l’impronta si riapprova da sola e nasce una versione nuova, con il nome di chi ha premuto il pulsante. Tornare indietro non cancella niente: le versioni successive restano nella storia. Dopo «Torna a questa versione» si verificano anche i checksum di wordpress.org di WordPress e dei plugin, e il riepilogo dice se qualcosa non torna.
Cosa non c’è nelle versioni
- Gli upload e le altre cartelle scrivibili: sono contenuti, non codice, e stanno nel backup.
- Le password: in
wp-config.phpe negli altri file con segreti i valori sono coperti. Per questowp-config.phpnon si ripristina da una versione: per password e chiavi c’è «Cambia i segreti». - I file oltre 64 MB e i file speciali; i collegamenti restano collegamenti, senza il contenuto a cui puntano.
Da shell
site-scan.py versions esempio.it
site-scan.py file-history esempio.it wp-content/themes/tema/functions.php
site.sh restore-version esempio.it <versione> wp-content/themes/tema/functions.php
site.sh rollback-code esempio.it <versione>
Il codice completo di una versione (40 caratteri) si legge con site-scan.py versions esempio.it --json. La storia sta in /var/lib/site-git/<dominio>.git, leggibile solo da root, e non si scrive mai a mano.