La guida completa per la migrazione HTTPS del tuo CMS


Postato in data febbraio 24th, da Davide Galasso in Blog. 37 comments

Le ultime notizie sono chiare: passare da HTTP a HTTPS è indispensabile. Per tutti? No, solo per chi usa il sito web per recuperare dati sensibili. Sai cosa significa questo? Ad esempio un ecommerce che chiede la carta di credito, a chi vuole acquistare online, deve avere un protocollo capace di tutelare le informazioni.
La guida completa per la migrazione HTTPS del tuo CMS
Google ha più volte sottolineato l’importanza del protocollo SSL/TLS per un web più sicuro. Fino a portare l’HTTPS a uno stato d’eccellenza: questo fattore può essere un elemento di ranking. Se devo offrire il miglior risultato possibile ai lettori, devo anche essere sicuro dell’esperienza utente. Ovvero del processo che porta verso la fase di conversione.

Prenotazioni, acquisti, download: i dati sensibili devono essere protetti. Ecco perché Chrome 56 mostra l’etichetta “Non Sicuro” per i siti web che non hanno un protocollo capace di preservare questi passaggi. Ti ho spiegato perché è importante avere un certificato SSL, ora dobbiamo migrare da HTTP a HTTPS in maniera semplice e veloce.

Come funzionano i certificati HTTPS

L’HTTPS è l’acronimo di HyperText Transfer Protocol over Secure Socket Layer. In pratica rappresenta la comunicazione attraverso il protocollo HTTP con una connessione criptata dal Secure Sockets Layer (SSL) o dal successore Transport Layer Security (TLS).

I certificati che ti consentono di ottenere un buon livello di sicurezza lavorano sull’identificazione del sito, sulla privacy e sull’integrità dei dati trasmessi. Questi passaggi sono utili, anzi: sono fondamentali perché devi garantire qualità ai tuoi clienti. E la devi far percepire. Quando fai un acquisto online a cosa pensi se trovi l’etichetta che sottolinea la non sicurezza di un sito web? Abbandoni il carrello e passi a un altro fornitore, meglio evitare problemi. Per questo abbiamo previsto una serie completa di certificati SSL.

Ma esiste un certificato SSL gratuito? Let’s Encrypt offre questa possibilità e garantisce una protezione al tuo lavoro. Una protezione minima: a costo zero puoi coprire solo la proprietà del dominio. Se vuoi il massimo devi scegliere un certificato adeguato. Lo hai già fatto ma non sai come effettuare la migrazione da HTTP a HTTPS?

Passare da HTTP a HTTPS su WordPress

Questo è il nodo per la maggior parte dei webmaster: migrare da HTTP a HTTPS con WordPress, il CMS più famoso del web. In questa circostanza la piattaforma può aiutarti, ma hai bisogno di indicazioni chiare per muoverti nel miglior modo possibile. Senza intoppi e problemi. La procedura di base è semplice, ecco quali sono i punti da rispettare:

  • Acquistare un certificato SSL/TLS per il proprio dominio.
  • Fare un redirect da HTTP a HTTPS di tutte le pagine.
  • Verificare la riuscita dell’operazione anche da Search Console.
  • Aggiornare la sitemap del blog o del sito web.

Inizia a cambiare le impostazioni di WordPress. Per prima cosa devi accedere al backend e andare in Impostazioni » Generali e qui trovi le voci: indirizzo WordPress (URL) e indirizzo sito (URL). Cosa fare? Devi modificare l’URL in HTTPS, proprio come nell’immagine.

Passare da HTTP a HTTPS su WordPress

Cambia URL sul blog WordPress.

Questo passaggio, ovviamente, deve essere svolto nel momento in cui hai già acquistato il certificato. Una volta fatto questo devi salvare e aggiungere la regola per il redirect nel file .htaccessIl secondo step consiste nel creare la regola per il reindirizzamento 301 direttamente in cima al file .htaccess (le regole già presenti non vanno sovrascritte):

<IfModule mod_rewrite.c>
 RewriteEngine On
 RewriteCond %{SERVER_PORT} 80
 RewriteRule ^(.*)$ https://blog.ilmioblog.com/$1 [R,L]
 </IfModule>

