Ti è mai capitato di entrare nel tuo sito e trovare qualcosa che non dovrebbe esserci?
Redirect strani, pagine mai create, link sospetti… o peggio: una homepage completamente modificata con scritto “hacked by…”.
Se stai cercando “il mio sito WordPress è stato hackerato, cosa faccio”, la risposta è questa: non andare nel panico, ma muoviti subito.
Nella maggior parte dei casi il sito si recupera. Ma devi agire con metodo.
Indice dei contenuti
Come capire se il sito WordPress è stato hackerato
I sintomi possono essere molto diversi, a seconda di quanto è invasivo l’attacco.
Il caso più evidente è il defacement: apri la home e trovi un contenuto completamente diverso, spesso firmato dall’hacker.
Ma spesso è più sottile:
- Pagine o articoli strani visibili online ma non nel backoffice
- Link spam inseriti nei contenuti
- Redirect verso siti di casinò, farmaci o contenuti dubbi
- Accessi admin sconosciuti
- Sito improvvisamente lento o instabile
In alcuni casi il comportamento è difficile da replicare: gli attacchi più evoluti usano randomizzazione e timing, quindi magari il redirect succede solo ogni tanto.
Riassumendo: segnali tipici
- Homepage modificata
- Redirect sospetti
- Contenuti mai creati
- Link spam
- Utenti admin sconosciuti
- File modificati senza motivo
- Avvisi di Google (“sito compromesso”)
Se riconosci uno di questi segnali, è molto probabile che il sito sia stato compromesso.
1. Blocca subito i danni
Prima regola: evita che la situazione peggiori.
Meglio un sito offline per qualche ora che utenti esposti a contenuti malevoli.
Cosa fare subito:
- Attiva una modalità manutenzione
- Oppure blocca completamente l’accesso pubblico
Se hai accesso al server puoi farlo così:
- via
.htaccess, consentendo accesso solo al tuo IP - tramite pannello hosting (molti hanno modalità maintenance)
Cambia tutte le password
Non solo WordPress.
- Admin e utenti con privilegi
- FTP / SFTP
- Database
- Hosting
Rimuovi eventuali utenti sospetti.
Disconnetti tutti gli utenti attivi
Puoi farlo:
- Cambiando la password (WordPress invalida le sessioni)
- Usando plugin di sicurezza con funzione di logout globale
- puoi farlo anche da
wp-config.php, ed è uno dei metodi più “puliti” quando vuoi forzare il logout globale senza passare dal backend (magari compromesso).
Metodo via wp-config.php
WordPress gestisce le sessioni tramite le chiavi di sicurezza. Se le cambi, tutte le sessioni attive diventano immediatamente invalide.
Nel file wp-config.php trovi qualcosa del genere:
define('AUTH_KEY', '...');
define('SECURE_AUTH_KEY', '...');
define('LOGGED_IN_KEY', '...');
define('NONCE_KEY', '...');
define('AUTH_SALT', '...');
define('SECURE_AUTH_SALT', '...');
define('LOGGED_IN_SALT', '...');
define('NONCE_SALT', '...');
Cosa fare:
- Sostituisci questi valori con nuove chiavi random
- Puoi generarne di nuove qui: https://api.wordpress.org/secret-key/1.1/salt/
Risultato:
- Tutti gli utenti vengono disconnessi
- Tutti i cookie di login diventano invalidi
- Eventuali sessioni compromesse vengono tagliate fuori
2. Fai un backup completo (anche se infetto)
Sembra controintuitivo, ma è fondamentale.
Questo backup ti serve per:
- Analizzare l’attacco
- Recuperare contenuti
- Ripristinare parti sane del sito
Salva:
- Tutti i file
- Il database
È la tua rete di sicurezza.
3. Individua da dove è entrato l’attacco
Se non capisci la causa, rischi di risolvere oggi e ritrovarti punto e a capo domani.
Le cause più comuni:
- Plugin o temi non aggiornati
- Plugin nulled/pirati
- Password deboli
- WordPress obsoleto
- Vulnerabilità note
Strumenti utili
- Scanner WordPress (Wordfence, Sucuri)
- Scanner lato server (Imunify, se disponibile)
- Controllo manuale dei file
Occhio a codice PHP sospetto:
base64_decodeeval()gzinflate
Spesso sono segnali di codice malevolo.
Verifica la presenza di file con estensione .php dentro la cartella upload, cartella che dovrebbe ospitare solamente media.
4. Pulisci il sito (la fase più delicata)
Qui si decide tutto.
Hai due approcci:
Approccio consigliato: ripristino pulito
- Reinstalla WordPress da zero
- Reinstalla solo plugin e temi sicuri
- Importa i contenuti dal database (dopo verifica)
È il metodo più sicuro.
Approccio manuale (più rischioso, ma più veloce se sai cosa stai facendo)
Se non vuoi fare un ripristino completo, puoi intervenire manualmente. Ma attenzione: è facile lasciare qualcosa indietro.
Un buon compromesso è questo:
sostituire completamente i file core di WordPress con una versione pulita
In pratica:
- Scarica la stessa versione di WordPress (potrai poi aggiornarlo una volta finito il ripristino) dal repository ufficiale
- Sovrascrivi completamente:
/wp-admin//wp-includes/- tutti i file nella root
⚠️ Escludi:
wp-config.php.htaccess- la cartella
/wp-content/
Perché farlo
In questo modo:
- Elimini in blocco eventuali file core infetti
- Riduci drasticamente il perimetro di controllo
- Puoi concentrarti solo su
/wp-content/, dove si annidano la maggior parte delle infezioni
A questo punto controlla solo il “cuore” del sito
Focalizzati su:
/wp-content/plugins//wp-content/themes//wp-content/uploads/(spesso usata per nascondere backdoor)
Cerca:
- File PHP sospetti in cartelle dove non dovrebbero esserci
- Codice offuscato (
base64_decode,eval, ecc.) - Plugin o temi che non riconosci

