WordPress, come passare da http a https (e aumentare le visite al sito)

    Le operazioni necessarie per gestire correttamente il cambio di indirizzo del sito dal vecchio formato http al nuovo protocollo sicuro https

    Nell’articolo precedente abbiamo parlato delle tipologie di certificati SSL, quale scegliere per il nostro sito e come acquistarlo. Noi, grazie al nostro fornitore di hosting, l’abbiamo acquistato tramite il pannello di controllo hosting cPanel. Questa operazione ha due grossi vantaggi: il certificato di cui ha bisogno il nostro sito ha un prezzo molto accessibile, e inoltre il certificato – una volta rilasciato dall’authority competente – viene direttamente installato sul nostro server. Non dobbiamo preoccuparci di nulla, se non della parte post installazione, ovvero fare le opportune modifiche al nostro wordpress per gestire correttamente il cambio da http ad https senza avere errori nel sito e senza perdere posizionamenti sui motori di ricerca. Anzi, il cambio a protocollo sicuro in teoria ci porterà più visite.

    Dopo aver installato il certificato sul server dobbiamo mettere mano alla nostra installazione wordpress per cambiare le impostazioni (url, media) da http a https. In sostanza si tratta di trasformare le pagine vecchie in pagine nuove, e pertanto non dobbiamo lasciare errori nei link interni, nel caricamento delle immagini, oltre che reindirizzare le pagine linkate da siti esterni verso le la nuova struttura url. Può sembrare un lavoraccio, ma in realtà seguendo pochi semplici passaggi possiamo già sistemare il 95% di tutta la struttura (il restante 5% lo scopriremo in seguito grazie a qualche verifica post migrazione).

    1) Cambio della struttura dei permalink

    Semplice ma fondamentale. Fare il login nel pannello di amministrazione wordpress, andare nel menu Impostazioni e poi su Permalink. Si tratta di quella impostazione che si setta una volta nella vita quando installi wordpress e poi ci si mette mano in occasioni straordinarie. Ecco questa è una di quelle. Nella schermata seguente dei aggiungere la s all’http, ovvero cambiare il percorso del sito da http ad https, come nella figura:

    ssl cambio url wordpress

    Salvate. Il sistema ora vi farà fare il logout, e vi reindirizzerà alla nuova pagina di login https://www.vostrosito.com/wp-login.php . Potete rientrare con stessi username e password di sempre.

    2) Reindirizzare da http ad https tutte le url del sito

    Ora dobbiamo impostare il redirect di tutti gli indirizzi da http ad https, in modo che ogni link/richiesta ad una vecchia pagina tipo http://www.miosito.net/articolo-numero-1/ venga automaticamente indirizzata alla nuova https://www.miosito.net/articolo-numero-1/ . Per fare questo, dobbiamo inserire queste poche righe di codice nel file .htaccess . Quindi, tramite un programma FTP oppure tramite il gestore file del nostro pannello hosting, andiamo ad editare il file .htaccess che si trova nella directory principale dell’installazione wordpress (in genere in /home/vostroaccount/public_html/ ). Ecco le righe da inserire all’inizio:

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

    Dove ovviamente al posto di tuttoblog.com metterete l’indirizzo del vostro sito. Dopo aver inserito il codice e aver salvato il file, ogni vostro indirizzo url verrà automaticamente reindirizzato, in maniera permanente, alla nuova versione https. Come ad esempio la vecchia pagina in esempio

    indirizzo http non sicuro

    ricaricando la pagina (tasto F5), verrà automaticamente reindirizzata alla versione https, e comparirà il lucchetto che sancisce la sicurezza del sito

    indirizzo https sicuro, con lucchetto

    Cliccando sul lucchetto, è possibile avere informazioni aggiuntive, ovvero la dicitura “sito sicuro” e ulteriori informazioni sul certificato e da chi è stata emessa la certificazione:

    info sul certificato del sito

    Finito? Diciamo che oltre il 75% del lavoro è già fatto. Se il sito è recente, o comunque è stato realizzato in maniera corretta, allora siamo vicini al 100%. Cosa può essere sfuggito? Immagini e iframe possono causare errore di sicurezza ed impedire al sito di essere sicuro al 100%. Ad esempio il caricamento di immagini interne che abbiamo inserito utilizzando un percorso assoluto. Se la nostra pagina di esempio è ora con indirizzo https://www.nostrosito.it/pagina1/ , e al suo interno un’immagine è stata inserita con percorso tipo

    <img src="http://www.nostrosito.it/immagine1.jpg" />

    allora dovremmo modificare anche questa aggiungendo la s all’http. Ma come facciamo se abbiamo molte immagini da sistemare? Un aiuto ci viene utilizzando in modo corretto il phpmyadmin che gestisce il database: con queste poche istruzioni possiamo cambiare tutti i percorsi di tutte le immagini incluse nei nostri post e nelle nostre pagine. In sostanza, dobbiamo dire alla macchina che ogni volta che (nel database) trova il tag immagine
    src=”http:// lo deve sostituire con il codice src=”// , ovvero il percorso relativo. L’ideale, è avere le immagini richiamate in questo modo:

    <img src="//example.com/image.jpg" alt="nome immagine">

    In questo modo, le immagini che nel nostro wordpress sono inserite con il percorso relativo, sarà il nostro wordpress ad attribuirgli il giusto https davanti. Attenzione: questa istruzione, inserita nello spazio istruzioni sql del nostro phpmyadmin, è irreversibile. Pertanto è opportuno fare un backup del database. Per passare anche le immagini in https andare nel pannello hosting fornito dal vostro provider, aprire il phpmyadmin. Una volta aperto, selezionate il database del vostro wordpress (generalmente trovate solo un database). Nella schermata che si apre, cliccare sul tab “SQL” in alto:

    phpmyadmin tab sql

    Qui possiamo inserire questa istruzione che sostituisce il percorso immagine all’interno del contenuto di post e pagine.

    UPDATE wp_posts 
    SET    post_content = ( Replace (post_content, 'src="http://', 'src="//') )
    WHERE  Instr(post_content, 'jpeg') > 0 
            OR Instr(post_content, 'jpg') > 0 
            OR Instr(post_content, 'gif') > 0 
            OR Instr(post_content, 'png') > 0;

    La ripetiamo nel caso siano state inserite con l’apostrofo ‘ anzichè con le doppie virgolette ” (thanks to css-tricks.com)

    UPDATE wp_posts 
    SET   post_content = ( Replace (post_content, "src='http://", "src='//") )
    WHERE  Instr(post_content, 'jpeg') > 0 
            OR Instr(post_content, 'jpg') > 0 
            OR Instr(post_content, 'gif') > 0 
            OR Instr(post_content, 'png') > 0;

    Secondo lo stesso criterio, aggiusteremo non solo il percorso delle immagini, ma anche quello degli iframes (come ad esempio un video di youtube o un widget con una mappa). Anche questi tag non devono più comparire nella forma

    <iframe src="http://

    bensì nella forma

    <iframe src="https://

    Con il codice seguente, lo sistemiamo all’interno dei postmeta:

    UPDATE wp_postmeta 
    SET meta_value=(REPLACE (meta_value, 'iframe src="http://','iframe src="//'));

    Dopo aver lanciato le query sql appena menzionate, il vostro phpmyadmin vi indicherà l’esito e quante sostituzioni ha effettuato:
    sql query completata

    3) Operazioni aggiuntive e opzionali

    Per rendere più sicuro il pannello di amministrazione, possiamo forzare l’utilizzo del protocollo https anche per tutte le pagine di gestione del sito. E’ sufficiente andare ad editare il file wp-config.php che si trova sempre nella directory principale, andando ad aggiungere il seguente codice:

    define('FORCE_SSL_ADMIN', true);

    Devi informare Google del cambio di dominio da http ad https? Se utilizzi Google Webmaster Tools la risposta è sì. Attenzione: con il redirect 301 che abbiamo inserito (vedi sopra), ogni volta che un motore di ricerca visita il nostro sito viene automaticamente informato che gli url sono cambiati e quali sono quelli nuovi. Un po’ di tempo e il cambio viene digerito. Ma se usi il GWT, allora come indicato da Google qui, è bene inserire la nuova proprietà (dominio con https) e segnalare il cambio nella vecchia proprietà.

    Ora non ti resta che navigare nel tuo sito (se hai un sistema di cache svuota tutto), e verificare che le immagini si carichino correttamente (non dovrebbero esserci problemi) e che sopratutto l’icona del certificato sia ok (se il sito ancora carica immagini non https allora ti comparirà errore). Come è andato il passaggio verso il sito più sicuro?

    Categories: Tutorial & Modifiche Tags: Tag: , ,

    Come scegliere un certificato SSL e rendere sicuro il sito passando al protocollo HTTPS

    Ovvero come rendere il sito attendibile e mostrare agli utenti l’icona verde nella barra del browser che attesti la sicurezza del sito anzichè il messaggio “sito non sicuro” che li allontanerebbe. Una guida semplice e veloce per capire cosa sia un certificato SSL, perché server per il tuo sito e come sceglierlo.

    I certificati SSL portano il sito internet e le transazioni online ad un livello di sicurezza avanzato in quanto permettono di criptare e quindi proteggere tutti i dati sensibili raccolti. L’utilizzo di certificati SSL e del protocollo HTTPS è de facto diventato uno standard per tutti i siti web autorevoli e che hanno necessità di garantire la sicurezza dei loro utenti. Questo standard non è più solo un requisito degli e-commerce e dei siti in generale in cui l’utente lascia una carta di credito o altri dati sensibili (come servizi di posta elettronica, ecc.), ma anche per i siti wordpress che hanno un sistema di commenti e di registrazione utente. Da giugno 2016 infatti Google ha avvisato che marcherà come “non sicuri” tutti i siti che non adottano il protocollo HTTPS. Anche questo sito, che “semplicemente” permette agli utenti di chiedere aiuto per il proprio sito e di ricevere notifica quando un esperto risponde alla domanda. No carte di credito, no particolari dati sensibili (non viene chiesta data di nascita, codice fiscale, ecc. ma solo email per essere avvisati della risposta), ma anche solo la password è considerata un dato sensibile. E infatti dal Google Webmaster Tool è arrivato l’avviso:

    avviso Google siti non sicuri Ecco la trascrizione, dove in sostanza ci spiega il problema e come risolverlo:

    A partire da gennaio 2017, Chrome (versione 56 e versioni successive) contrassegnerà come “Non sicure” le pagine che raccolgono password o dati di carte di credito, a meno che le pagine vengano pubblicate tramite HTTPS. Gli URL che seguono includono campi per l’inserimento di password e dati di carte di credito che attiveranno il nuovo avviso di Chrome. Esamina questi esempi per sapere dove verranno visualizzati questi avvisi e poter così adottare misure per proteggere i dati degli utenti. L’elenco non è completo.

    Il nuovo avviso rappresenta solo la prima fase di un piano a lungo termine per contrassegnare come “Non sicure” tutte le pagine pubblicate tramite il protocollo HTTP non criptato.
    Ecco come risolvere il problema:
    Usa le pagine HTTPS per raccogliere dati sensibili
    Per evitare che venga visualizzata la notifica “Non sicura” quando gli utenti di Chrome visitano il tuo sito, sposta i campi per l’inserimento di password e carte di credito in pagine pubblicate usando il protocollo HTTPS.

    Se hai quindi un sito web dove vengono raccolti dati sensibili, dal pagamento con carta di credito al “semplice” account per commentare dotato di password, allora devi pianificare il passaggio al protocollo https. Ecco i passaggi da seguire

    Scelta del tipo di certificato SSL adatto al nostro sito

    Esistono varie possibilità (e range di costo). La scelta va fatta in base all’utilizzo del sito. Esistono anche certificati gratuiti, che possono andare benissimo per siti semplici, ma che si rivelano insufficienti per altre tipologie di siti (con e-commerce, oppure booking online, ecc.). Di seguito una tabella riepilogativa semplificata dei tipi di certificati disponibili:

    Tipo di Certificato Descrizione Esempio
    Standard SSL Rende sicuro un Fully Qualified Domain Name (FQDN)
    • www.tuttoblog.com
    Wildcard SSL Estensione del precedente che permette di rendere sicuri tutti i sottodomini del dominio: *.yourdomain.com
    • www.tuttoblog.com
    • blog.yourdomain.com
    • qualsiasicosa.tuosito.net
    Organization SSL Rende sciuro un Fully Qualified Domain Name (FQDN), ma contiene i dettagli della tua azienda/organizzazione (indirizzo, ecc.), anch’essi autenticati. Certifica dominio + organizzazione. Può essere combinata con Wildcard ssl e il seguente Unified Communication (SAN) SSL.
    • www.tuttoblog.com
    • blog.yourdomain.com
    • qualsiasicosa.tuosito.net
    • sub.sub.sito.it
    • 212.100.100.1
    • 10.10.10.1
    Unified Communication SSL oppure Multi-Domain SSL Certificates (SANs – Subject Alternative Names) Rende sicuro fino a 11 domini/sottodomini/server names o indirizzi IP interni con un unico certificato SSL. Si tratta di addon (aggiunte) per le tipologie descritte sopra.
    • www.tuttoblog.com
    • blog.yourdomain.com
    • qualsiasicosa.tuosito.net
    • sub.sub.sito.it
    • 212.100.100.1
    • 10.10.10.1
    • server1

    Come si può intuire, per le aziende è necessaria la consulenza di un professionista.

    Quale certificato SSL ha bisogno il mio sito?

    In generale, valgono i criteri seguenti:

    • DV – Domain Validation: ogni sito wordpress che utilizza un form (commenti, login) che trasmette dati
    • EV – Extended Validation: E-Commerce e aziende che devono mostrare di essere trustworthy, ovvero fidate
    • UC – Unified Communications: email servers (esempi: gmail, libero), nonchè aziende che utilizzano Microsoft Exchange
    • SUN – Subject Alternative Name:  più domini, anche non collegati tra di loro, e non necessariamente sottodomini
    • Wildcard: wordpress multisite networks, con sottodomini
    • OV – Organization Validation : organizzazioni che devono apparire fidate

    In questa guida ci concentriamo sul certificato DV (Domain Validation), che viene emesso velocemente una volta che viene verificato/legittimato il dominio. Si differenzia dal certicato EV (Extended Validation), che offre un livello maggiore di sicurezza (non viene solo verificato il dominio ma anche l’organizzazione che vi sta dietro) e mostra ai visitatori la barra verde nel browser durante la navigazione.

    Come acquistare un certificato

    Molti siti di hosting, anche per rendere appetibile la propria offerta, hanno iniziato ad includere gratuitamente certificati SSL nei lori piani hosting. E’ certo una comodità, anche dovuta al fatto che offrono guide dedicate interne. Ma è doveroso fare una premessa: ha senso risparmiare qualche euro per il certificato scegliendo l’hosting in base solo a questa offerta, dimenticando tutte le altre prerogative che l’hosting deve avere (velocità, stabilità, assistenza)?. Tanto più, che alcuni di questi certificati offerti dall’hoster sono sì inclusi, ma gratuiti se ve li andate ad acquisire da soli (o magari tramite il vostro servizio di hosting attuale). Mi spiego: ci sono hosting (anche validi, per carità) che al momento offrono Let’s Encrypt. Si tratta di una Certificate Authority no profit, che fa parte di un progetto Open Source rivolto alla diffusione del protocollo https, e che per questo rilascia certificati web gratuiti, riconosciuti da gran parte dei browser. Utilizzare il certificato ssl gratuito offerto da Let’s Encrypt può essere la soluzione ideale per il nostro sito web. Cambiare hosting per avere questa cosa inclusa nell’hosting, che è già gratuita di per sè, non è proprio una mossa ben ragionata. I vantaggi di Lets’ Encrypt sono che si possono attivare quanti certificati gratuiti si vuole, i rinnovi sono automatici e gratuiti, l’emissione è praticamente istantanea, e funzionano con la maggior parte dei browsers e dei dispositivi. Viceversa, sono disponibili solo certificati di tipo DV, SAN e UC. Inoltre non esiste garanzia e non vi sono servizi aggiuntivi.

    A parte i certificati gratuiti, che possono andare bene per alcune tipologie di sito, ma sono insufficienti per altre (vedi ecommerce), esistono moltissime organizzazioni abilitate al rilascio di certificati, ed ognuna con prezzi diversi e servizi aggiuntivi diversi. Vi invito a dare un’occhiata ad alcuni dei più famosi per rendervi conto della varietà di servizi offerta, come ad esempio SSL.com, oppure i più costosi Comodo, Symantec, Digicert (con cifre a partire da due zeri a salire…). Noi, attraverso il pannello di cPanel offerto dal nostro fornitore di hosting, abbiamo optato per la seguente soluzione, con ottimo rapporto qualità/prezzo in base alle esigenze del sito specifico. Ecco i vari passaggi dell’acquisto del certificato tramite il pannello hosting

    Acquisto ed installazione certificato (tramite cPanel)

    Una volta che il nostro fornitore di hosting ha abilitato questa funzione nel pannello cPanel (ripeto, solo alcuni la forniscono, è bene chiedere tramite l’assistenza), ci troveremo nella seguente schermata, che ci riepiloga cosa stiamo facendo:

    Che cos’è un certificato SSL e perché è consigliabile averne uno?
    Un certificato SSL consente ai visitatori di comunicare con i siti Web dell’utente su connessioni protette, ad esempio per inviare informazioni sui pagamenti con carta di credito.
    Scopo di questa interfaccia
    Utilizzare questa interfaccia per acquistare e installare i certificati SSL per l’account. Più nomi di dominio possono fare riferimento allo steso sito Web. Ad esempio, i domini configurati nell’interfaccia cPanel’s “Alias” faranno riferimento al sito Web principale dell’account. Si consiglia di assegnare a ciascun sito Web con protezione SSL un certificato che protegga tutti i domini del sito Web.

    acquisto certificato SSL cPanel

    Ora dobbiamo selezionare cosa vogliamo includere nel protocollo https: il dominio? qualche sottodominio? tutti i sottodomini? il server di posta? Nel nostro caso – un sito wordpress con form commenti/login – ci basta il dominio, con certificato DV. Selezioniamo e proseguiamo, e nella schermata successiva troviamo anche i prezzi. Come vedete sono più che interessanti: notare che esiste la possibilità di farsi autenticare dall’organizzazione Comodo citata qualche riga sopra come tra le più costose (provate a visitare il sito), mentre qui i prezzi (in partnership con cPanel e grazie al fornitore di hosting) sono molto più bassi e convenienti. In sostanza, possiamo avere il certificato DV per il dominio a prezzi dai 9 ai 12 dollari; wildcard (tutti i sottodomini) a prezzi dai 75 ai 99 dollari. Anche il certificato EV (adatto per e-commerce) è acquistabile per prezzi che vanno dai 60usd ai 108usd (Comodo).

    prezzi certificati SSL cPanel

    Una volta completato l’acquisto, bisogna attendere che l’organizzazione effettui le opportune verifichi e ci rilasci/invii il certificato digitale. Il seguito su come installare il certificato e migrare correttamente wordpress ta http ad https lo trovate qui

    Categories: Hosting, Tutorial & Modifiche Tags: Tag: , ,