Vai al contenuto
Indice
Siti web

Correzione degli avvisi di contenuto misto dopo l'attivazione di HTTPS

Traduzione automatica. L'originale in inglese è disponibile.

Che cos'è il contenuto misto

Un browser tratta una pagina come sicura solo se la pagina e tutto ciò che carica provengono da HTTPS. Se una pagina HTTPS recupera un'immagine, script, foglio di stile, font o iframe da un indirizzo http://, il browser lo segnala.

I browser dividono questo in due categorie e si comportano in modo molto diverso:

  • Contenuto misto attivo: script, fogli di stile, iframe e XHR. I browser li bloccano completamente. I layout crollano, i cursori si fermano, i moduli smettono di inviare. Questo è il tipo distruttivo.
  • Contenuto misto passivo: immagini, audio e video. Di solito caricano ancora, ma il lucchetto viene declassato o rimosso.

Un sito può quindi apparire completamente fine e comunque perdere il suo lucchetto, oppure apparire danneggiato senza un errore ovvio nella pagina stessa.

Perché accade dopo l'abilitazione di SSL

L'attivazione di SSL cambia il modo in cui il sito viene servito. Non cambia ciò che è memorizzato al suo interno.

WordPress scrive URL assoluti nel database, quindi un sito eseguito su HTTP per un certo periodo ha indirizzi http:// salvati in:

  • Contenuto di articoli e pagine, inclusa ogni immagine inserita tramite l'editor.
  • Record di allegati multimediali.
  • Impostazioni del tema personalizzato e opzioni tema.
  • Contenuto dei widget e impostazioni dei blocchi.
  • Impostazioni dei plugin, in particolare page builder e plugin slider.
  • Le opzioni siteurl e home.

Nessuno di questi si aggiorna automaticamente. Abilitare SSL e poi chiedersi perché il lucchetto è rotto è una delle domande di supporto più comuni, ed è per questo.

Passaggio 1: Forza HTTPS al server

Prima di toccare il database, assicurati che ogni visitatore arrivi su HTTPS in primo luogo.

  1. Accedi a KPanel e fai clic su Websites nella barra laterale sinistra.
  2. Fai clic sul tuo sito.
  3. Apri Settings.
  4. Sotto Behavior, attiva Forza HTTPS.
  5. Fai clic su Salva modifiche.

L'impostazione Forza HTTPS sotto Behavior sulla pagina Impostazioni per un sito in KPanel

Ogni richiesta HTTP viene ora reindirizzata a HTTPS al server, prima che il tuo sito sia eseguito.

Forza HTTPS gestisce le richieste in arrivo. Non riscrive gli URL già archiviati nel database, quindi da solo non cancellerà un avviso di contenuto misto causato da un'immagine http:// hardcoded. Hai bisogno sia di questo che del Passaggio 2.

Se SSL non è ancora attivo o il certificato appare errato, inizia con SSL Certificates.

Passaggio 2: Riscrivi gli URL archiviati

Questa è la correzione che risolve effettivamente il contenuto misto.

  1. Apri il sito, poi la scheda WordPress, poi la sezione Azioni rapide.
  2. Trova la scheda Cerca e sostituisci e fai clic su Configure.
  3. In Trova (valore precedente) inserisci http://yourdomain.co.nz.
  4. In Sostituisci con inserisci https://yourdomain.co.nz.
  5. Lascia Prova (anteprima solo, nessuna modifica) spuntato e fai clic su Preview.
  6. Rivedi il conteggio e la suddivisione per tabella.
  7. Deseleziona Prova, fai clic su Run e conferma.

Un backup completo viene eseguito automaticamente prima della sostituzione e ogni tabella è coperta, incluse quelle create da plugin. Le impostazioni dei plugin serializzate sono gestite correttamente.

Non fare questo con una query SQL in phpMyAdmin. WordPress archivia le impostazioni dei plugin e del tema come stringhe serializzate che registrano la lunghezza di ogni valore, quindi una REPLACE() grezza le rompe e le impostazioni vengono silenziosamente ripristinate a vuote. Non c'è riparazione al di fuori del ripristino di un backup. La spiegazione completa è in Running a Search and Replace.

Se il tuo piano include la console, il comando equivalente è:

search-replace 'http://yourdomain.co.nz' 'https://yourdomain.co.nz' --all-tables --dry-run

Rimuovi --dry-run per applicarlo e fai tu stesso un backup prima: la console non lo fa.

Passaggio 3: Svuota ogni cache

Una copia memorizzata nella cache di una pagina continuerà a servire i vecchi URL HTTP molto tempo dopo che il database è stato riparato, motivo per cui spesso le persone pensano che la sostituzione non abbia funzionato.

  1. WordPress, poi Azioni rapide, poi Svuota cache.
  2. WordPress, poi Caching, poi Svuota la cache, se la cache della pagina intera è attiva.
  3. Performance, poi Kapsule CDN, poi Purge, se la CDN è attiva. Vedi Purging the CDN Cache.
  4. Qualsiasi plugin di caching, dalla sua schermata di impostazioni.
  5. Il tuo browser. Prova in una finestra privata in modo da non essere ingannato dalla tua stessa cache.

