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

    7 Comments

    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 reindirizzare le pagine inesistenti (errore 404) verso la home o verso pagina specifica

    2 Comments

    Premessa: cos’è il codice di errore 404? E’ il classico errore che compare quando l’url che digitiamo/clicchiamo restituisce una pagina inesistente. E’ raro trovare un sito che non ne abbia, come dichiarato dallo stesso supporto di Google. Quali sono le cause? Principalmente, l’errore 404 interno al sito è dovuto a fattori interni, come un cambio di struttura dei permalink, oppure all’aver linkato in modo erroneo una pagina interna, oppure aver utilizzato un plugin che poi abbiamo disabilitato e non abbiamo avuto modo di “ripristinare lo scenario precedente”, oppure abbiamo linkato un’immagine che poi abbiamo cancellato. Nella vita e nell’evoluzione di un sito wordpress tutto cambia, e non sempre ci ricordiamo che cambiare qualcosa oggi si può ripercuotere su un post di mesi o anni fa. Oppure a causa di fattori esterni: un altro sito/blog ha linkato la nostra pagina scrivendola in modo errato o impreciso. Qual è la soluzione ideale? Ovviamente quella di mettere a posto tutti gli errori di permalink, ma può essere un lavoraccio. Ci può aiutare un plugin specifico in questo senso, che ci permetta di trovare e segnalarci gli errori 404 del sito, in modo da andare a controllarli a mano a mano che li riceviamo e correggere il link. Un plugin che ci aiuta in questo è Useful 404, che ci segnala via email ogni volta che l’utente arriva su un link sbagliato, indicandoci qual è l’url errato.

    E se non abbiamo tempo (o voglia, o necessità) di andare a sistemare ogni singolo errore 404? Esiste una soluzione pratica e veloce: reindirizzare i link errati alla home page. In sostanza, se l’utente arriva su una pagina non più esistente, viene immediatamente reindirizzato alla home page del sito, da cui potrà ripartire. E’ una possibilità per non perdere il visitatore e offrirgli quanto stava cercando. Da qui l’importanza di avere una barra di ricerca che lo aiuti in questo senso. Per reindirizzare le pagine inesistenti verso la home page possiamo aggiungere poche semplici righe di codice alla pagina 404.php del tema che utilizzate; in alternativa si può installare un plugin apposito.

    Soluzione A – Modificando il file 404.php del vostro tema

    1. entrate nel vostro pannello hosting e andate nella sezione Gestione File  oppure File Manager. Andate nella directory wp-content –> themes
    2. localizzate il file 404.php. Selezionatelo e cliccate su Modifica File o Editor (ogni pannello hosting ha la sua voce diversa).
    3. Nel file che si apre, aggiungete il seguente codice:
      <?php 
      header("HTTP/1.1 301 Moved Permanently"); 
      header("Location: ".get_bloginfo('url')); 
      exit(); 
      ?>

    Soluzione B – Installando un plugin gratuito che gestisca il redirect

    (soluzione che offre più possibilità)

    Esistono diversi plugin che possono gestire le pagine di errore del vostro sito wordpress, alcuni di base, alcuni molto completi. La scelta dipende dalle vostre esigenze, in primis se il vostro sito ha poche pagine o molte pagine. Ecco una veloce panoramica:

    • All 404 Redirect to Homepage: è una soluzione veloce e semplice per ridurre il numero di errori 404 dal Google Webmaster Tools. Considerando che il numero di questi errori inficia il tuo ranking su Google, installare questo plugin può essere una facile soluzione per “pulire” il sito dagli errori. Ogni pagina 404 viene reindirizzata in modo permanente (codice 301) alla home page, dando ai motori di ricerca l’istruzione che questo reindirizzamento è permanente, definitivo. Una volta installato, basta impostare verso quale pagina reindirizzare tutti gli errori 404, come si evince dalla figura. Possiamo quindi anche scegliere una pagina diversa dalla home page (suggerisco in questo caso di creare una pagina ad hoc, con un messaggio di benvenuto ed una evidente casella di ricerca per aiutare il navigatore)
    • 404 to 301 redirect404 to 301 redirect. Questo è un plugin più completo del precedente. Oltre a fare il suo lavoro di reindirizzare le pagine con errore 404 verso la pagina specificata, ci permette qualcosa in più, come ad esempio: selezionare il tipo di redirect: non solo 301 (permanente) ma anche 302 (reindirizzamento temporaneo) o 307; monitorare tutti gli errori (log) in modo da farci capire quali siano le pagine errate e le richieste verso pagine errate; avere notifica via email di questi errori; configurare quante notifiche ricevere; specificare pagine di reindirizzamento diverse a seconda del percorso 404. Ad esempio possiamo impostare che tutti gli errori del tipo tuosito/asdfasdfas vengano reindirizzati alla home page, e gli errori del tipo tuosito.it/contatti/asdfasdfasdf vengano reindirizzati alla pagina tuosito.it/conatti/ (ottimo!)
    • 404 redirected404 Redirected: altro utile plugin, come i precedenti, con queste caratteristiche specifiche: lista nel pannello di controllo di tutti gli url 404 trovati ; redirect di tutti questi errori verso pagina specificata; tentativo di reindirizzamento automatico in base alle pagine più visitate e lista di suggerimenti per l’utente; suggerimenti di tags, categorie; elenco dei logs di errore; rimozione dei redirect una volta che non vengono più utilizzati; statistiche.

    Se utilizzerai una di queste soluzioni, nell’arco di qualche settimana dovresti vedere un miglioramento sia nel numero di errori mostrato dal Google Webmaster Tool, sia nel rank e nella qualità delle visite del tuo sito.

    Categories: Tutorial & Modifiche Tags: Tag:, ,