Tutti gli articoliSecurity

Come pulire un sito WordPress infetto senza peggiorare la situazione

Pulire WordPress non significa cancellare file a caso. Devi contenere, capire cosa è stato toccato, bonificare e chiudere il vettore prima di tornare online.

7 aprile 2026·11 min lettura·Aggiornato il 7 aprile 2026
Scheda editoriale
Scritto da
Team Operations SysExperts
Redazione tecnica infrastruttura
Revisione tecnica
Revisione interna SysExperts
Linux Systems Engineer
Stack testato
WordPressWooCommerceDebian 12Ubuntu 24.04 LTS
Come pulire un sito WordPress infetto senza peggiorare la situazione

Pulire un sito WordPress infetto è uno di quei lavori che sembrano semplici finché non rompi qualcosa di importante. Cancellare il file sbagliato, ripristinare dal backup sbagliato o lasciare aperto il vettore di ingresso sono tre modi perfetti per peggiorare la situazione.

Questa guida non sostituisce un intervento professionale nei casi complessi, ma ti dà un ordine di lavoro sensato. L'obiettivo non è sembrare eroici. È tornare online senza lasciare la porta spalancata.

TL;DR

  • Prima contieni, poi pulisci.
  • Conserva uno stato minimo di lavoro prima di cancellare file.
  • Confronta core, plugin e tema con versioni pulite.
  • Verifica utenti, cron, wp-config.php, upload e database.
  • Dopo la bonifica fai hardening, altrimenti il sito si ricompromette.

1. Contenimento: riduci il danno attivo

Se il sito reindirizza traffico, invia spam o mostra contenuti malevoli, la prima priorità è ridurre impatto e propagazione.

Cosa fare:

  • limita accessi amministrativi
  • cambia password degli account sensibili
  • se necessario metti il sito in maintenance o blocca temporaneamente parti esposte
  • sospendi task o cron evidentemente anomali

Cosa non fare:

  • cancellare file senza elenco o criterio
  • aggiornare tutti i plugin “per provare”
  • cambiare hosting senza aver capito cosa stai spostando

2. Salva uno stato minimo prima della pulizia

Anche se il sito è sporco, prima di toccare tutto conserva almeno:

  • lista file modificati di recente
  • copia del database applicativo
  • elenco utenti WordPress
  • plugin e temi presenti
  • log essenziali web server o pannello

Non serve fare forensics da enterprise. Serve non lavorare al buio.

3. Parti dal core WordPress

Il core WordPress va confrontato con una versione pulita e nota.

Cosa controllare

  • file PHP estranei nella root
  • file core modificati fuori da patch note note
  • index.php, wp-blog-header.php, wp-load.php, wp-settings.php
  • wp-config.php

Se il core è alterato in modo diffuso, spesso conviene sostituirlo con una copia pulita della stessa versione, lasciando fuori wp-content e wp-config.php fino a verifica.

4. Poi passa a plugin e tema

Qui si annida una grossa parte dei problemi reali.

Plugin

  • rimuovi quelli dismessi o inutilizzati
  • sostituisci con copie pulite quelli essenziali
  • elimina plugin nulled o premium di provenienza dubbia
  • verifica eventuali mu-plugin non previsti

Tema

  • controlla functions.php, header.php, footer.php
  • cerca inclusioni sospette, eval, base64, chiamate remote non giustificate
  • se il tema è custom, confrontalo con il repository o l'ultima versione affidabile

5. Controlla wp-content/uploads/

È una delle aree più usate per nascondere file PHP e dropper. In molte installazioni WordPress non dovrebbe contenere eseguibili.

Cerca:

  • file .php, .phtml, .ico sospetti
  • nomi casuali
  • cartelle nidificate senza senso
  • file recenti in date coerenti con l'incidente

6. Verifica utenti, ruoli e autenticazione

Una pulizia senza controllo account è incompleta.

Controlla:

  • utenti admin sconosciuti
  • mail utente cambiate
  • ruoli elevati di recente
  • API key, token, sessioni persistenti, accessi pannello hosting

Se trovi utenze abusive, non limitarti a disattivarle. Chiediti come sono state create.

7. Controlla cron e persistenza

Un sito apparentemente pulito che si ricompromette dopo poche ore spesso ha una persistenza semplice ma efficace.

Guarda:

  • cron WordPress custom
  • cron di sistema
  • task pianificati in pannello hosting
  • script richiamati a intervalli regolari

8. Database: non sempre è il primo punto, ma va verificato

Nel database possono restare:

  • utenti creati da codice malevolo
  • option o transient sospetti
  • payload in campi content, widget o opzioni
  • redirect o script iniettati

Qui serve rigore. Non fare replace casuali se non sai esattamente cosa stai toccando.

9. Quando usare un backup pulito

Usare un backup ha senso se:

  • è verificato
  • sai che punto temporale è pulito
  • puoi confrontare le differenze legittime da recuperare
  • il vettore è stato individuato o almeno ridotto

Usare un backup non ha senso se:

  • non sai quando l'infezione è iniziata
  • il backup non è testato
  • ripristini e poi lasci gli stessi plugin vulnerabili, accessi deboli o permessi errati

Per questa parte torna utile anche Backup 3-2-1 per WordPress e l'hub Backup & DR.

10. Hardening finale: la parte che tutti saltano

Dopo la pulizia devi chiudere il giro:

  • aggiornamenti reali di core, plugin e tema
  • riduzione plugin inutili
  • hardening accessi e admin
  • backup verificati
  • monitoring di log, uptime e anomalie
  • revisione permessi file e aree scrivibili

Se salti questo passaggio, non hai bonificato. Hai solo guadagnato qualche giorno.

Errori che vediamo più spesso

  • il sito torna online ma nessuno verifica gli utenti admin
  • si pulisce wp-content ma non il server o i cron
  • si ripristina il backup e si lascia il plugin vulnerabile
  • si confonde “nessun redirect visibile” con “sito pulito”

Quando questa guida non basta

Questa guida non basta se:

  • il server ospita più siti sospetti
  • il sito gestisce pagamenti o dati sensibili
  • il provider ha rilevato malware sistemico
  • non riesci a distinguere file legittimi da file malevoli
  • il sito si reinfetta dopo una prima pulizia

In quei casi ha senso fermarsi e aprire un intervento vero su Pulizia sito hackerato o SOS.

Prossimo passo

Pronto a smettere di occuparti dei server?

Audit scritto, zero impegni, report PDF con assessment della tua situazione.