Passaggio 4: Trova quello che rimane

La maggior parte dei siti è pulita dopo il Passaggio 2. Quando un avviso sopravvive, trova la risorsa esatta piuttosto che indovinare.

Console del browser. Apri gli strumenti per sviluppatori con F12, vai alla scheda Console e ricarica. Il contenuto misto appare come un avviso esplicito che nomina l'URL completo della risorsa offensiva. Quell'URL ti dice quale plugin o tema è responsabile.

Scheda Rete. Filtra per http:// per elencare ogni richiesta non sicura che la pagina ha effettuato.

Sorgente della pagina. Carica la pagina, visualizza la sorgente e cerca http://. Ignora tutto dentro gli attributi xmlns e le dichiarazioni dello schema: questi sono identificatori, non richieste.

Sopravviventi comuni e cosa fare con ognuno:

Quello che troviCorrezione
Un'immagine o un logo in un'impostazione del tema personalizzatoCarica di nuovo o riscegliela nel personalizzatore
Un modulo page builder con un URL immagine http:// digitatoModifica quel modulo e correggi l'URL
Tabella di impostazioni propria di un plugin sliderRisalva lo slider oppure esegui la ricerca e la sostituzione con --all-tables
Un font o script da un dominio di terze partiVerifica se il provider offre HTTPS. La maggior parte lo fa adesso. Cambia l'URL
Un pixel di tracciamento o un embed da un vecchio fornitoreSe il fornitore non ha HTTPS, rimuovilo. È una dipendenza danneggiata, non un problema KapsuleHost
http:// hardcoded in un file di modello del temaModifica il modello, oppure meglio, usa https o un riferimento relativo al protocollo

Se è interessata esattamente una pagina e il resto del sito è pulito, il colpevole è il contenuto su quella pagina, non un'impostazione a livello di sito. Aprila nell'editor e guarda il media che contiene.

Confermare che sia risolto

  1. Carica il sito in una finestra privata.
  2. Il lucchetto dovrebbe essere solido, senza triangolo di avvertimento e senza indicazione cancellata.
  3. Fai clic sul lucchetto. Il browser segnala la connessione come sicura senza avviso di contenuto misto.
  4. Apri la console e ricarica ancora una volta. Zero avvisi di contenuto misto.
  5. Controlla una pagina profonda, non solo la home page: una pagina interna, un articolo di blog con immagini e il checkout su un negozio.

Prevenire il ritorno

  • Lascia Forza HTTPS attiva. È un'impostazione di una riga che rimuove un'intera classe di problemi.
  • Non digitare mai un URL completo http:// nel contenuto. Usa la libreria multimediale, che ora archivia indirizzi HTTPS.
  • Controlla le impostazioni dei plugin dopo l'installazione di qualsiasi cosa che chieda un URL.
  • Osserva un avviso di ritorno dopo un aggiornamento del plugin. Alcuni plugin ripristinano i loro URL archiviati.
  • Riesegui la ricerca e la sostituzione dopo qualsiasi migrazione, poiché un database importato porta con sé gli URL dell'host precedente: Migrating a Website From cPanel.

Risoluzione dei problemi

Il lucchetto va bene per me, rotto per un collega. Pagina memorizzata nella cache. Fagli ricaricare in una finestra privata.

Il sito si è rotto completamente dopo la sostituzione. Ripristina il backup di pre-esecuzione automatico: Restoring From a Backup.

La console mostra un avviso di contenuto misto su un dominio che non è il mio. Una risorsa di terze parti. Non puoi riparare il loro server: o supportano HTTPS e cambi l'URL, o rilasci la risorsa.

Tutto è HTTPS ma il sito non si carica affatto. Non è contenuto misto. Inizia con Website Not Loading e controlla il certificato su SSL Certificates.

Se hai affrontato tutto questo e l'avviso persiste, invia un'email a support@kapsulehost.com con l'URL interessato e il testo esatto dell'avviso della console del browser.

Ti è stato utile?

È un'IA? Legga questa pagina in Markdown

Articoli correlati

Connessione tramite SFTP: FileZilla, Cyberduck e riga di comandoSFTP (Secure File Transfer Protocol) ti offre accesso diretto ai file del tuo sito sul server. Questa guida copre tutto ciò che ti serve per collegarti con…Certificati SSL e HTTPSQuesto articolo spiega cosa sia SSL in parole semplici, come KapsuleHost gestisca automaticamente SSL per i tuoi siti e cosa fare se qualcosa va storto con il…Siti web: da dove iniziareCome funziona l'hosting di siti web presso KapsuleHost, cosa si trova in ciascuna scheda di un sito e quale guida leggere per il compito che hai davanti.…Monitoraggio del Tempo di Attività del SitoOgni sito su KapsuleHost viene controllato automaticamente ogni 60 secondi, e la scheda Uptime mostra il risultato: stato attuale, percentuale di uptime, tempi…

Hai ancora bisogno di aiuto?

Chiedi a Kora, che conosce il tuo account, o contatta il nostro team.

ContattaciContatta il supporto