Attenzione
Questo approccio è efficace, ma:
- non tocca il database
- non elimina eventuali backdoor nei contenuti
- non risolve la vulnerabilità che ha causato l’attacco
Quindi va sempre accompagnato da:
- Messa in sicurezza
- Controllo del database
- Verifica manuale (puoi anche effettuare ricerca tramite ssh di pattern di codice sospetto)
- Aggiornamenti
5. Controlla il database
Molti attacchi non si limitano ai file.
Verifica:
- Tabelle
wp_options(siteurl, home) - Post e pagine con contenuti strani
- Script nascosti nei contenuti
- Utenti admin non autorizzati
Pulisci tutto ciò che non riconosci.
6. Aggiorna tutto
Una volta ripulito:
- Aggiorna WordPress
- Aggiorna plugin e temi
- Elimina tutto ciò che non usi
Meno codice = meno vulnerabilità.
7. Metti in sicurezza il sito
Se non cambi qualcosa, succederà di nuovo.
Azioni consigliate:
- Firewall applicativo (WAF)
- Limitazione tentativi di login
- Autenticazione a due fattori (2FA)
- Disabilitare modifica file da backend
- Permessi corretti su file e cartelle
- Backup automatici
8. Controlla Google e blacklist
Verifica se il sito è stato segnalato:
- Google Search Console
- Safe Browsing
Se necessario, richiedi una revisione dopo la pulizia.
9. Monitora nei giorni successivi
Non considerarlo finito subito.
Controlla:
- File modificati
- Nuovi utenti
- Redirect sospetti
- Performance anomale
Se qualcosa ricompare, significa che non hai eliminato la causa.
Conclusione
Un sito WordPress hackerato non è raro. E nella maggior parte dei casi non è nemmeno “colpa di hacker geniali”.
È quasi sempre una porta lasciata aperta: un plugin vecchio, una password debole, un aggiornamento saltato.
La differenza la fa come reagisci:
- velocità
- metodo
- pulizia fatta bene
Perché sistemare è importante.
Ma non farti bucare di nuovo lo è ancora di più.
Bonus tip: e se il problema non fosse (solo) WordPress?
A volte continui a ripulire il sito… ma il problema torna.
E qui c’è una verità scomoda: non sempre la colpa è del tuo WordPress.
Soprattutto quando si utilizzano hosting molto economici o poco isolati, le vulnerabilità possono essere a monte, a livello di server.
In questi casi:
- Un altro sito sullo stesso server può essere compromesso
- Il server può avere software non aggiornato
- Possono esserci configurazioni insicure (permessi, isolamento utenti, ecc.)
Come capirlo
Un segnale tipico è questo:
- Ripulisci tutto correttamente
- Aggiorni plugin e password
- Dopo poco… il problema si ripresenta
Se succede, è il momento di cambiare approccio.
Hai due strade
1. Gestisci tu il server
Qui il livello si alza parecchio.
Devi verificare:
- Aggiornamenti di sicurezza (OS, PHP, database, web server)
- Configurazione dei permessi
- Isolamento tra utenti e siti
- Log di sistema (accessi sospetti, script eseguiti, cron)
In pratica: non stai più “pulendo WordPress”, stai facendo hardening del server.
2. Sei su hosting condiviso
Qui la soluzione è spesso più semplice (e brutale):
cambia hosting
Se il provider non garantisce:
- isolamento tra account
- aggiornamenti costanti
- sistemi di sicurezza attivi
puoi ripulire il sito quanto vuoi… ma resterai esposto.
In sintesi
Se il problema torna senza una causa evidente:
non guardare solo il sito, guarda dove è ospitato.
Perché a volte la porta aperta non è dentro WordPress.
È proprio il palazzo.
Serve una mano?
Se sei arrivato fin qui, probabilmente il tuo sito WordPress è già stato compromesso… oppure hai il sospetto che qualcosa non vada.
La verità è che ogni caso è diverso:
- a volte basta una pulizia veloce
- altre volte ci sono backdoor nascoste
- in alcuni casi il problema è proprio il server
Se non sei sicuro di aver risolto tutto, o vuoi evitare di perderci ore (o giorni), posso darti una mano.
Analizzo il sito, individuo il punto di ingresso e ti aiuto a:
- ripulire completamente l’infezione
- mettere in sicurezza WordPress
- evitare che succeda di nuovo
Senza interventi inutili, senza perdere tempo.
