Come correggere gli errori di contenuto misto in WordPress
John Turner
John Turner
Hai installato un certificato SSL sul tuo sito WordPress, aspettandoti di vedere quel rassicurante lucchetto verde nella barra del browser.
Ma invece? Il tuo sito continua a mostrare "Non sicuro".
Il colpevole è quasi sempre un errore di contenuto misto.
Il tuo sito ora viene caricato tramite una connessione HTTPS sicura, ma in alcune parti delle tue pagine ci sono ancora risorse che cercano di caricarsi tramite il vecchio protocollo HTTP non sicuro. Il tuo browser lo considera un rischio per la sicurezza e visualizza un avviso.
In questo post ti illustrerò diversi metodi collaudati per individuare e correggere questi errori. Rendiamo il tuo sito completamente sicuro!
Ecco i punti salienti:
- Gli errori di contenuto misto si verificano quando il tuo sito HTTPS tenta di caricare risorse HTTP, attivando avvisi di sicurezza del browser.
- La causa principale sono i vecchi URL http:// nascosti nel database, nei file dei temi, nei widget o negli script di terze parti.
- Eseguire sempre un backup completo prima di apportare modifiche al database o ai file del sito.
- È possibile correggere questi errori con un plugin come Really Simple Security (soluzione rapida), aggiornando le impostazioni di WordPress, tramite una ricerca e sostituzione nel database o individuando gli URL hardcoded nei file.
- Prevenite problemi futuri utilizzando URL HTTPS coerenti, testando nuovi temi/plugin e scrivendo URL relativi nel vostro codice.
Indice dei contenuti
- Che cos'è un errore di contenuto misto?
- Cosa causa gli errori di contenuto misto?
- Come correggere gli errori di contenuto misto in WordPress
- Prima di iniziare: crea un backup completo del sito web
- Metodo 1: correggere gli errori di contenuto misto con un plugin
- Metodo 2: aggiornamento degli URL nelle impostazioni di WordPress
- Metodo 3: ricerca e sostituzione manuale degli URL nel database
- Metodo 4: Individuazione di URL hardcoded nei file dei temi/plugin
- Come prevenire gli errori di contenuto misto
- Domande frequenti (FAQ)
Che cos'è un errore di contenuto misto?
Un errore di contenuto misto si verifica quando la tua pagina web viene caricata tramite HTTPS, ma cerca anche di recuperare risorse (come immagini, script o fogli di stile) tramite una connessione HTTP non sicura. Il tuo browser rileva la discrepanza e la segnala come un problema di sicurezza.
I browser gestiscono i contenuti misti in due modi diversi, a seconda del tipo di risorsa che viene caricata.
I contenuti misti passivi includono elementi quali immagini, video e file audio. Questi non possono realmente modificare il comportamento della pagina, quindi i browser li caricano comunque. Tuttavia, nella barra degli indirizzi verrà comunque visualizzato un avviso di sicurezza.
Il contenuto misto attivo è il problema più grave. Questo include file JavaScript, fogli di stile e iframe, risorse che possono effettivamente alterare la tua pagina o rubare dati.
I browser spesso li bloccano, il che significa che alcune parti del tuo sito potrebbero non funzionare affatto. Il layout potrebbe non essere più corretto, i moduli potrebbero non essere più inviati o alcune funzionalità potrebbero semplicemente scomparire.
Il risultato? I tuoi visitatori vedono un sito danneggiato e non sicuro. Non proprio l'impressione che vorresti dare.
Cosa causa gli errori di contenuto misto?
La causa principale degli errori di contenuto misto è semplice: quando hai convertito il tuo sito in HTTPS, non tutti gli URL nel database e nei file di WordPress sono stati aggiornati.
Il tuo sito ora serve pagine tramite https://, ma nascosti da qualche parte nei tuoi contenuti o nel tuo codice ci sono ancora vecchi link http:// che puntano alle tue risorse.
Questi vecchi URL amano nascondersi in luoghi prevedibili:
- Nel contenuto dei tuoi post e delle tue pagine: forse due anni fa hai inserito un'immagine e WordPress l'ha salvata con un URL http://. Quel link è ancora presente nel tuo database.
- Codificato nei file del tema: alcuni temi hanno percorsi di immagini o riferimenti a fogli di stile scritti direttamente nei loro file PHP, CSS o JavaScript.
- Widget interni: i widget di testo sono noti per questo. Se hai aggiunto manualmente link HTML o immagini, potrebbero ancora utilizzare il vecchio protocollo.
- Script di terze parti: gli strumenti di incorporamento come reti pubblicitarie, codici di analisi o feed dei social media possono richiamare risorse HTTP anche quando il tuo sito è sicuro.
- Immagini di sfondo in CSS: un'immagine di sfondo definita in un foglio di stile con un URL http:// genererà l'errore, e non è sempre facile individuare dove si trova.
Non sempre è possibile individuare questi link semplicemente guardando il proprio sito. Potrebbe essere necessario scavare nel codice o utilizzare gli strumenti giusti per individuarli.
Come correggere gli errori di contenuto misto in WordPress
Ecco un breve riassunto dei metodi comprovati per eliminare gli errori di contenuto misto:
- Metodo 1: utilizzare un plugin come Really Simple Security per riscrivere automaticamente gli URL HTTP in HTTPS al volo (opzione più veloce)
- Metodo 2: aggiorna gli URL dell'indirizzo WordPress e dell'indirizzo del sito in Impostazioni » Generale per assicurarti che entrambi utilizzino HTTPS.
- Metodo 3: Esegui una ricerca e sostituzione nel database con Search & Replace Everything per correggere in modo permanente tutti gli URL HTTP nei tuoi contenuti.
- Metodo 4: individuare gli URL HTTP hardcoded nei file dei temi o dei plugin utilizzando gli strumenti di sviluppo del browser e sostituirli manualmente
Prima di iniziare: crea un backup completo del sito web
Stai per modificare il tuo database o i file che controllano il funzionamento del tuo sito. Se qualcosa va storto (e può succedere), devi avere un modo per annullare tutto all'istante.
Il backup è la tua via di fuga con un solo clic.
Consiglio sempre di utilizzare un plugin come Duplicator per creare un backup completo prima di modificare qualsiasi cosa. Questo plugin acquisisce sia i file che il database in un unico pacchetto, quindi se si verifica un problema, è possibile ripristinare il sito esattamente com'era.

