Un sito WordPress compromesso non mostra sempre segnali evidenti. A volte il backend sembra funzionare correttamente, le pagine si aprono senza problemi e il proprietario del sito si accorge dell’anomalia solo attraverso strumenti esterni, come PageSpeed Insights, Search Console o un controllo SEO tecnico. Uno dei segnali più delicati è la presenza di redirect sospetti: l’utente visita una pagina legittima, ma in determinate condizioni viene indirizzato verso domini esterni non riconoscibili.

Questo tipo di problema va affrontato rapidamente, perché può avere conseguenze sia sulla sicurezza sia sulla visibilità organica del sito. Google considera i contenuti inseriti senza autorizzazione, il codice malevolo e i redirect indesiderati come segnali di compromissione del sito, con possibili effetti sulla fiducia degli utenti e sulle performance nei risultati di ricerca.

In questa guida vediamo come riconoscere un sito WordPress compromesso, quali file controllare per primi e quali azioni eseguire per ripulire il sito senza compromettere ulteriormente la situazione.

Sito WordPress compromesso: i segnali più comuni

Un’infezione WordPress può manifestarsi in modi diversi. Alcuni segnali sono molto evidenti, altri invece sono nascosti e compaiono solo in condizioni specifiche, per esempio quando la pagina viene visitata da un crawler, da un dispositivo mobile o da un determinato user-agent.

I sintomi più frequenti sono:

  • redirect improvvisi verso siti esterni;
  • apertura di popup o pagine pubblicitarie non previste;
  • presenza di script sconosciuti nel codice HTML;
  • risultati Google con titoli o descrizioni anomale;
  • avvisi di sicurezza da browser, hosting o Search Console;
  • file PHP sospetti dentro cartelle come uploads;
  • codice offuscato con funzioni come base64_decode, eval o gzinflate.

Un dettaglio importante: non sempre il redirect compare quando si naviga normalmente il sito. Alcuni malware cercano di restare nascosti evitando di attivarsi nel backend WordPress, nella pagina di login, nelle chiamate AJAX o nelle API REST. Questo rende il problema più difficile da individuare con un semplice controllo visivo.

Perché controllare subito il file wp-config.php

Tra i primi file da verificare c’è il wp-config.php. È uno dei file più sensibili di WordPress perché contiene le impostazioni principali del sito, i dati di connessione al database, le chiavi di sicurezza e diverse costanti fondamentali per il funzionamento dell’installazione.

In un sito WordPress compromesso, il malware può essere inserito anche alla fine di questo file, spesso dopo la riga:

require_once ABSPATH . 'wp-settings.php';

In una configurazione pulita, dopo quella riga non dovrebbe esserci codice aggiuntivo che stampa script, decodifica stringhe o esegue istruzioni condizionali sul frontend. Un esempio di struttura sospetta è la presenza di codice PHP che utilizza base64_decode per generare uno script esterno.

Il file wp-config.php dovrebbe terminare in modo pulito, senza codice extra e preferibilmente senza il tag di chiusura PHP finale ?>. Questa pratica riduce anche il rischio di spazi o output indesiderati dopo la configurazione.

Redirect sospetti: perché possono comparire solo con PageSpeed o Google

Un caso abbastanza tipico è questo: il sito sembra funzionare, ma un test con PageSpeed Insights, uno scanner SEO o un controllo da un altro dispositivo porta verso una pagina esterna sconosciuta. Questo può accadere perché alcuni codici malevoli si attivano solo in condizioni specifiche.

Il malware può controllare, ad esempio:

  • il tipo di dispositivo;
  • la provenienza della visita;
  • lo user-agent;
  • la presenza o assenza di cookie;
  • se l’utente è loggato o meno in WordPress;
  • se la richiesta riguarda il frontend e non l’area amministrativa.

Questo comportamento è particolarmente insidioso perché il proprietario del sito potrebbe non vedere nulla di strano mentre lavora nel backend. Nel frattempo, però, visitatori, crawler o strumenti di analisi potrebbero ricevere una versione diversa della pagina.

Come verificare rapidamente se il sito WordPress è compromesso

