Risposta rapida
Il controllo Mixed Content (contenuto misto) di il controllo rileva se una pagina servita in modalità sicura (HTTPS) richiede il caricamento di risorse interne o esterne tramite il protocollo non sicuro HTTP.
Cos'è
Il controllo è deterministico e mirato: lo scanner non si limita a cercare la stringa http:// ovunque nel testo, ma analizza i contesti reali di caricamento nel codice HTML (script, fogli di stile, immagini, iframe e altri). La presenza di contenuto misto può influire sulla sicurezza percepita della connessione, generare avvisi nei browser o causare il blocco di alcune risorse, ma è in genere risolvibile con interventi puntuali.
Come viene controllato
lo scanner analizza l'HTML della pagina scansionata per individuare le risorse HTTP effettivamente caricate o potenzialmente caricabili dal browser. Lo strumento isola i seguenti contesti:
script[src]— file JavaScript esternilink[href]— fogli di stile CSS o relazioni di precaricamentoimg[src]— immagini inserite nella paginaiframe[src]— finestre incorporate che caricano pagine o widget esternisource[src],video[src],audio[src]— file multimediali audio e videoobject[data],embed[src]— oggetti multimediali o plugin incorporatistyle[url()]— risorse (es. immagini di sfondo) richiamate all'interno di blocchi di stile CSS
Cosa NON viene segnalato
Per evitare falsi positivi, lo scanner esclude esplicitamente dall'analisi:
- semplici URL
http://presenti come testo leggibile nella pagina; - URL all'interno di commenti HTML o commenti CSS;
- link a licenze software, crediti dell'autore o riferimenti al tema;
- metadati testuali o namespace che non implicano il caricamento di un asset.
Il risultato del controllo mostra se il problema è presente, il conteggio delle risorse interessate, il tag e l'attributo HTML coinvolti, l'URL non sicuro, l'ambito (internal o external) e lo status code della pagina analizzata.
Perché è importante
Quando una pagina servita in HTTPS richiama elementi non cifrati, la coerenza della connessione sicura viene parzialmente compromessa.
- Blocco dei contenuti attivi: i browser moderni tendono a bloccare automaticamente le risorse "attive" (es. script, fogli di stile, iframe) caricate via HTTP, per proteggere l'utente da possibili manomissioni durante il transito.
- Rottura del layout o delle funzioni: se un file CSS o JavaScript viene bloccato, la pagina può apparire visivamente alterata o perdere funzionalità interattive.
- Segnalazioni nel browser: i contenuti "passivi" (es. immagini, video) possono essere caricati comunque, ma spesso comportano la modifica degli indicatori di sicurezza del browser o avvisi nella barra degli indirizzi, riducendo la percezione di affidabilità del sito.
La rilevazione di contenuto misto non significa che il sito sia compromesso o infetto: indica un'incoerenza strutturale che i browser gestiscono in modi differenti e talvolta penalizzanti.
Possibili risultati
L'esito del controllo può variare a seconda dello stato della pagina analizzata:
- Nessun mixed content rilevato: tutti i contesti analizzati usano correttamente HTTPS.
- Risorse HTTP trovate in una pagina HTTPS: vengono elencati i punti esatti del codice in cui sono presenti i puntamenti non sicuri.
- Solo risorse passive/media rilevate: segnalazione focalizzata su immagini o file audio/video.
- Risorse attive rilevate: segnale da verificare con priorità, perché evidenzia il rischio di blocco da parte dei browser per script o fogli di stile.
- Pagina non HTTPS: se la pagina principale è servita in HTTP, il controllo sul contenuto misto può non essere applicabile o avere valore puramente informativo, perché il mixed content presuppone una base di partenza in HTTPS.
Azione consigliata
La priorità di intervento dipende dalla natura e dalla provenienza delle risorse rilevate:
- Risorse attive (script, CSS, iframe, object/embed): priorità più alta. Sono gli elementi che i browser bloccano con più rigidità, compromettendo l'uso della pagina. Vanno corretti per primi.
- Immagini e contenuti media: priorità media. Spesso vengono caricati comunque, ma sono responsabili delle segnalazioni visive di sicurezza.
- Risorse esterne: da verificare con attenzione. Dipendono da domini terzi: prima di modificare l'URL conviene accertarsi che il fornitore esterno supporti HTTPS.
- Risorse interne: priorità standard. In genere più semplici da correggere, perché risiedono sullo stesso server o CMS.
- Nessun mixed content rilevato: buon segnale per la pagina analizzata. La pagina non mostra mixed content nei contesti analizzati.
Come risolvere
Per eliminare il contenuto misto si interviene sui file sorgente o sui sistemi di gestione dei contenuti, con un approccio metodico:
- Verificare la risorsa: prima di modificare l'URL, assicurarsi che la risorsa HTTP sia ancora necessaria e che sia effettivamente raggiungibile sostituendo manualmente il prefisso con
https://nel browser. - Aggiornare i puntamenti: sostituire esplicitamente
http://conhttps://nel codice o nel pannello di amministrazione. Evitare sostituzioni di massa automatiche e indiscriminate, perché alcuni servizi esterni molto vecchi potrebbero non disporre di un certificato valido e smettere di funzionare. - Correggere i file di codice: aggiornare i link scritti a mano in template, fogli di stile CSS, script JavaScript o configurazioni dei plugin.
- Rimuovere l'obsoleto: se una risorsa HTTP esterna non supporta HTTPS o non è più disponibile, valutarne la rimozione o la sostituzione con un'alternativa moderna.
- Svuotare la cache: dopo le modifiche, ripulire la cache del CMS, del server e di eventuali CDN, per forzare la distribuzione dell'HTML aggiornato.
- Rieseguire la scansione: effettuare un nuovo controllo con lo scanner per confermare la risoluzione.
WordPress
Nelle installazioni WordPress, il contenuto misto può comparire dopo un passaggio da HTTP a HTTPS, oppure dopo modifiche a tema, plugin, CDN, embed o contenuti:
- immagini e allegati caricati in libreria multimediale in passato, i cui URL assoluti restano memorizzati con
http://nel database; - collegamenti statici inseriti in widget, opzioni del tema, fogli di stile personalizzati del Customizer o vecchi shortcode;
- puntamenti rigidi generati da Page Builder o plugin non aggiornati.
Azioni consigliate:
- verificare che in Impostazioni → Generale le voci Indirizzo WordPress (URL) e Indirizzo sito (URL) utilizzino correttamente il prefisso
https://; - usare strumenti dedicati di "Search & Replace" per correggere gli URL storici nel database, preservando l'integrità dei dati serializzati;
- eseguire un backup completo del database prima di qualsiasi modifica diretta;
- testare la stabilità di home page, moduli di contatto, carrello ed eventuali aree di checkout dopo la pulizia.
Siti statici
Nei siti statici o generati tramite framework (es. HTML, Astro), i riferimenti non sicuri risiedono direttamente nei file di sviluppo.
Azioni consigliate:
- eseguire una ricerca globale del pattern
http://nell'editor o nel repository di codice; - isolare e ignorare i link di testo o i commenti, concentrandosi sui tag di caricamento delle risorse (es.
<script src="...">,<img src="...">); - aggiornare i collegamenti verificati inserendo
https://; - eseguire una nuova build del progetto, fare il deploy sulla piattaforma di hosting e testare la pagina pubblicata.
Come appare nel report
Il report mostra l'esito della scansione in modo leggibile, separando i dati di riepilogo dal dettaglio tecnico.
Esempio senza mixed content rilevato
Mixed Content
Mixed content was not detected on the analyzed HTTPS page.
No HTTP resource URLs were detected in the parsed page HTML.
Review new templates, embeds, and stylesheets after content or theme updates.
{
"scanned_url": "https://example.com",
"final_url": "https://www.example.com/",
"mixed_content_found": false,
"count": 0,
"resources": [],
"status_code": 200
}
Esempio con mixed content rilevato
Mixed Content
The HTTPS page references resources loaded over HTTP.
Found 3 HTTP resource reference(s) in the parsed page HTML.
Active resources such as scripts, stylesheets, or iframes should be updated first.
script[src]→http://assets.example.com/app.js(external)link[href]→http://assets.example.com/style.css(external)style[url()]→http://cdn.example.com/background.jpg(external)
Nel dettaglio JSON del report, la struttura mappa ogni risorsa con i relativi attributi di contesto:
{
"scanned_url": "https://www.example.com/",
"final_url": "https://www.example.com/",
"mixed_content_found": true,
"count": 3,
"resources": [
{
"tag": "script",
"attribute": "src",
"url": "http://assets.example.com/app.js",
"scope": "external"
},
{
"tag": "link",
"attribute": "href",
"url": "http://assets.example.com/style.css",
"scope": "external"
},
{
"tag": "style",
"attribute": "url()",
"url": "http://cdn.example.com/background.jpg",
"scope": "external"
}
],
"status_code": 200
}
Cosa non viene verificato in questo controllo
Il modulo Mixed Content v1 è un analizzatore mirato della struttura HTML e non esegue le seguenti operazioni:
- non costituisce un audit completo dei protocolli TLS o della sicurezza del server;
- non verifica la corretta installazione o la data di scadenza del certificato del dominio principale;
- non analizza l'impatto sulle performance o la velocità di caricamento delle risorse;
- non applica correzioni automatiche, riscritture di codice o modifiche al database del sito;
- non garantisce l'assenza di contenuto misto sull'intero sito, perché la verifica è focalizzata sulla singola pagina o sul campione di pagine analizzato;
- non valuta i livelli di sicurezza interni o le configurazioni dei server di terze parti che ospitano le risorse esterne rilevate;
- non scarica né analizza in profondità il codice interno degli script esterni per cercare ulteriori chiamate dinamiche.
In sintesi
Il controllo Mixed Content dello scanner è una verifica di coerenza che aiuta a mantenere allineati i benefici del protocollo HTTPS con le risorse effettivamente caricate dalla pagina. Se vengono rilevate risorse HTTP, conviene dare priorità alla correzione dei contenuti attivi (script, CSS, iframe) e passare successivamente a immagini e media. Se il controllo non rileva anomalie, la pagina analizzata non mostra mixed content nei contesti analizzati: è comunque buona prassi ripetere il test dopo modifiche strutturali, aggiornamenti di tema o inserimento di nuovi widget esterni.