Crea un nuovo backup e seleziona l'impostazione predefinita Sito completo. In questo modo tutti i file del sito e le tabelle del database verranno compilati in un unico file zip.

Sceglierei anche un luogo di archiviazione cloud (come Duplicator Cloud) dove conservare il backup. È possibile salvare il backup localmente, ma in caso di errore su larga scala si rischia di perdere questi dati.

Dopo aver creato una copia del tuo sito, Duplicator invierà i tuoi dati al cloud. Se dovessi aver bisogno di ripristinarli, utilizza il pulsante Ripristina con un clic.

Metodo 1: correggere gli errori di contenuto misto con un plugin
Se non ti senti a tuo agio nel modificare database o codice, un plugin offre il modo più veloce per ottenere un sito sicuro. Really Simple Security (precedentemente Really Simple SSL) è il plugin che la maggior parte delle persone sceglie per prima.

Il plugin non modifica effettivamente gli URL nel database. Intercetta invece le pagine prima che vengano inviate al browser e riscrive al volo tutti i link http:// in https://.
Installalo, attivalo e vai su Sicurezza » Impostazioni. Clicca sulla scheda SSL e attiva Mixed Content Fixer.

Gli avvisi relativi ai contenuti misti di solito scompaiono nel giro di pochi secondi.
Ma c'è un compromesso. Gli URL non sicuri sono ancora nel tuo database; li stai solo mascherando. Il plugin aggiunge anche un piccolo sovraccarico di elaborazione ogni volta che una pagina viene caricata.
Per molti siti, questo è perfettamente adeguato. Funziona, è semplice e richiede solo due minuti. Se desiderate una soluzione più permanente, continuate a leggere.
Metodo 2: aggiornamento degli URL nelle impostazioni di WordPress
Inizia da qui perché richiede meno di un minuto e risolve uno dei problemi di configurazione più comuni.
Andate su Impostazioni " Generali nella vostra dashboard di WordPress.
Controlla i campi Indirizzo WordPress (URL) e Indirizzo sito (URL). Entrambi dovrebbero iniziare con https://, non con http://.

