Tutti gli articoli
Bonifica malwareAggiornato il 8 min di letturaTeam WPsec.it

WordPress redirect spam: cosa fare se reindirizza

WordPress reindirizza a pubblicità o spam? Procedura per riprodurre il redirect, salvare prove, trovare la sorgente e bonificare.

Condividi
WordPress redirect spam: cosa fare se reindirizza

Se apri il tuo sito e vieni mandato su pagine pubblicitarie, annunci, finti aggiornamenti, pop-up o domini che non hai mai visto, niente panico: è uno dei sintomi più comuni di compromissione WordPress e si risolve. Il problema vero non è il redirect che vedi, ma il punto da cui qualcuno lo riscrive. Cancellare solo il sintomo lo fa tornare in poche ore.

Se il redirect appare solo da mobile o da Google, usa la pagina dedicata a WordPress redirect spam da mobile. Se il sito è già in produzione e il traffico viene dirottato, passa alla procedura di rimozione malware WordPress.

Il comportamento più insidioso è il redirect condizionato: tu apri il sito da amministratore e sembra tutto normale, mentre un visitatore da mobile, da Google o non loggato viene mandato altrove. È una tecnica deliberata per non farsi notare dal proprietario e continuare a sfruttare traffico e reputazione del dominio.

Risposta rapida

Un redirect verso pubblicità o spam su WordPress è quasi sempre malware. Il codice può trovarsi in .htaccess, wp-config.php, nel tema, in un plugin, in un mu-plugin, nel database (wp_options) o in file PHP nascosti in uploads. La sequenza corretta è: prima una copia completa di file e database, poi riproduci il redirect, trova la sorgente, chiudi il vettore di ingresso e solo allora pulisci. Saltare la chiusura del vettore porta quasi sempre alla recidiva.

Cosa fare subito, passo per passo

Questa è la sequenza che riduce il danno senza peggiorare il quadro. Se sei nelle primissime ore, segui anche cosa fare nella prima ora.

1. Non cancellare niente: prima fai una copia

Prima di toccare qualsiasi file, crea una copia completa di file e database. Serve come prova (utile in caso di notifica GDPR) e per confrontare lo stato dopo la pulizia. Lavora sempre su una copia o su staging, mai direttamente sul live.

tar -czf /tmp/backup-$(date +%Y%m%d).tar.gz /home/sito/public_html/
mysqldump --single-transaction nome_database > /tmp/db-$(date +%Y%m%d).sql

2. Riproduci il redirect

Devi vedere il redirect con i tuoi occhi per capire da dove parte. Provalo da mobile, in incognito e simulando l'arrivo da Google. Da terminale puoi forzare lo user-agent e il referer:

# Simula un visitatore mobile
curl -s -A "Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X)" -I -L https://example.com | grep -i location

# Simula l'arrivo da Google
curl -s -e "https://www.google.com/" -I -L https://example.com | grep -i location

Se la risposta contiene un Location: verso un dominio esterno, il redirect è confermato e sai in quale condizione scatta.

3. Controlla dove si nasconde

Il primo posto è .htaccess, ma fermarsi lì è l'errore più comune. I punti frequenti sono .htaccess, wp-config.php (codice offuscato in fondo), functions.php del tema attivo o child, file PHP in wp-content/uploads, mu-plugin caricati in automatico, opzioni serializzate in wp_options e script inseriti da builder o widget.

4. Cerca e rimuovi il payload

Cerca i pattern di offuscamento tipici nel file system e nel database, non solo la stringa visibile:

# File PHP sospetti negli upload (non dovrebbero esistere)
find wp-content/uploads -name "*.php" -type f

# Pattern di offuscamento nel codice
grep -rniE "base64_decode|gzinflate|str_rot13|eval\(|\\\$_REQUEST\[" wp-content/ | head

Quando trovi un file infetto, sostituiscilo con la versione pulita dal repository ufficiale, non limitarti a cancellare la riga.

5. Trova e chiudi il vettore di ingresso

È il passo che la maggior parte delle pulizie fai-da-te salta, ed è il motivo numero uno della recidiva. Controlla la versione di ogni plugin contro WPScan o Patchstack, verifica i log di accesso per login sospetti e rimuovi plugin o temi nulled. Il processo completo è in bonifica malware WordPress: il metodo.

6. Cambia le credenziali e invalida le sessioni

Cambia password di tutti gli admin WordPress, FTP/SFTP, database e pannello hosting. Poi rigenera i SALT per buttare fuori l'attaccante se era loggato:

wp config shuffle-salts

7. Pulisci la reputazione su Google

Solo dopo che il sito è pulito: in Google Search Console, sezione "Sicurezza e azioni manuali", richiedi la revisione. Per le pagine spam già indicizzate usa "Rimozione URL" e invia una nuova sitemap. Dettagli in rimozione blacklist Google.

