
🔒 Come correggere il contenuto misto in WordPress: 2 passaggi
Hai installato un certificato SSL e configurato HTTPS, ma il browser mostra ancora l'avviso «connessione non sicura». Ti suona familiare?
Ecco come si presenta un errore di contenuto misto. Il sito sembra funzionare correttamente, i visitatori non si lamentano, ma Google vede il problema e abbassa il tuo posizionamento nelle ricerche. Dal 2018, Chrome contrassegna le pagine con contenuto misto come non sicure e la policy diventa più restrittiva a ogni aggiornamento.
Risolvere il problema richiede due passaggi. Non serve uno sviluppatore, non devi modificare manualmente ogni link e non c'è il rischio di rompere il layout.
💡 Panoramica rapida:
- individua l'origine del contenuto misto usando Chrome DevTools o strumenti online
- installa un plugin (metodo automatico) o modifica .htaccess e il database (metodo manuale)
- verifica il risultato e imposta il redirect HTTPS per il futuro
Cos'è il contenuto misto e perché è pericoloso
Il contenuto misto è una situazione in cui una pagina viene caricata su HTTPS, ma singoli elementi al suo interno (immagini, script, fogli di stile, font) vengono recuperati tramite il protocollo HTTP, non sicuro.
Il browser lo interpreta come una falla di sicurezza. Un malintenzionato può intercettare la richiesta HTTP, sostituire uno script o un'immagine e ottenere accesso ai dati degli utenti. Ecco perché Chrome, Firefox e Safari bloccano completamente il contenuto misto «attivo» (script, iframe), mentre il contenuto «passivo» (immagini, media) genera un avviso nella barra degli indirizzi.
La causa tipica è la migrazione da HTTP a HTTPS. Vecchi link nei contenuti, impostazioni del tema, file CSS e widget restano con il prefisso http://. WordPress non li modifica automaticamente, da qui il conflitto.
Dal 2020, Google lo ha dichiarato esplicitamente: HTTPS è un segnale di ranking. Una pagina con contenuto misto perde il «lucchetto verde» e, con esso, la fiducia dei visitatori e le posizioni nella SERP. Devi risolvere il problema subito dopo aver installato SSL, senza indugi.
Passaggio 1: Diagnosi, individuare l'origine del problema
Prima di correggere qualsiasi cosa, devi capire quali risorse vengono caricate su HTTP. Il metodo universale è Chrome DevTools.
Apri il tuo sito in Chrome, premi F12 (o Ctrl+Shift+I), vai alla scheda Console e ricarica la pagina. Ogni riga con un avviso «Mixed Content» mostra l'URL esatto del file problematico.

Nelle vicinanze, nella scheda Security, troverai un riepilogo: stato del certificato, elenco delle richieste non sicure e raccomandazioni per risolverle. Questo è sufficiente per una valutazione rapida della situazione.

Se gli errori sono molti e hai bisogno di ottenere un elenco completo in un unico report, gli strumenti online vengono in soccorso.

Jitbit SSL Checker è uno scanner online gratuito. Inserisci l'URL e ottieni un elenco di tutte le risorse HTTP sulla pagina: immagini, script, CSS, chiamate esterne. La versione gratuita controlla fino a 200 pagine.

Why No Padlock è un altro servizio gratuito con analisi dettagliata: quali elementi non sono sicuri, da dove vengono caricati e a quale tipologia di contenuto appartengono. Supporta il controllo di pagine che richiedono autenticazione.

HTTPS Checker è un'utility desktop per macOS che scansiona il tuo sito in locale e mostra gli errori dopo ogni modifica. Funziona con un limite di 100 pagine ed è comoda per il debug passo passo.
Una volta che hai davanti l'elenco degli URL problematici, procedi con la correzione.
Passaggio 2: Correzione, tre metodi efficaci
La scelta del metodo dipende dal numero di errori e dalla tua disponibilità a lavorare con il codice. I plugin risolvono il compito in un paio di clic, mentre il metodo manuale ti dà il pieno controllo.
Metodo 1: Really Simple Security, soluzione automatizzata
Really Simple Security (precedentemente Really Simple SSL) è il plugin SSL per WordPress più diffuso, con 3 milioni di installazioni attive e una valutazione di 4,9/5 su WordPress.org.

Installa il plugin da «Plugin → Aggiungi nuovo», attivalo ed esegui la procedura guidata. Il plugin automaticamente:
- imposta HTTPS nelle impostazioni di WordPress (indirizzo del sito e URL home),
- configura il redirect 301 da HTTP a HTTPS,
- sostituisce i link HTTP nei contenuti «al volo» tramite buffer di output,
- verifica il certificato e avvisa in caso di scadenza.
Dopo l'installazione, apri il sito in modalità incognito e assicurati che il lucchetto nella barra degli indirizzi sia verde e che non ci siano avvisi di contenuti misti in DevTools → Console. Per la grande maggioranza dei siti, questo è sufficiente.
Metodo 2: SSL Insecure Content Fixer, livelli di filtro flessibili
Se Really Simple Security non ha funzionato (per esempio, alcuni contenuti vengono caricati tramite API di terze parti), installa SSL Insecure Content Fixer. Il plugin ha 100.000 installazioni attive, una valutazione di 4,8/5 e offre cinque livelli di filtro:

- Simple è il livello base per principianti, corregge i link nei contenuti e nelle impostazioni;
- Content controlla anche i widget di testo e gli shortcode;
- Widgets si concentra sul contenuto dei widget, incluso HTML personalizzato;
- Capture intercetta l'intera pagina prima del rendering e sostituisce ogni
http://conhttps://. Più lento ma più efficace; - Capture All offre la massima copertura: script, stili inline, chiamate esterne. La modalità che consuma più risorse.
Inizia con Simple. Se restano errori, passa a un livello superiore e ricontrolla il sito. Non passare subito a Capture All senza necessità: carica il server e può entrare in conflitto con i plugin di caching.
Metodo 3: correzione manuale,.htaccess e database
Se sei fondamentalmente contrario a plugin aggiuntivi o l'errore è isolato, ecco il percorso diretto.
Passo A. Forzare il redirect HTTPS in.htaccess. Aggiungi quanto segue all'inizio del file (prima di # BEGIN WordPress):
1 RewriteEngine On 2 RewriteCond %{HTTPS} off 3 RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]
Salva e verifica che la homepage e tutti gli URL interni vengano reindirizzati a HTTPS. Prima di modificare, scarica un backup di.htaccess: un errore di battitura può bloccare il sito.
Passo B. Sostituire i link HTTP nel database. I vecchi URL all'interno di articoli, meta campi e impostazioni contengono ancora http://. Modificarli con una query SQL diretta è rischioso perché i dati PHP serializzati si rompono. Usa:
- WP-CLI:
wp search-replace 'http://example.com' 'https://example.com' --dry-run(prima senza--dry-runper vedere il numero di sostituzioni); - il plugin Better Search Replace, che fa la stessa cosa dal pannello di amministrazione con anteprima.
Dopo la sostituzione, svuota la cache del browser (Ctrl+Shift+Del), la cache dei plugin (WP Rocket, LiteSpeed) e controlla il sito in modalità incognito.
Video utile sull'argomento
L'autore del canale GoTechWizard mostra il processo di correzione dei contenuti misti, dalla diagnosi a un HTTPS pulito senza scrivere una sola riga di codice:
⁉️🤔 Domande frequenti
Perché il sito mostra ancora «non sicuro» dopo aver installato SSL?
Il certificato SSL è attivo sul server, ma alcuni contenuti vengono caricati via HTTP. Il certificato protegge la connessione tra browser e server, mentre i link HTTP interni alla pagina la aggirano. Il browser rileva la commistione di protocolli e avvisa l’utente. Le cause principali sono tre: vecchi link a immagini negli articoli (inseriti prima dell’installazione SSL), URL HTTP scritti direttamente nel tema o nei plugin e risorse esterne (Google Fonts, script CDN) caricate via
http://anzichéhttps://. Fai la diagnosi da DevTools → Console e segui i passaggi descritti in questo articolo.
Devo acquistare un certificato SSL o ne basta uno gratuito?
Per la grande maggioranza dei siti, un SSL gratuito di Let's Encrypt è più che sufficiente. È riconosciuto da tutti i browser e motori di ricerca. I certificati a pagamento (OV, EV) hanno senso per negozi online, banche e siti con moduli di pagamento: richiedono la verifica dell’azienda e mostrano il nome dell’organizzazione nella barra degli indirizzi. Per un blog, un portfolio o un sito aziendale, Let's Encrypt è lo standard. La maggior parte dei provider di hosting (Timeweb, Beget, Hostinger) lo rilascia in automatico quando crei un sito.
Si può correggere il mixed content senza plugin e senza modificare il codice?
Su alcuni provider di hosting, sì. Cloudflare include l’opzione Automatic HTTPS Rewrites nel piano gratuito: corregge al volo i link da HTTP a HTTPS per tutto il traffico che passa attraverso la CDN. Resta comunque un palliativo: il problema rimane a livello server e, disattivando Cloudflare, gli errori si ripresentano. È meglio eliminare la causa sostituendo i link HTTP nel database e impostando un redirect via
.htaccess. Così il sito sarà pulito indipendentemente da come viene distribuito il traffico.
SSL Insecure Content Fixer o Really Simple Security: quale scegliere?
Dipende dall’esigenza. Really Simple Security è una soluzione «attiva e dimentica»: adatta a un tipico sito WordPress senza integrazioni complesse. SSL Insecure Content Fixer è uno strumento con livelli graduali per una messa a punto precisa. Se dopo aver attivato Really Simple Security restano errori (capita con strutture tema non standard, endpoint personalizzati o plugin con chiamate HTTP dirette), passa a SSL Insecure Content Fixer e alza il livello di filtraggio. L’esperienza pratica dice: il primo plugin copre la maggior parte dei casi, il secondo gestisce quelli rimanenti.
È sicuro usare la modalità Capture All in SSL Insecure Content Fixer?
Capture All intercetta e riscrive ogni byte della pagina prima di inviarla al browser. È affidabile ma aumenta il carico sulla CPU. Su hosting deboli o siti ad alto traffico si può notare un ritardo nella risposta di 100-300 ms. I plugin di caching (WP Rocket) attenuano questo effetto: la pagina viene generata una volta e servita dalla cache. Prima di attivare Capture All, verifica che i livelli meno aggressivi non abbiano risolto il problema e fai un backup.
Risolto il mixed content, e adesso?
Un errore di mixed content non è una condanna. Dopo i due passaggi descritti in questo articolo, si risolve completamente e, di norma, non si ripresenta. L’importante non è zittire gli avvisi del browser, ma eliminare la causa: portare ogni risorsa su HTTPS.
Consolida il risultato: imposta un controllo automatico della scadenza SSL (UptimeRobot o il monitoraggio dell’hosting invia una notifica 30 giorni prima della scadenza del certificato) e prendi l’abitudine di inserire da subito i nuovi link con https://. Pochi minuti di prevenzione oggi fanno risparmiare ore di debug domani.