La verifica deve partire dai file più sensibili. In particolare è utile controllare:

  • wp-config.php;
  • .htaccess;
  • index.php nella root;
  • wp-blog-header.php;
  • cartelle wp-content/plugins e wp-content/themes;
  • eventuale cartella wp-content/mu-plugins;
  • file PHP presenti in wp-content/uploads.

Da SSH, un controllo tecnico può cercare stringhe sospette come domini esterni, funzioni di offuscamento o codice non previsto:

grep -RIn -E "base64_decode|eval\(|gzinflate|str_rot13|shell_exec|assert\(" .

È utile anche verificare se nella cartella uploads sono presenti file PHP:

find wp-content/uploads -type f \( -name "*.php" -o -name "*.phtml" -o -name "*.phar" \) -ls

Normalmente la cartella uploads dovrebbe contenere immagini, PDF, documenti e file multimediali, non script PHP eseguibili. La presenza di file PHP in quella posizione non è automaticamente una prova definitiva di infezione, ma è certamente un elemento da analizzare con attenzione.

Cosa fare dopo aver trovato codice malevolo

Se trovi codice sospetto in un file critico, il primo passo è fare una copia di sicurezza dello stato attuale. Anche se il sito è compromesso, avere un backup consente di analizzare cosa è stato modificato e di evitare cancellazioni irreversibili.

Dopo il backup, le azioni principali sono:

  1. rimuovere il codice malevolo dai file infetti;
  2. svuotare cache WordPress, cache plugin e cache server;
  3. eseguire una scansione malware completa;
  4. controllare che il codice non ricompaia dopo qualche ora;
  5. aggiornare WordPress, plugin e tema;
  6. eliminare plugin e temi non utilizzati;
  7. controllare utenti amministratori sconosciuti;
  8. cambiare password WordPress, hosting, FTP/SFTP e database;
  9. rigenerare le salt key di WordPress;
  10. richiedere una nuova scansione o indicizzazione in Search Console, se necessario.

Un punto spesso sottovalutato è la verifica della reinfezione. Se il codice torna dopo essere stato rimosso, significa che nel sito è ancora presente una backdoor: può trovarsi in un plugin compromesso, in un file nascosto, in un tema non aggiornato o in una cartella che non è stata controllata.

Permessi file e protezione di wp-config.php

Dopo la pulizia è opportuno verificare anche i permessi dei file. WordPress dedica attenzione specifica al tema dei file permissions e indica il wp-config.php come uno dei file da proteggere con maggiore cura.

Su molti hosting il file può funzionare con permessi 640 o 600, a seconda della configurazione del server. In ambienti gestiti può essere necessario mantenere permessi differenti, ma il principio resta lo stesso: il file non deve essere scrivibile pubblicamente e non deve avere permessi eccessivi come 777.

In un pannello come Plesk, un’impostazione 640 corrisponde generalmente a:

  • proprietario: lettura e scrittura;
  • gruppo: lettura;
  • altri: nessun permesso;
  • nessun permesso di esecuzione sul file.

Naturalmente, dopo qualsiasi modifica ai permessi, bisogna verificare subito che frontend e backend WordPress funzionino correttamente.

Impatto SEO di un sito WordPress compromesso

Un sito WordPress compromesso non è solo un problema tecnico. Può diventare anche un problema SEO. Redirect sospetti, contenuti iniettati, pagine spam o script malevoli possono alterare il modo in cui Google interpreta il sito e ridurre la fiducia verso il dominio.

I segnali da monitorare in Search Console sono:

  • avvisi di sicurezza;
  • pagine indicizzate che non riconosci;
  • titoli e snippet strani nei risultati di ricerca;
  • aumento improvviso di URL sconosciuti;
  • crolli anomali di impression o clic;
  • problemi di scansione o indicizzazione.

Dopo la rimozione del malware, è consigliabile inviare nuovamente la sitemap, usare lo strumento di controllo URL per le pagine principali e monitorare l’andamento nei giorni successivi. La pulizia tecnica è il primo passo; il recupero completo della fiducia può richiedere un po’ di tempo.

Quando un problema tecnico viene risolto, è utile rafforzare anche la struttura SEO del sito: contenuti, collegamenti interni, pagine principali e segnali di fiducia devono lavorare insieme. Su Elfio.it abbiamo approfondito questo tema nella guida dedicata a Google Business Profile e sito web nella SEO locale.

