Con Redirect 301 si intende un reindirizzamento permanente da un URL ad un altro ed è molto importante in ambito SEO in quanto comunica al motore di ricerca che una pagina è accessibile ad un nuovo indirizzo.
Questo aspetto non è assolutamente da sottovalutare in quanto una inadeguata gestione di questa regola può causare:
- la restituzione di una pagina di errore (404) per chi visita quel determinato URL e di conseguenza una probabile uscita dal sito
- una perdita di posizionamento del contenuto per la pagina di destinazione corretta che non viene segnalata come nuova risorsa per quel determinato indirizzo
Come si imposta un Redirect 301
Il metodo più facile è attraverso la modifica del file .htaccess, file che si trova nella cartella principale (root) del sito.
Redirect 301 tra URL
Redirect 301 /vecchia_url_uno/ http://dominio.it/nuova_url_uno/
Redirect 301 /vecchia_url_due/ http://dominio.it/nuova_url_due/
Per rimandare un URL ad un nuova di una o più pagine: per quella di destinazione è necessario utilizzare il percorso completo comprensivo di http://dominio.it/.
Redirect 301 www
RewriteEngine on
RewriteCond %{HTTP_HOST} ^example.com [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301,NC]
Se vogliamo che tutti gli utenti vengano reindirizzati alle pagine comprensive di “www”.
Redirect 301 senza www
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !^dominio\.it$ [NC]
RewriteRule ^(.*)$ http://dominio.it/$1 [R=301,L]
Al fine di indirizzare tutto il traffico alle pagine senza il “www”.
Redirect 301 https
RewriteEngine On
RewriteCond %{HTTP_HOST} ^dominio\.it [NC]
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.dominio.it/$1 [R,L]
Per forzare la visualizzazione del sito con protocollo https.
Redirect 301 per estensione
RewriteEngine On
RewriteCond %{REQUEST_URI} .php$
RewriteRule ^(.*).php$ /$1.htm [R=301,L]
In questo esempio, tutte le pagine con estensione .php saranno reindirizzate alle corrispettive .htm
Redirect da cPanel o plugin
I Redirect possono anche essere impostati con altri metodi tra cui il cPanel (un pannello utilizzato per facilitare la gestione di account su server/hosting) o nel caso si stia utilizzando ad esempio WordPress con l’utilizzo di un plugin.
Personalmente nei progetti basati su WordPress utilizzo Redirection che permette di avere anche un registro delle richieste (per indagare sulla provenienza della visita all’URL sbagliato), di quante volte un URL viene utilizzato o da quale indirizzo proviene il puntamento “errato”.