Se non lo fanno, aggiorna i dati e clicca su Salva modifiche.
Ecco il problema: stai solo modificando il modo in cui WordPress fa riferimento a se stesso. Gli URL già incorporati nei tuoi post, nelle tue pagine o nei file del tema rimangono invariati.
Quindi, se dopo aver apportato questa modifica continui a visualizzare errori relativi a contenuti misti, dovrai passare al metodo successivo.
Metodo 3: ricerca e sostituzione manuale degli URL nel database
Quando è necessaria una soluzione permanente, non c'è niente di meglio di un aggiornamento adeguato del database. Sostituisce ogni riferimento http:// con https:// proprio dove risiedono i dati.
Ma c'è un avvertimento importante: non eseguire mai una semplice query SQL di ricerca e sostituzione direttamente sul database. WordPress memorizza alcuni dati in un formato serializzato e una ricerca e sostituzione di base lo danneggerebbe.
Hai bisogno di uno strumento che riconosca la serializzazione. Search & Replace Everything di WPCode è il mio plugin preferito per questo lavoro.

Vai a Frammenti di codice » Cerca e sostituisci.

Nel campo Cerca, inserisci il tuo vecchio URL: http://yourwebsite.com
Nel campo Sostituisci con, inserisci il tuo nuovo URL: https://yourwebsite.com
Seleziona tutte le tabelle per una scansione completa. Presta particolare attenzione a wp_posts e wp_postmeta, poiché solitamente contengono la maggior parte degli URL dei tuoi contenuti.
Esegui la sostituzione. La maggior parte dei problemi relativi ai contenuti misti scompare dopo questo aggiornamento del database, poiché hai corretto gli URL in cui si trovano effettivamente.
Metodo 4: Individuazione di URL hardcoded nei file dei temi/plugin
A volte, anche dopo aver corretto il database, continuerai a vedere errori di contenuto misto. Ciò significa che il problema è codificato direttamente in un file del tema o del plugin.
Il modo migliore per individuarli è utilizzare gli Strumenti di sviluppo del browser.
Clicca con il tasto destro del mouse in un punto qualsiasi del tuo sito e seleziona Ispeziona (oppure premi F12). Quindi clicca sulla scheda Console. Se sono presenti errori relativi a contenuti misti, questi verranno elencati proprio lì, solitamente con il percorso esatto del file che causa il problema.
Una volta identificato il file, è necessario modificarlo. Utilizza un client FTP o il File Manager del pannello di controllo del tuo hosting per individuare il file. Aprilo, cerca l'URL http:// e sostituiscilo con https://.
Meglio ancora, usa un URL relativo come /wp-content/themes/yourtheme/style.css invece di un URL assoluto. I percorsi relativi utilizzano automaticamente il protocollo della pagina, quindi non dovrai più affrontare questo problema.
Come prevenire gli errori di contenuto misto
Una volta risolto il problema, non vorrai certo che si ripresenti. Alcune semplici abitudini ti consentiranno di mantenere il tuo sito sicuro anche in futuro.
- Sii coerente con i tuoi URL.
Ogni volta che aggiungi nuove immagini, incorpori contenuti multimediali o inserisci link a pagine interne, assicurati di utilizzare https://. Sembra ovvio, ma è facile commettere errori quando si copiano e incollano link o si lavora velocemente.
- Prova i nuovi plugin e temi prima di pubblicarli.
Se disponi di un sito di staging, utilizzalo. Installa prima il nuovo plugin o tema, quindi apri la console del browser e verifica la presenza di avvisi relativi a contenuti misti. Individuare i problemi prima che colpiscano il tuo sito live ti risparmierà molti grattacapi.
- Scrivi URL relativi nei file del tuo tema.
Quando personalizzi un tema o aggiungi codice personalizzato, evita di inserire URL completi come https://yoursite.com/wp-content/image.jpg. Utilizza invece percorsi relativi come /wp-content/image.jpg.
Il browser utilizzerà automaticamente il protocollo della pagina, quindi non dovrai più aggiornare questi link.
- Configurare una politica di sicurezza dei contenuti.
Se avete dimestichezza con configurazioni più avanzate, un'intestazione CSP può fungere da rete di sicurezza. È possibile configurarla in modo che aggiorni automaticamente le richieste non sicure a HTTPS, così anche se dovesse sfuggire un vecchio link HTTP, il browser lo caricherà comunque in modo sicuro.
Domande frequenti (FAQ)
Come posso risolvere i problemi relativi al protocollo SSL in WordPress?
Il problema SSL più comune è un errore di contenuto misto. Risolvilo assicurandoti che tutte le risorse del tuo sito vengano caricate tramite HTTPS, utilizzando un plugin come Really Simple Security o eseguendo una ricerca e sostituzione nel database.
Perché il mio CSS personalizzato non viene caricato in WordPress?
Probabilmente il tuo browser sta bloccando il foglio di stile perché viene richiamato tramite HTTP su una pagina HTTPS. Apri la console di sviluppo del browser per verificare, quindi aggiorna l'URL del foglio di stile per utilizzare HTTPS.
Che cos'è un errore di contenuto misto in Apache?
L'errore non è effettivamente in Apache, ma viene segnalato dal browser dell'utente. Apache si limita a fornire i file, ma il problema risiede nel database WordPress o nei file del tema, dove sono ancora presenti i vecchi URL HTTP.
Qual è il miglior strumento per verificare i contenuti misti SSL?
Gli strumenti di sviluppo integrati nel browser (scheda Console) sono l'opzione più accurata perché mostrano esattamente quali risorse causano il problema. Per una rapida panoramica, è anche possibile utilizzare uno strumento online come Why No Padlock.
Goditi il tuo sito WordPress sicuro
Quel lucchetto verde non è solo una questione estetica. Indica ai tuoi visitatori che la loro connessione è sicura e che prendi sul serio la loro sicurezza.
Il problema principale degli errori di contenuto misto è sempre lo stesso: vecchi URL http:// nascosti nel database o nei file. Una volta individuati e aggiornati, il problema è risolto definitivamente.
Che tu abbia optato per una rapida correzione tramite plugin o per una sostituzione completa del database, il tuo sito dovrebbe ora caricarsi completamente tramite HTTPS senza alcun avviso di sicurezza.
Ecco il mio ultimo consiglio: prima di eseguire qualsiasi operazione tecnica di questo tipo (soprattutto se comporta l'accesso al database), assicurati di disporre di un backup affidabile.
Duplicator Pro ti consente di creare un backup completo del sito in pochi minuti. Se qualcosa va storto durante la risoluzione dei problemi, basta un clic per eseguire un ripristino completo.
L'ho usato innumerevoli volte quando lavoravo sui siti dei clienti. Sai che puoi sempre tornare indietro se qualcosa non va come previsto.
Ora goditi il tuo sito sicuro. Ti sei guadagnato quel lucchetto!
Mentre siete qui, penso che vi piaceranno queste altre risorse WordPress selezionate a mano:
- Come ripulire un sito WordPress
- Come riparare i link non funzionanti dopo una migrazione
- Come correggere le catene di reindirizzamenti che stanno segretamente uccidendo la vostra SEO
- Il vostro sito WordPress potrebbe scomparire domani (a meno che non facciate questo)
- Padroneggiare il debug di WordPress: Dalle basi alle tecniche avanzate
- Come risolvere il problema del mancato funzionamento del sito WordPress dopo una migrazione