{"id":25843,"date":"2026-07-22T10:00:00","date_gmt":"2026-07-22T08:00:00","guid":{"rendered":"https:\/\/soccorsowp.it\/blog\/?p=25843"},"modified":"2026-07-22T10:00:00","modified_gmt":"2026-07-22T08:00:00","slug":"risolvere-errori-mixed-content-wordpress-ssl","status":"publish","type":"post","link":"https:\/\/soccorsowp.it\/blog\/risolvere-errori-mixed-content-wordpress-ssl\/","title":{"rendered":"Come risolvere gli errori Mixed Content in WordPress dopo l&#8217;attivazione di SSL"},"content":{"rendered":"<h1>Come risolvere gli errori Mixed Content in WordPress dopo l&#8217;attivazione di SSL<\/h1>\n<p>Hai attivato il certificato SSL sul tuo sito <a href=\"https:\/\/soccorsowp.it\/blog\/blocco-di-contenuti-opt-in-per-wordpress\/\">WordPress<\/a>, ma il browser mostra un <strong>avviso di sicurezza<\/strong> o il lucchetto nella barra degli indirizzi non \u00e8 verde? Il problema \u00e8 quasi certamente il <strong>mixed content<\/strong>: la pagina viene caricata via HTTPS ma alcune risorse (immagini, script, fogli di stile) vengono ancora richiamate via HTTP. In questa guida ti spiego come individuare e correggere tutti gli errori mixed content.<\/p>\n<h2>Cos&#8217;\u00e8 il mixed content e perch\u00e9 \u00e8 un problema<\/h2>\n<p>Quando una pagina HTTPS carica risorse via HTTP, il browser considera la pagina <strong>non completamente sicura<\/strong>. Esistono due tipi di mixed content:<\/p>\n<ul>\n<li><strong>Mixed content passivo:<\/strong> riguarda risorse come immagini, video e audio. Il browser le carica ma mostra un avviso nella console. Il lucchetto potrebbe non apparire o apparire con un triangolo di avvertimento.<\/li>\n<li><strong>Mixed content attivo:<\/strong> riguarda script JavaScript, fogli di stile CSS, iframe e font. Il browser <strong>blocca<\/strong> queste risorse perch\u00e9 possono essere manipolate da un attaccante. Questo pu\u00f2 rompere funzionalit\u00e0 del sito.<\/li>\n<\/ul>\n<p>Oltre ai problemi di sicurezza, il mixed content influisce negativamente sul <strong>posizionamento <a href=\"https:\/\/soccorsowp.it\/blog\/couponxl-coupon-wordpress\/\">SEO<\/a><\/strong>: Google preferisce siti completamente HTTPS e penalizza quelli con contenuti misti.<\/p>\n<h2>Individuare gli errori mixed content<\/h2>\n<p>Per trovare tutte le risorse HTTP sulla tua pagina:<\/p>\n<p><strong>Metodo 1: Console del browser.<\/strong> Apri gli Strumenti per sviluppatori (F12) e vai nella scheda <strong>Console<\/strong>. Gli errori mixed content appaiono come avvisi gialli o errori rossi con il testo &#8220;Mixed Content&#8221;. Ogni avviso indica l&#8217;URL della risorsa problematica.<\/p>\n<p><strong>Metodo 2: Why No Padlock.<\/strong> Visita il sito <strong>whynopadlock.com<\/strong> e inserisci l&#8217;URL del tuo sito. Il servizio analizza la pagina e elenca tutte le risorse caricate via HTTP.<\/p>\n<p><strong>Metodo 3: Scansione completa del sito.<\/strong> Per controllare tutte le pagine e non solo la homepage, usa un plugin come <strong>SSL Insecure Content Fixer<\/strong> o lo strumento da riga di comando <span style=\"font-family: monospace\">ssl-check<\/span>. Questi strumenti scansionano ogni pagina del sito e identificano tutti gli URL HTTP.<\/p>\n<h2>Aggiornare gli URL nel database<\/h2>\n<p>La causa pi\u00f9 comune di mixed content \u00e8 che gli URL nel database di WordPress puntano ancora a <span style=\"font-family: monospace\">http:\/\/<\/span>. Quando hai installato WordPress senza SSL, tutti i link interni, le immagini nei contenuti e le impostazioni sono stati salvati con HTTP. Devi aggiornarli tutti a HTTPS.<\/p>\n<p>Il metodo pi\u00f9 sicuro \u00e8 usare <strong>WP-CLI<\/strong>:<\/p>\n<pre>wp search-replace 'http:\/\/tuodominio.com' 'https:\/\/tuodominio.com' --all-tables --dry-run<\/pre>\n<p>Il parametro <span style=\"font-family: monospace\">&#8211;dry-run<\/span> mostra quante sostituzioni verranno fatte senza modificare nulla. Se i numeri ti sembrano ragionevoli, esegui di nuovo senza <span style=\"font-family: monospace\">&#8211;dry-run<\/span>:<\/p>\n<pre>wp search-replace 'http:\/\/tuodominio.com' 'https:\/\/tuodominio.com' --all-tables<\/pre>\n<p>Se non hai accesso SSH, puoi usare il plugin <strong>Better Search Replace<\/strong>: cerca <span style=\"font-family: monospace\">http:\/\/tuodominio.com<\/span> e sostituisci con <span style=\"font-family: monospace\">https:\/\/tuodominio.com<\/span>. Seleziona tutte le tabelle e fai prima un test (dry run).<\/p>\n<h2>Risorse esterne caricate via HTTP<\/h2>\n<p>Dopo aver aggiornato il database, potresti avere ancora mixed content causato da <strong>risorse esterne<\/strong>:<\/p>\n<ul>\n<li><strong>Font da CDN:<\/strong> se carichi font da un CDN con URL http:\/\/, cambia il protocollo a https:\/\/ o usa URL protocol-relative (\/\/cdn.esempio.com\/font.woff).<\/li>\n<li><strong>Script di terze parti:<\/strong> widget, codici di tracciamento o embed che usano HTTP. Verifica che il servizio esterno supporti HTTPS e aggiorna gli URL.<\/li>\n<li><strong>Immagini esterne:<\/strong> se i tuoi articoli contengono immagini ospitate su altri siti via HTTP, dovrai scaricarle e caricarle nella tua libreria media, oppure verificare che il sito esterno supporti HTTPS.<\/li>\n<\/ul>\n<p>Per le risorse nel tema o nei plugin, controlla i file PHP e JavaScript cercando URL che iniziano con <span style=\"font-family: monospace\">http:\/\/<\/span>.<\/p>\n<h2>Usare un plugin per correggere automaticamente<\/h2>\n<p>Se hai molte risorse mixed content e vuoi una soluzione rapida, il plugin <strong>SSL Insecure Content Fixer<\/strong> pu\u00f2 correggere automaticamente gli URL al volo:<\/p>\n<ol>\n<li>Installa e attiva il plugin.<\/li>\n<li>Vai in <strong>Impostazioni \u2192 SSL Insecure Content<\/strong>.<\/li>\n<li>Scegli il livello di correzione: <strong>Simple<\/strong> corregge gli URL nel contenuto degli articoli e nei widget. <strong>Content<\/strong> \u00e8 pi\u00f9 aggressivo e corregge anche script e stili.<\/li>\n<\/ol>\n<p>Questo plugin \u00e8 utile come soluzione temporanea, ma la correzione definitiva \u00e8 aggiornare gli URL nel database e nei file del tema. Il plugin aggiunge un overhead a ogni caricamento di pagina perch\u00e9 deve elaborare tutti i contenuti.<\/p>\n<h2>Forzare HTTPS per tutte le risorse<\/h2>\n<p>Come misura aggiuntiva, aggiungi questo header CSP nel tuo file <span style=\"font-family: monospace\">.htaccess<\/span> o nella configurazione Nginx:<\/p>\n<pre>Content-Security-Policy: upgrade-insecure-requests<\/pre>\n<p>Questa direttiva dice al browser di caricare automaticamente via HTTPS tutte le risorse richieste via HTTP. Non \u00e8 una soluzione definitiva \u2014 \u00e8 meglio correggere gli URL alla fonte \u2014 ma \u00e8 un&#8217;ottima rete di sicurezza durante la transizione.<\/p>\n<h2>Controllare tema e plugin per URL hardcoded<\/h2>\n<p>Alcuni temi e plugin contengono URL <span style=\"font-family: monospace\">http:\/\/<\/span> scritti direttamente nel codice PHP, JavaScript o CSS. Queste risorse non vengono corrette aggiornando il database. Per trovarle:<\/p>\n<pre>grep -r \"http:\/\/\" wp-content\/themes\/tuo-tema\/ --include=\"*.php\" --include=\"*.js\" --include=\"*.css\"\ngrep -r \"http:\/\/\" wp-content\/plugins\/ --include=\"*.php\" --include=\"*.js\" --include=\"*.css\"<\/pre>\n<p>Se trovi URL hardcoded nei plugin, non modificarli direttamente: le modifiche verrebbero perse al prossimo aggiornamento. Segnala il problema allo sviluppatore del plugin. Per il tuo tema, specialmente se \u00e8 un tema child, puoi correggere gli URL direttamente nei file.<\/p>\n<p>Per le risorse caricate correttamente in WordPress tramite <span style=\"font-family: monospace\">wp_enqueue_style()<\/span> e <span style=\"font-family: monospace\">wp_enqueue_script()<\/span>, il protocollo viene impostato automaticamente in base alla configurazione del sito. Se hai aggiornato gli URL nelle impostazioni di WordPress a HTTPS, queste risorse useranno automaticamente il protocollo corretto.<\/p>\n<h2>Serve assistenza?<\/h2>\n<p>Se il tuo sito WordPress mostra errori mixed content dopo l&#8217;attivazione di SSL e non riesci a risolverli, il team di <strong><a href=\"https:\/\/soccorsowp.it\/blog\/i-migliori-plugin-woocommerce-per-dominare-il-black-friday\/\">SoccorsoWP<\/a><\/strong> pu\u00f2 correggere tutti gli URL e configurare SSL correttamente. <a href=\"https:\/\/soccorsowp.it\/ticket\/\">Apri un ticket<\/a> e ottieni il lucchetto verde.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Come risolvere gli errori Mixed Content in WordPress dopo l&#8217;attivazione di SSL Hai attivato il certificato SSL sul tuo sito WordPress, ma il browser mostra&#8230;<\/p>\n","protected":false},"author":1,"featured_media":25844,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_seopress_titles_title":"Come risolvere gli errori Mixed Content in WordPress dopo SSL","_seopress_titles_desc":"Il tuo sito WordPress mostra avvisi mixed content dopo SSL? Scopri come trovare e correggere tutte le risorse HTTP per ottenere il lucchetto verde.","_seopress_robots_index":"","_seopress_robots_follow":"","_seopress_robots_imageindex":"","_seopress_robots_snippet":"","_seopress_robots_primary_cat":"","_seopress_robots_breadcrumbs":"","_seopress_robots_freeze_modified_date":"","_seopress_robots_custom_modified_date":"","_seopress_robots_canonical":"","_seopress_social_fb_title":"","_seopress_social_fb_desc":"","_seopress_social_fb_img":"","_seopress_social_fb_img_attachment_id":0,"_seopress_social_fb_img_width":0,"_seopress_social_fb_img_height":0,"_seopress_social_twitter_title":"","_seopress_social_twitter_desc":"","_seopress_social_twitter_img":"","_seopress_social_twitter_img_attachment_id":0,"_seopress_social_twitter_img_width":0,"_seopress_social_twitter_img_height":0,"_seopress_redirections_value":"","_seopress_redirections_enabled":"","_seopress_redirections_enabled_regex":"","_seopress_redirections_logged_status":"","_seopress_redirections_param":"","_seopress_redirections_type":0,"_seopress_analysis_target_kw":"","footnotes":""},"categories":[1424],"tags":[],"class_list":["post-25843","post","type-post","status-publish","format-standard","has-post-thumbnail","category-bug-e-vulnerabilita"],"_links":{"self":[{"href":"https:\/\/soccorsowp.it\/blog\/wp-json\/wp\/v2\/posts\/25843","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/soccorsowp.it\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/soccorsowp.it\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/soccorsowp.it\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/soccorsowp.it\/blog\/wp-json\/wp\/v2\/comments?post=25843"}],"version-history":[{"count":0,"href":"https:\/\/soccorsowp.it\/blog\/wp-json\/wp\/v2\/posts\/25843\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/soccorsowp.it\/blog\/wp-json\/wp\/v2\/media\/25844"}],"wp:attachment":[{"href":"https:\/\/soccorsowp.it\/blog\/wp-json\/wp\/v2\/media?parent=25843"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/soccorsowp.it\/blog\/wp-json\/wp\/v2\/categories?post=25843"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/soccorsowp.it\/blog\/wp-json\/wp\/v2\/tags?post=25843"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}