Chi Siamo Area Clienti Promo del Mese Dicono di Noi Portfolio FAQ Blog
Senza categoria

Mixed Content WordPress: Trovare e Risolvere con Really Simple SSL

Gianluca Gentile
Gianluca Gentile
· 10 min di lettura

Mixed Content WordPress: Trovare e Risolvere con Really Simple SSL

Il mixed content è uno dei problemi più comuni e frustranti che si incontrano dopo la migrazione a HTTPS di un sito WordPress. Anche con il certificato SSL attivo e il redirect configurato, basta una singola immagine o uno script caricato via HTTP per far scomparire il lucchetto dalla barra degli indirizzi. In questa guida vedremo cos’è il mixed content, come individuarlo e come Really Simple SSL lo risolve automaticamente.

Cos’è il Mixed Content

Il mixed content (contenuto misto) si verifica quando una pagina servita via HTTPS carica risorse tramite connessioni HTTP non crittografate. Il browser considera questa situazione un rischio per la sicurezza, perché le risorse HTTP potrebbero essere intercettate o manipolate da un attaccante, compromettendo la sicurezza dell’intera pagina.

Esistono due tipi di mixed content:

Mixed content attivo (Active Mixed Content): riguarda risorse che possono modificare il DOM della pagina o eseguire codice — script JavaScript, fogli di stile CSS, iframe, font e richieste XMLHttpRequest/Fetch. Questo tipo è il più pericoloso perché un attaccante potrebbe iniettare codice malevolo attraverso queste risorse. I browser moderni bloccano completamente il mixed content attivo, causando errori di funzionalità.

Mixed content passivo (Passive Mixed Content): riguarda risorse che non possono modificare la pagina — principalmente immagini, audio e video. Anche se meno pericoloso, il browser mostra un avviso e rimuove il lucchetto dalla barra degli indirizzi. Dal 2020, Chrome ha iniziato a bloccare anche alcune forme di mixed content passivo, effettuando l’upgrade automatico a HTTPS quando possibile.

Perché il Mixed Content è un Problema su WordPress

WordPress memorizza gli URL nel database — nelle opzioni del sito, nei contenuti dei post e delle pagine, nei widget, nei menu e nei dati dei plugin. Quando migri da HTTP a HTTPS, tutti questi URL restano con il prefisso http://. Senza un intervento, ogni immagine inserita nei post, ogni link interno e ogni risorsa con URL assoluto continuerà a essere richiesta via HTTP.

Inoltre, molti temi e plugin hanno URL hardcoded nei loro file PHP, CSS e JavaScript. Anche se aggiorni il database, queste risorse continueranno a essere caricate via HTTP.

Le fonti più comuni di mixed content su WordPress sono:

Mixed content scan nella dashboard Really Simple SSL

Come Really Simple SSL Risolve il Mixed Content

Really Simple SSL affronta il problema del mixed content con un approccio a due livelli:

Livello 1 — Mixed Content Fixer (runtime): questo sistema opera al volo, intercettando l’output HTML di WordPress prima che venga inviato al browser. Attraverso un output buffer, il plugin esamina tutto l’HTML e sostituisce i riferimenti http:// con https:// per le risorse del tuo dominio. Questo approccio è immediato e non richiede modifiche al database, ma ha un leggero impatto sulle prestazioni perché il processamento avviene ad ogni richiesta.

Livello 2 — Database replacement (una tantum): Really Simple SSL Pro offre uno strumento per sostituire permanentemente gli URL http:// con https:// nel database. Questa è la soluzione definitiva perché elimina il mixed content alla fonte, rendendo il Mixed Content Fixer non più necessario (o utile solo come rete di sicurezza per risorse esterne).

Come Trovare il Mixed Content sul Tuo Sito

Prima di poter risolvere il mixed content, devi trovarlo. Ecco gli strumenti più efficaci:

Console del browser (Strumenti per sviluppatori): apri la tab Console premendo F12. Gli errori di mixed content appaiono come avvisi gialli (per il mixed content passivo) o errori rossi (per il mixed content attivo). Ogni messaggio indica esattamente quale risorsa sta causando il problema e su quale pagina.

Really Simple SSL Scan: il plugin offre un tool di scansione integrato che analizza le pagine del tuo sito cercando risorse caricate via HTTP. Questo è molto più comodo che visitare manualmente ogni pagina con la console aperta.

Why No Padlock: il servizio whynopadlock.com analizza una pagina specifica e elenca tutte le risorse HTTP trovate, indicando tipo, URL e posizione nel codice sorgente.

Chrome DevTools → Security Tab: la tab Security negli Strumenti per sviluppatori di Chrome mostra una panoramica dello stato SSL della pagina e elenca le risorse mixed content.

Lighthouse: il tool Lighthouse integrato in Chrome include un controllo per il mixed content nel suo audit di sicurezza.

Risolvere il Mixed Content Caso per Caso

Vediamo le soluzioni specifiche per le fonti più comuni di mixed content:

Immagini nel database: utilizza il tool di database replacement di Really Simple SSL Pro oppure il plugin Better Search Replace per sostituire http://tuodominio.it con https://tuodominio.it in tutte le tabelle del database. Esegui sempre un dry run prima della sostituzione effettiva.