Caso tipico: redirect a pubblicità solo dal traffico Google

Uno scenario che vediamo spesso (anonimizzato, ma rappresentativo dei casi reali): un sito vetrina sembra perfetto al proprietario, che naviga da desktop e da accesso diretto. I clienti, invece, arrivando da una ricerca Google su smartphone, vengono sbattuti su una catena di pagine pubblicitarie e finti premi. Il payload era in una singola opzione serializzata in wp_options, riscritta da un cron WordPress malevolo ogni volta che veniva rimossa dal tema. Pulire il tema senza toccare database e cron faceva tornare il redirect entro un'ora. La chiusura del vettore (un plugin obsoleto con CVE nota) ha fermato la recidiva.

Perché torna dopo la pulizia

Il redirect torna quando si rimuove il sintomo ma non il vettore. Esempio classico: cancelli lo script nel tema, ma lasci attivo un plugin vulnerabile che lo riscrive poche ore dopo, oppure resta un file PHP in wp-content/uploads/ o un hook nel database che rigenera il payload. Una bonifica completa deve trovare tutti i punti di persistenza, non solo quello più visibile.

Se il redirect porta specificamente verso contenuti adult, casinò o farmaci, la guida dedicata è WordPress che reindirizza a siti porno o spam.

Quando chiedere intervento

Serve intervento tecnico quando il redirect è visibile ai clienti, quando Search Console mostra pagine spam, quando l'hosting manda avvisi o quando il sito vende online. In questi casi la priorità è contenere il danno e ripristinare la fiducia.

WPsec.it gestisce questi casi nella bonifica malware WordPress, lavorando su backup, staging, root cause e hardening prima del ritorno live. Se non sai se il redirect è reale, parti dal check-up gratuito o dalla pagina sito WordPress hackerato.


Il sito reindirizza a pagine pubblicitarie: è sicuramente un virus?

Quasi sempre sì, quando il redirect porta verso pubblicità, annunci o domini esterni non correlati al tuo sito. Non è cache né un problema del browser: qualcuno ha inserito codice, una regola in .htaccess o un payload nel database che decide quando mandare l'utente fuori. Il fatto che a volte non lo vedi tu (ma i clienti sì) è parte della tecnica: il redirect è spesso condizionato a mobile, referer Google o utenti non loggati.

Il redirect compare solo su mobile: è sempre malware?

Quasi sempre sì, quando porta verso siti esterni non correlati. Un redirect condizionale solo su mobile è deliberato: l'attaccante sa che l'amministratore naviga da desktop, quindi filtra per user-agent mobile per non essere rilevato. Verifica con curl -s -A "Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X)" -I -L https://example.com. Se la risposta contiene un Location verso un dominio esterno, il redirect è confermato.

Il sito reindirizza solo quando arrivo da Google: cosa significa?

Il redirect è condizionato al referer HTTP: l'attaccante colpisce il traffico organico, non quello diretto. Il codice legge l'header HTTP_REFERER e si attiva solo se contiene "google.com", "bing.com" o simili. Questo tipo di redirect si trova tipicamente in .htaccess, in funzioni PHP del tema o direttamente nel database in wp_options.

Posso risolvere il redirect spam da solo?

Dipende dall'esperienza tecnica. Se hai accesso SSH e sai usare grep, diff e mysqldump, puoi seguire una bonifica guidata su casi semplici. Il rischio, senza esperienza, è rimuovere il sintomo senza chiudere il vettore di ingresso: il redirect torna in pochi giorni. Se il sito è WooCommerce o ha dati clienti, conviene affidarlo a un tecnico che lavori su staging prima di toccare il live.

Ho rimosso il redirect ma è tornato dopo qualche giorno: perché?

Perché la pulizia ha rimosso il payload visibile ma non la backdoor che lo rigenera. Scenario classico: togli lo script in .htaccess, ma resta un file PHP in wp-content/uploads/ o un hook nel database che riscrive .htaccess a ogni visita. Una bonifica completa deve trovare tutti i punti di persistenza. Vedi il processo in bonifica malware WordPress: il metodo.

Google ha già indicizzato le pagine spam del mio sito: come le rimuovo?

Prima bonifica il sito e rimuovi le pagine spam dal server. Poi in Google Search Console usa "Rimozione URL" per le pagine specifiche e invia una nuova sitemap. Se erano generate dinamicamente senza URL fissi, la deindicizzazione avviene dopo che Google ricrawla e trova 404 o contenuto pulito. I tempi vanno da giorni a settimane: accelera richiedendo una scansione forzata degli URL principali da Search Console.

Pubblicato il - aggiornato il

Condividi

Scritto dal team WPsec.it

Team WPsec.it

Bonifica malware, hardening, performance e manutenzione WordPress.

Continua a leggere

Articoli correlati.