Condividi questa pagina su:

altraSoluzione piace a:

Come fare un redirect con .htaccess

Stampa

Il redirect con .htaccess spiegato in modo semplice.

Redirect con .htaccessHai appena cambiato dominio del tuo Sito Web oppure hai spostato pagine o prodotti da una categoria all'altra sul tuo Blog o e-Commerce? È importante fare un redirect e, su Apache, puoi farlo tramite il file .htaccess, che potresti trovare nella cartella principale del tuo sito, anche come htaccess.txt da rinominare in .htaccess, oppure da creare ex-novo.

Se non sai come rinominare un file in .htaccess in Windows puoi leggere questa guida.

Ma qualunque sia la piattaforma di gestione dei contenuti che utilizzi (CMS), Joomla, WordPress, Drupal o HTML puro, se hai cambiato dominio o se ha spostato o rimosso pagine del tuo Blog o prodotti del tuo e-Commerce, è importante che tu imposti un redirect.

Perché bisogna fare un redirect?

Se hai un sito Web da un po' di tempo, è probabile (e auspicabile) che i motori di ricerca ne abbiano indicizzate le pagine e stabilito un "ranking" basato su diversi parametri (pertinenza, qualità, peso, correttezza sintattica, ecc...).
In base ai contenuti, al ranking e alle keyword ricercate dagli "internauti", queste pagine sono mostrate nei risultati di ricerca (SERP).

Google (ma il discorso è simile per tutti i motori di ricerca) ha un'attenzione maniacale nei confronti della soddisfazione dei suoi utilizzatori e trova molto "sgradevole" che un visitatore che ha fatto una ricerca, clicchi su un link proposto da Google e approdi su una bella pagina di errore 404 (not found) perché, tra il momento in cui Google ha indicizzato la pagina e il momento del click da parte del visitatore, la pagina è stata rimossa.

Questa è la tipica situazione che, se protratta nel tempo, potrebbe far decidere a Google di "punirti", facendoti perdere posizioni nelle ricerche o arrivando anche a... fare di peggio! Smile

Acquista su Amazon

Ecco perché, quando sposti o cancelli una pagina o un prodotto in vendita (che d'ora in poi, per semplicità, chiamerò comunque "pagina" perché la sua scheda è una pagina a tutti gli effetti), devi assicurarti che un visitatore che tenti di visitarla cliccando sul risultato di una ricerca o sul link presente da qualche altra parte nel Web (directory, social, altri siti, ecc...), sia reindirizzato (redirect) alla pagina che la sostituisce, in modo del tutto trasparente.

Anche Google, quando tenterà di raggiungere quella pagina, troverà il redirect che gli dirà che la pagina è stata spostata e... non si arrabbierà Smile. Nel tempo, aggiornerà anche i suoi risultati di ricerca sostituendo il vecchio indirizzo col nuovo.

Quale redirect devo utilizzare?

I codici di redirect che puoi utilizzare sono due: redirect 301 (moved permanently - spostato permanentemente) e redirect 302 (moved temporarily - spostato temporaneamente).

Anche se, sulla carta, i due codici sono utilizzabili indifferentemente, nella realtà l'unico utilizzato è redirect 301, anche perché non mi vengono in mente molti motivi per i quali dovresti spostare una pagina temporaneamente, per poi rimetterla dov'era prima. Smile

Quando Google incontra un redirect 301, prende atto del cambiamento e provvede a trasferire tutti i dati (inclusi ranking ed eventuali penalizzazioni), dal vecchio URL al nuovo, senza grosse conseguenze.

Quindi, il redirect 301, salvo casi molto particolari, è la scelta migliore.

Come si fa un redirect 301?

Esistono diversi metodi per farlo.

Alcuni CMS, per esempio, hanno già funzioni apposite al loro interno (per esempio il componente Redirects o Redirect Manager di Joomla) ma, se hai accesso al file .htaccess, che dovrebbe trovarsi nella cartella principale che ospita i file del tuo sito, utile soprattutto quando lo spostamento è permanente come nel caso di un cambio di dominio, puoi inserirvi una o più semplici regole.

Nel caso di un cambio di dominio, nel file .htaccess del vecchio dominio, che è sempre meglio mantenere attivo per poter fare il redirect, puoi inserire questa regola:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^vecchiodominio.xxx [NC,OR]
RewriteCond %{HTTP_HOST} ^www.vecchiodominio.xxx [NC]
RewriteRule ^(.*)$ https://www.nuovodominio.xxx/$1 [L,R=301,NC]  

Spiegandola in italiano, se un visitatore arriva sull'host avendo digitato come URL vecchiodominio.xxx oppure www.vecchiodominio.xxx, viene reindirizzato allo stesso percorso ($1) sul nuovo dominio https://www.nuovodominio.xxx, inviando un codice di risposta 301 (R=301).

Quindi, se l'URL originale era http://vecchiodominio.xxx/percorso/alla/pagina, il nuovo URL sarà https://www.nuovodominio.xxx/percorso/alla/pagina.

Se, invece, hai semplicemente spostato una pagina all'interno dello stesso dominio, allora la regola è molto più semplice:

RewriteEngine on
redirect 301 /percorso/alla/pagina/vecchia1 /percorso/alla/pagina/nuova1
redirect 301 /percorso/alla/pagina/vecchia2 /percorso/alla/pagina/nuova2
...

In questo caso, se qualcuno punta alla pagina www.tuodominio.xxx/percorso/alla/pagina/vecchia1, sarà reindirizzato a www.tuodominio.xxx/percorso/alla/pagina/nuova1, sempre inviando un codice di risposta 301.

Esistono molte altre possibilità di redirect e regole molto più potenti e complesse ma sarebbe lungo e probabilmente inutile spiegare ogni possibile regola di redirect inseribile in un file .htaccess! Smile

Però, se vuoi chiedere ulteriori spiegazioni o se vuoi esprimere la tua opinione, non esitare a farlo lasciando un commento Facebook, oppure contattandomi in privato!

Potresti essere interessato anche alla lettura dell'articolo "Ristrutturazione o migrazione Sito Web: cosa controllare".

Grazie per avermi letto fin qui! Smile

E non dimenticare di mettere il tuo "Mi piace" qui sotto! Smile

Fabio Donna

Commenti Facebook

N.B.: i commenti devono essere approvati prima della pubblicazione, quindi potrebbero non apparire subito.