Ovviamente devi sostituire blog.ilmioblog.com con l’indirizzo del tuo sito. Visto che sei ancora collegato all’FTP o al file manager del cPanel, ti consiglio portare sull’HTTPS anche il backend di WordPress. Apri il file wp-config.php e aggiungi questa riga prima della dichiarazione del nome del database: define(‘FORCE_SSL_ADMIN’, true); . Ecco uno screenshot:
Passare da HTTP a HTTPS su WordPress
Dopo aver salvato, il sito dovrebbe funzionare correttamente in HTTPS. Ci sono anche dei plugin WordPress che puoi utilizzare per facilitare il lavoro. Ecco le migliori estensioni:

  • SSL Insecure Content Fixer riconoscere i contenuti che portano ancora l’HTTP.
  • Easy HTTPS Redirection per automatizzare il trasferimento degli indirizzi.
  • WP Force SSL, ancora una soluzione per passare da HTTP a HTTPS.

Migrare da HTTP a HTTPS con Joomla

Hai reindirizzato il sito WordPress da HTTP a HTTPS, ora è il turno di Joomla. Ovvero un altro content management system che viene usato soprattutto per creare portali e siti più articolati. Di conseguenza, la migrazione potrebbe essere ancora più necessaria.

Come effettuare il passaggio? Devi loggarti nel backend e poi andare in configurazione Globale » Server e impostare Forza HTTPS su tutto il sito, proprio come nell’immagine in basso.

Migrare da HTTP a HTTPS con Joomla

Configurazione dell’HTTPS con Joomla.

Accedi via FTP, vai nella directory public_html (o dove è presente Joomla), apri il file configuration.php e verifica che la variabile live_site comprenda l’URL del sito in HTTPS. Risposta negativa? Modificala e salvala così: var $live_site = ‘https://www.ilmiosito.it’. Sempre nella public_html, apri il file .htaccess e aggiungi sotto la voce RewriteEngine:

RewriteCond %{HTTPS} OFF
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Salva ed è tutto pronto per sfruttare la sicurezza del protocollo, ora le pagine saranno reindirizzate sotto il protocollo HTTPS. Anche in questo caso ci sono dei plugin da sfruttare per semplificare il percorso? Ti consiglio Yireo SSL Redirection.

Per approfondire: ottimizzazione SEO per Joomla

Come spostare Magento da HTTP a HTTPS

Hai un e-commerce con Magento? Hai bisogno di un certificato SSL/TLS per assicurare al tuo sito web tutta la sicurezza necessaria. Come effettuare la migrazione? Effettua l’accesso al backend del CMS e vai in System » Configuration.

Nella pagina che si apre, sotto Configuration, seleziona la voce Web, modifica il Base URL impostandolo in https e imposta su Yes le due opzioni: Use Secure URLs in Frontend e Use Secure URLs in Admin. Il processo è semplice, proprio come mostro nell’immagine in alto. Salva, il gioco è fatto.

Passare da HTTP a HTTPS con Prestashop

Anche con Prestashop la necessità è imminente: uno shop online deve dare la massima sicurezza ai potenziali acquirenti. Deve essere veloce, ma anche affidabile. Quindi il passaggio da HTTP a HTTPS è imprescindibile. Come si procede con Prestashop? Effettua l’accesso al backend e vai in Shop Parameters per poi raggiungere la voce General.

Passare da HTTP a HTTPS con Prestashop

Abilita SSL su tutte le pagine.

A questo punto devi abilitare la voce Enable SSL on all pages come mostrato nell’immagine in alto: non ti resta che salvare per avere il tuo shop in HTTPS. Cosa significa questo? Più sicurezza per chi acquista, per chi visita e per tutta la tua attività.

Da leggere: come ottimizzare le immagini di Prestashop

Possibili problemi con l’HTTPS

Possibili problemi con l'HTTPS

Riprendiamo il caso di WordPress. Dopo aver seguito correttamente tutti gli step riscontri il messaggio di contenuto misto? Significa che alcuni contenuti della pagina vengono richiamati in HTTP e non sull’HTTPS, proprio come avviene in questo caso.

La causa di tutto questo? È possibile che in qualche parte del tema o del plugin hai degli URL inseriti manualmente in HTTP e che andrebbero modificati. Per prima cosa devi capire qual è l’URL in questione, quindi devi aprire la sorgente pagina (CTRL + U) e cercare i contenuti in HTTP come mostrato nello screenshot in basso. Una volta individuato la posizione di questi URL (magari il nome del file potrebbe venire in aiuto), devi correggerli possibilmente con il path relativo.

Ad esempio, hai impostato come URL del logo http://blog.miosito.com/wp-content/uploads/logo.png, in tal caso lo devi cambiarlo con: /wp-content/uploads/logo.png evitando di specificare HTTP o HTTPS.

Possibili problemi con l'HTTPS

Come risolvere i problemi con l’HTTPS.