Prevenzione: come ridurre il rischio di nuove infezioni

Nessun sito è invulnerabile, ma molte infezioni WordPress derivano da problemi ricorrenti: plugin non aggiornati, password deboli, temi abbandonati, file lasciati con permessi troppo aperti o vecchie installazioni dimenticate sullo stesso spazio hosting.

Per ridurre il rischio è utile mantenere una routine di sicurezza:

  • aggiornare regolarmente WordPress, plugin e tema;
  • rimuovere tutto ciò che non viene usato;
  • evitare plugin non ufficiali o di provenienza incerta;
  • usare password forti e accessi separati;
  • abilitare l’autenticazione a due fattori per gli amministratori;
  • controllare periodicamente gli utenti admin;
  • mantenere backup automatici e verificabili;
  • monitorare Search Console;
  • scansionare il sito dopo aggiornamenti importanti o comportamenti anomali.

La sicurezza WordPress non è un intervento una tantum, ma un processo di manutenzione. Un sito veloce, aggiornato e ben configurato è anche più semplice da monitorare e da recuperare in caso di problema.

Per altri approfondimenti su manutenzione, ottimizzazione tecnica e problemi WordPress, puoi consultare la sezione WordPress, performance e sicurezza, dove raccogliamo guide pratiche legate alla gestione tecnica dei siti web.

Domande frequenti su un sito WordPress compromesso

Come capisco se un sito WordPress è compromesso?

Un sito WordPress compromesso può mostrare redirect sospetti, script sconosciuti, popup imprevisti, file PHP in cartelle non corrette, utenti amministratori non riconosciuti o risultati Google anomali. In alcuni casi il problema compare solo su mobile, con determinati user-agent o attraverso strumenti esterni.

Perché il file wp-config.php è importante nella sicurezza WordPress?

Il file wp-config.php contiene dati fondamentali del sito WordPress, come credenziali database, chiavi di sicurezza e configurazioni principali. Per questo è uno dei file da controllare subito quando si sospetta un’infezione o un redirect malevolo.

Cosa significa trovare base64_decode in un file WordPress?

La funzione base64_decode non è sempre malevola, ma può essere usata per nascondere codice. Se compare in file critici come wp-config.php, index.php o in file PHP dentro uploads, va analizzata con attenzione perché potrebbe indicare codice offuscato o una possibile infezione.

Cosa fare dopo aver rimosso un malware WordPress?

Dopo la rimozione del malware è consigliabile svuotare la cache, eseguire una scansione completa, aggiornare WordPress, plugin e tema, cambiare le password, rigenerare le salt key, controllare gli utenti admin e verificare che il codice malevolo non ricompaia.

Un sito WordPress compromesso può danneggiare la SEO?

Sì. Redirect sospetti, contenuti iniettati, pagine spam e codice malevolo possono ridurre la fiducia verso il sito, generare avvisi di sicurezza e peggiorare la visibilità organica. Dopo la pulizia è importante monitorare Search Console e richiedere l’indicizzazione delle pagine principali.

Risorse utili

Conclusione

Quando un sito WordPress mostra redirect sospetti, script sconosciuti o comportamenti diversi tra frontend, backend e strumenti di analisi, è importante non limitarsi alla cache o all’ottimizzazione delle performance. Bisogna verificare subito se esiste codice malevolo nei file principali.

Il controllo del wp-config.php, dei file nella root, dei plugin, dei temi e della cartella uploads permette spesso di individuare il problema. Dopo la rimozione, la priorità è capire se l’infezione era isolata o se esiste una backdoor ancora attiva.

Un approccio corretto unisce sicurezza, SEO tecnica e manutenzione WordPress: pulizia del codice, protezione dei file, aggiornamenti, controllo degli accessi e monitoraggio tramite strumenti come Search Console. Solo così un sito WordPress compromesso può tornare affidabile sia per gli utenti sia per i motori di ricerca.

Se hai notato redirect sospetti, anomalie nei risultati Google o codice non riconosciuto nel tuo sito WordPress, puoi richiedere un controllo tecnico attraverso la pagina contatti. Un’analisi tempestiva può evitare danni alla sicurezza, alla reputazione e al posizionamento organico.