Risorse del tema: controlla i file del tema per URL http:// hardcoded. Le funzioni WordPress come get_template_directory_uri() e get_stylesheet_directory_uri() rispettano automaticamente le impostazioni del sito, quindi restituiranno URL https:// se il sito è configurato correttamente. I problemi sorgono quando gli sviluppatori usano URL assoluti invece delle funzioni WordPress.

Google Fonts: le versioni precedenti dei temi WordPress caricavano Google Fonts da http://fonts.googleapis.com. La soluzione è sostituire con https://fonts.googleapis.com o, meglio ancora, utilizzare URL protocol-relative (//fonts.googleapis.com) o ospitare i font localmente.

Risoluzione mixed content con plugin WordPress

Embed e iframe: video YouTube, mappe Google Maps, widget social — tutti questi embed possono causare mixed content se il codice di incorporamento usa http://. Le versioni moderne di questi servizi usano https://, ma embed vecchi nei tuoi contenuti potrebbero ancora avere URL HTTP.

Risorse da CDN esterni: se il tuo sito carica librerie JavaScript o CSS da CDN come cdnjs.cloudflare.com o maxcdn.bootstrapcdn.com, verifica che gli URL utilizzino https://. La maggior parte dei CDN supporta HTTPS, ma il codice del tuo tema o plugin potrebbe riferirsi alla versione HTTP.

CSS di Elementor e page builder: page builder come Elementor memorizzano URL di immagini nei dati serializzati nel database (nella tabella postmeta). La sostituzione nel database con Better Search Replace funziona anche per questi dati serializzati, purché si usi un tool che gestisce correttamente la serializzazione PHP.

Mixed Content da Risorse Esterne

Alcuni casi di mixed content sono causati da risorse esterne che non supportano HTTPS. Ad esempio, un widget di un servizio che serve le sue risorse solo via HTTP, o un’immagine hotlinkata da un sito esterno senza certificato SSL.

In questi casi, le opzioni sono:

Il Mixed Content Fixer di Really Simple SSL: Come Funziona Internamente

Il Mixed Content Fixer di Really Simple SSL opera tramite un output buffer PHP. Quando WordPress genera una pagina, l’HTML completo viene temporaneamente memorizzato in un buffer prima di essere inviato al browser. Really Simple SSL intercetta questo buffer e esegue una serie di sostituzioni:

  1. Identifica tutti gli URL http:// nel codice HTML
  2. Verifica se l’URL corrisponde al dominio del sito o a domini noti che supportano HTTPS
  3. Sostituisce http:// con https:// per gli URL verificati
  4. Rilascia l’HTML modificato al browser

Il fixer gestisce anche casi complessi come URL in attributi srcset (per immagini responsive), URL nei tag <style> inline e URL nelle proprietà CSS come background-image.

Tuttavia, il fixer ha dei limiti: non può correggere URL caricati dinamicamente da JavaScript dopo il caricamento della pagina, URL in file CSS/JS esterni, o URL in risorse caricate tramite Service Worker.

Stato della sicurezza SSL e mixed content su WordPress

Mixed Content e Cache

Se utilizzi un plugin di caching (WP Rocket, W3 Total Cache, LiteSpeed Cache, WP Super Cache), è importante capire come interagisce con il Mixed Content Fixer:

I plugin di cache salvano l’HTML generato da WordPress in file statici. Se il Mixed Content Fixer di Really Simple SSL opera prima della cache, gli URL sostituiti vengono memorizzati nella cache e serviti direttamente — nessun problema. Ma se il fixer opera dopo la cache (o se la cache viene generata senza il fixer), i file cached potrebbero contenere URL HTTP.

La soluzione è svuotare la cache dopo aver attivato Really Simple SSL e dopo qualsiasi modifica alla configurazione SSL. La maggior parte dei plugin di cache si integra correttamente con Really Simple SSL, ma è sempre buona pratica fare un purge completo dopo la migrazione.

Mixed Content e CDN

Se utilizzi un CDN come Cloudflare, StackPath o KeyCDN, le risorse servite dal CDN devono anch’esse utilizzare HTTPS. La maggior parte dei CDN moderni supporta HTTPS per impostazione predefinita, ma verifica che:

Prevenire il Mixed Content Futuro

Dopo aver risolto il mixed content esistente, è importante prevenire che si ripresenti:

Conclusioni

Il mixed content è un problema che può sembrare banale ma ha implicazioni serie per la sicurezza e la credibilità del tuo sito WordPress. Really Simple SSL offre strumenti efficaci per individuarlo e risolverlo, sia al volo con il Mixed Content Fixer sia permanentemente con la sostituzione nel database. La chiave è un approccio sistematico: scansiona, correggi, verifica e previeni.

Se il tuo sito WordPress mostra ancora avvisi di mixed content nonostante i tuoi tentativi di risoluzione, contatta G Tech Group per un’analisi approfondita. Il nostro team identificherà e risolverà ogni fonte di mixed content, garantendo il lucchetto verde su tutte le pagine.

Leggi anche gli altri articoli della serie Really Simple SSL

Previeni i problemi di mixed content alla radice con un hosting WordPress professionale che configura correttamente SSL fin dall’inizio, inclusi certificati validi per tutti i sottodomini e configurazione HTTPS predefinita per tutte le risorse.

Migliora il Tuo Sito WordPress

Scopri le nostre guide complete sugli altri plugin essenziali per WordPress:

#Errori #HTTPS #Mixed Content #Really Simple SSL #Wordpress