Se non riesci a venirne a capo, puoi provare il già citato plugin SSL Insecure Content Fixer che dovrebbe sistemare gli URL automaticamente. In ogni caso hai sempre il vantaggio di essere un cliente Serverplan: per qualsiasi problema puoi contattare il support aprendo un ticket. In questo modo puoi risolvere i tuoi problemi con l’HTTPS.

Passare da HTTP a HTTPS: la tua esperienza

Tu hai fatto già il passaggio in HTTPS? Quali problemi hai riscontrato? Oggi il web deve essere sicuro, sempre più attento alle necessità del cliente. Non perché ce lo chiede Google, ma per dare attenzione a chi dovrà acquistare i tuoi prodotti e scegliere il tuo brand. Sei pronto per dare sicurezza al tuo sito? Qui trovi tutto ciò che ti serve.

Acquista un certificato SSL per il tuo sito web e dai subito sicurezza ai tuoi clienti
Davide Galasso

Davide Galasso

Dal 2010 faccio parte del supporto tecnico Serverplan, cercando di soddisfare le esigenze dei nostri clienti ogni giorno. Conosco la maggior parte dei CMS presenti sul mercato e condividerò il mio know-how su questo blog.
Davide Galasso

Latest posts by Davide Galasso (see all)





37 commenti su “La guida completa per la migrazione HTTPS del tuo CMS

  1. Ho un dubbio: per un sito di notizie, che comunque ha i campi per i commenti e una pagina con un form per i contatti, è urgente fare questo passaggio? SI tratta comunque di dati sensibili

  2. Ciao Davide,
    seguendo le indicazioni di questa guida per magento, riesco a passare ad https senza perdere l’indicizzazione?

    Basta davvero fare queste due modifiche dal backend?

    Grazie

  3. Buongiorno, ho seguito pari passo la vostra guida per migrare in ssl con wordpress. Adesso chrome mi dice che la connessione a questo sito non è completamente protetta. Da cosa dipende? Forse dal certificato gratuito?

  4. Ma per Magento non devo fare nient’altro che cambiare su Yes le due opzioni Use Secure URLs in Frontend e Use Secure URLs in Admin? Nessun’altra azione? Zero?

    • Ciao! Ho appena modificato la guida per Magento aggiungendo anche la modifica del parametro “Base URL”, modifica anche questo e dovresti essere a posto.

  5. Ottimo tutorial! Manca solo una cosa: una volta effettuata la migrazione, e controllato i link vari per evitare contenuto misto, poi con Google come ci si comporta? Intendo: va fatta qualche modifica in Google Webmaster Tools? O BigG fa tutto da se? Sarebbe utile IMHO integrare la guida in tal modo. Grazie

  6. Ottimo tutorial, grazie è stato essenziale. Forse bisognerebbe inserire anche il ; alla fine della stringa necessaria per wp-config.php anche se riportato nella schermata, ma visto che il copia e incolla si fa della stringa se qualcuno non è attento rimane con la sorpresa.

    Definirei anche la necessità di indicare nel file .htaccess il redirect dei siti di secondo livello (se si chiamano così) per esempio:https:www.qualcosa.it/secondolivello perché altrimenti ti rimanda sempre al primo livello di dominio.
    Complimenti per tutto l’aiuto che mi date

  7. Salve Davide, grazie per la guida.
    Se wordpress è in modalità network con subdomains ci sono ulteriori dettagli da prendere in considerazione?

    • Ciao Virgilio, è un piacere ritrovarti anche sul blog!
      Come ti dicevo ieri via ticket, dovrebbe bastare modificare il base url da http ad https, fammi sapere!
      Grazie

  8. I plugin citati per la migrazione di un sito WordPress sono ottimi. Ho provato SSL Insecure Content: funziona alla perfezione ma ha uno svantaggio fondamentale: esegue la riscrittura degli URL al volo e non permanentemente. Questo significa che per ogni caricamento di pagina il plugin agisce e consuma risorse, tempo, ecc…

    Credo sarebbe molto meglio riscrivere gli URL direttamente nei contenuti e cercare di risolvere una volta e per sempre gli errori di contenuto misto.

    Personalmente ho usato il plugin Search & Replace (https://it.wordpress.org/plugins/search-and-replace/) per sostituire permanentemente l’URL in tutte le tabelle del sito.

    Ho sostituito http://ecommercers.net con https://ecommercers.net e ora l’errore dovuto al contenuto misto è completamente scomparso.

    L’utilità di questo plugin sta soprattutto nel fatto che prima si può vedere come la nostra ricerca e sostituzione agirà eseguendo una ricerca “Dry run”.

    ATTENZIONE: la ricerca dry run potrebbe richiedere molti minuti, anche più di 5. Inoltre impegna moltissimo il server e il sito si rallenta considerevolmente. È da tenere in considerazione.

    Quando si esegue la sostituzione vera e propria, se si usa l’URL completo del sito, il plugin mostra un errore riguardante l’uso dell’URL del sito. Quindi, quando si esegue la sostituzione vera e propria scrivendo le modifiche sul database, va usato l’URL senza TLD: http://ecommercers > https://ecommercers. In questo modo la scrittura avviene senza problemi.

    Anche la scrittura impegna molto il server e potrebbe accadere che il sito dia un errore e non venga ricaricato: in questo caso vai di nuovo alla bacheca e ripeti la procedura perchè probabilmente non tutto è stato riscritto.

    Una possibile soluzione potrebbe essere di eseguire la ricerca e sostituzione in batch, quindi, per esempio, 10 tabelle alla volta, anzichè cercare e sostituire in tutte le tablle in un unico passaggio.

    Spero questo commento sia utile!

    Un saluto,
    Adamo Aerendir Crespi

  9. Grazie mille! E’ bastato inserire https nelle impostazioni dal pannello di controllo e dopo ho installato Easy HTTPS Redirection. Sembra che ha funzionato tutto perfettamente!

  10. Buongiorno e grazie per la guida!

    Prima descrivo lo scenario, poi le domande:

    gestisco il sito di un’Associazione non profit appoggiato qui su Serverplan che ho scritto a mano, no CMS (lo so, lo so…) e qualche mese fa l’avevo messo in (più o meno) sicurezza con Let’s Encrypt, non sapendo ancora che Serverplan offrisse “nativamente” il servizio.

    Mi ero deciso perchè pur non essendoci sul sito nulla che assomigli a un e-commerce, ci sono comunque dati sensibili essendoci una registrazione gratuita per gli associati, una newsletter e cose simili.

    Domanda n. 1:

    subito dopo aver attivato il certificato è comparsa la fantastica barra verde, ma ho trovato il “mio” .htaccess zeppo di righe aggiunte da let’s encrypt; in pratica per ogni riga “mia” ne sono state aggiunte 3 così:

    RewriteCond %{REQUEST_URI} !^/[0-9]+\..+\.cpaneldcv$
    RewriteCond %{REQUEST_URI} !^/[A-F0-9]{32}\.txt(?:\ Comodo\ DCV)?$
    RewriteCond %{REQUEST_URI} !^/\.well-known/acme-challenge/[0-9a-zA-Z_-]+$

    – immagino si sia trattato di una necessità finalizzata al riconoscimento del dominio, ma ora posso cancellarle?

    Domanda n.2:

    come accennavo, avendo appreso di recente che Serverplan offre il servizio Let’s Encrypt ho lasciato scadere il certificato “esterno” per affidarmi a quello “nativo”;

    bene, non sembrano esserci problemi dal punto di vista della persistenza del TLS, ma al posto dell’etichetta verde (sono su Chrome) è comparso l’avviso di contenuto misto.
    Che ci sia contenuto misto è ovviamente vero: riportiamo news di terze parti con link diretti, e praticamente il nostro è l’unico sito(!!!) ad avere attivato un certificato, seppur gratuito.

    Mi chiedo però come mai lo stesso identico contenuto prima non fosse “snobbato” da Let’s Encrypt “terzo” (etichetta verde) ed ora lo è da Let’s Encrypt “nativo” (etichetta mista).
    Dopodiché dato che la barra verde fa fare “bella figura” in più di un senso, studierò un modo per far comparire solo contenuto interno almeno sulla home pgae.

    Scusa la lungaggine e grazie ancora!
    Marco S.
    Kyoto Club

  11. Ciao a tutti gestisco un vps con assistenza qui su serverplan, dopo il passaggio a https con prestashop 1.6.1.13 ho alcuni problemi di re-indirizzamento mi spiego meglio tutte le pagine sono correttamente visualizzate con certificato https proprietario e non gratuito, ma se provo a verificare la pagina http://arcoshopper.it vedo che fa un redirect 301 su http://www.arcoshopper.it che a sua volta redirect 301 sulla finale https://www.arcoshopper.it. Questo aumenta la lentezza del server. Mi è stato consigliato dall’assistenza di vedere questa guida ma non credo che risolva il problema. Come si fa a fissare la url giusta senza redirect avendo seguito alla lettera la guida per prestashop?

    Grazie

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

*

Shares