Dopo aver dedicato un'intera guida al CSS e a come calcolare la domain authority, oggi, parleremo della necessità si modificare la URL, l’indirizzo di una o più pagine del sito, magari per renderle più parlanti e rispondenti ai contenuti del proprio sito (es: da www.mionome.it/indexpagina1 a www.mionome.it/homepage) o addirittura si può cambiare il dominio stesso (da .it a .com, per esempio). Hai creato un sito web e ora hai bisogno di spostare alcune pagine facendone il redirect? Tranquillo sei capitato nel posto giusto.

Menu di navigazione dell'articolo

Questo passaggio si può effettuare in modo facile e “indolore” utilizzando l’istruzione Redirect 301 su file .htaccess per i siti su server Apache; quindi le istruzioni di seguito non valgono per chi utilizza server Windows

Istruzioni per creare un Permanent redirect o Redirect 301

Redirect 301 indica semplicemente il codice del “permanent redirect”, vale a dire il redirezionamento permanente di utenti e spider dei Motori di ricerca da un vecchio indirizzo a uno nuovo senza perdere il valore di posizionamento della vecchia URL, portandosi dietro l’eredità del page rank, ma anche … le eventuali penalizzazioni! Il redirect 301 si distingue dal Redirect 302 o 307 che indicano un redirezionamento temporaneo, vale a dire che non si trasferiscono tutte le informazioni presenti sulla pagina vecchia.

C’è un periodo di assestamento – in media di un paio di settimane – in cui possono comparire nella pagina dei risultati di ricerca entrambe le URL (vecchia e nuova) o le alternano prima che i motori di ricerca riescano a “interpretare” l’istruzione e far confluire i risultati su un’unica pagina di destinazione.

Come si scrive il redirect con file .htaccess (per facilitare la Redazione di contenuti per il web)

Il file .htaccess (Hyper Text Access) è un file che serve a configurare le istruzioni o regole da inserire nella cartella (o root) di destinazione del sito. Si utilizza in siti ospitati su server Apache il quale ad ogni input inserito controlla se esiste un file .htaccess contenente le regole specifiche per quella richiesta. Nel caso del Redirect 301 di una singola pagina le regole da impostare sono le seguenti:

Redirect 301 /pagina_1.PHP http://www.mioSito.com/chisiamo.php

Dopo l’istruzione Redirect 301 si preme uno “spazio” e si inserisce solo la parte di indirizzo da reindirizzare a partire dalla root (/ o “slash”che indica che é tutto il dominio a trasferirsi o l'intera cartella dove il file risiede) che nell’esempio è: /pagina_1.php. Premere uno spazio e inserire l’indirizzo per esteso della nuova destinazione, comprensivo del www, che nell’esempio è:

http://www.mioSito.it/chisiamo.php

Il motore di ricerca interpreterà la regola: Reindirizza in modo permanente (Redirect 301) /pagina_1.php verso il sito http://www.mioSito.it/chisiamo.php
In caso di nomi che contengano degli spazi (pratica sconsigliata) occorre utilizzare i doppi apici per definire la pagina da reindirizzare:

Redirect 301 “/pagina_1.php” http://www.mioSito.it/chisiamo.php

Nel caso di redirect dell’intero sito da un dominio all’altro, per esempio da .it a .com, basterà inserire la seguente regola nel file htaccess:

redirect 301 /http://www.mioNuovoSito.com/

vale a dire che subito dopo la regola Redirect 301 e lo “slash” (/) si inserisce la méta del trasferimento, cioè il sito di destinazione, poiché evidentemente trovandosi il file .htacess nella root del dominio .it, si sta chiedendo di trasferire tutto il contenuto sul dominio .com. In questa circostanza “/” indica il nome del vecchio sito: / = http://www.mioSito.it

La stessa logica si applica per il procedimento inverso e per qualsiasi altro cambiamento di dominio o estensione.
Attenzione! Se le cartelle interne del dominio .com (sito nuovo) non hanno lo stesso nome del dominio .it (sito vecchio), le cartelle o pagine del dominio .it non saranno reindirizzate sulle loro gemelle nel dominio .com e di conseguenza si genererà un errore 404 (page not found – risorsa non trovata). Bisognerà impostare una regola di mod_rewrite per intercettare i file contenenti un errore di battitura o inesistenti.

Ti ricordiamo che pensi di aver bisogno di un consulente internet, noi possiamo aiutarti. Valuta di contattarci al numero verde che trovi sulla destra. 

Se questi argomenti ti appassionano particolarmente sappi che oltre noi puoi seguire (e anzi ti consigliamo di farlo) anche i migliori SEO Italiani

Da pagina .HTML a .php

Il reindirizzamento di una sola pagina segue la stessa logica di quella per l’intero dominio. Per passare, ad esempio, da una pagina HTML a una PHP, la regola da scrivere sul file htaccess deve avere queste caratteristiche:

  • redirect 301 /hompegage.html http//:www.miosito.it/homepage.php
  • Il redirect 301 sui server Windows

Anche i server Windows utilizzano il codice “redirect 301” per il reindirizzamento permanente di una pagina o di un sito. La regola è più “complicata” e si utilizza sempre un file di estensione .htaccess utilizzando il programma Wordpad (BloccoNote). La regola da impostare è:

Redirect 301 file ASP
<%@ Language=VBScript %>
<%
Response.Status = "301 Moved Permanently"
Response.addheader "Location", "http://www.mioNuovoSito.com/homepage.html/"
Response.End
%>

Non siete esperti o non vi sentite sicuri di eseguire queste operazioni? Non c’è problema, c’è una soluzione anche a questo: per i neofiti sono predisposti dei plugin da scaricare sul proprio CSM di gestione o sul webmaster in grado di creare redirect automatici.

Inoltre, in caso di variazione dell’intero dominio, gli strumenti di webmaster di Google (Google webmasters tools) – gratuito – permette di comunicare al motore di ricerca il cambio di indirizzo.
C’est plus facile!

Il mod_rewrite di Apache, fatevi vedere dai motori di ricerca!

Il mod_rewrite è un modulo per Apache, il webserver più usato nel mondo Unix e serve a far sì che le pagine dinamiche (per es. php o con stringhe di questo tipo: http://www.google.it/search?hl=it&q … &meta= ) cambino estensione e sembrino pagine html statiche (vale a dire con una stringa più “leggibile” come questa http://www.miosito.it/prodotti/vascadabagno.htm).

Perchè trasformare l'aspetto delle url?

A cosa serve la trasformazione delle URL dall’ “aspetto” dinamico a statico? Inizialmente il mod_rewrite era nato per ovviare al problema delle URL, troppo lunghe da digitare e piene di caratteri, parametri e variabili impossibili. Il rewrite consente di eliminare questo problema grazie alla possibilità di riscrivere URL più user friendly.

Di conseguenza, oggi il rewrite è diventato uno strumento molto importante per il posizionamento SEO nei motori di ricerca. Infatti, ciò che è user friendly per l’utente lo è anche per i motori di ricerca (come Google) i quali indicizzano in modo efficiente quelle pagine web con query string “facili”, agevolando il posizionamento all’interno delle SERP (Search Engine Results Page).

Come attivare un mod_rewrite

Attenzione! Il mod_rewrite non “trasforma” gli indirizzi dinamici in statici, bensì li “maschera”, cioè il motore di ricerca e gli utenti visualizzeranno una URL di tipo statico (www.miosito.it/prodotti/), ma in realtà la risorsa esiste sotto un indirizzo dinamico (www.miosito.it/pagina.php?id=prodotti) per evitare che si duplichino le pagine aventi lo stesso contenuto. Attivare la funzione di mod_rewrite permette di accedere al file .htaccess da caricare sul server.

Procediamo per gradi e, dunque, come fare per attivare un mod_rewrite in Apache?

Se si lavora su un hosting condiviso, solitamente il modulo è attivo di default nella maggior parte dei casi. In ogni caso, è bene - prima di acquistare un piano d'hosting – assicurarsi che il modulo sia installato.

Se si lavora, invece, su un proprio server dedicato, VPS (Virtual Private Server) / localhost), sarà necessario attivare il modulo manualmente accedendo al file di configurazione httpd.conf.

Importante! Prima di accedere al file di configurazione controllare che all’interno del sistema (Windows o Linux è indifferente purché il web server sia Apache) sia presente un file denominato mod_rewrite.so che presiede al mod_rewrite.c; verificata la loro presenza si controlla nel file di configurazione httpd.conf se è abilitato.

Altro punto importante: prima di modificare il file di configurazione è bene fare una copia di backup, l’elenco dei moduli all’interno del file, infatti, non è casuale!

Come riconoscere se il mod_rewrite è abilitato? Una volta aperto il file httpd.conf, si deve ricercare nella sezione dedicata alla lista dei moduli il mod_rewrite. I moduli sono veramente tanti e ognuno svolge una determinata funzione, alcuni sono caratterizzati dal simbolo “#” che indica che il modulo non è abilitato. Per abilitare il rewrite sarà, dunque, necessario eliminare il simbolo del cancelletto (“#”) posto davanti alla riga, la dicitura sarà la seguente:

LoadModule rewrite_module modules/mod_rewrite.so (per attivare il mod_rewrite.so) e
AddModule mod_rewrite.c (per attivare il mod_rewrite.c)

Prima di salvare il file di configurazione modificato, occorre verificare le istruzioni relative ai servizi che hanno il permesso di accedere al web server e che si trova in basso all’interno del file:

<Directory />
Options FollowSymLinks Indexes
AllowOverride All
</Directory>

Impostate la direttiva “AllowOverride” con la dicitura “All” che permetterà, infatti, al web server di utilizzare i file .htaccess che andrete a salvare di volta in volta nelle directory contenenti i file per cui dovranno essere riscritte le URL.

Dopo quest’ultimo passaggio, si salva il file di configurazione, si riavvia il server e si può cominciare a utilizzare il mod_rewrite.

Per andare ancora più in profondità ti consigliamo di leggere il nostro post dedicato a Majestic SEO.

Il file .htaccess per poter modificare le URL

Una volta attivato il modulo questo permetterà all’utilizzatore di definire le regole di riscrittura della URL. Le regole andranno scritte all’interno del file di configurazione (ma dovete essere molto bravi) oppure all’interno di un apposito file, denominato .htaccess che andrà caricato all’interno della root del proprio sito web.
Il file .htaccess è un comune file di testo in cui vengono scritte le istruzioni che il web server è in grado di interpretare ed eseguire. Apache prevede una regola di default che impedisce la visualizzazione del file .htaccess al “pubblico” ed è la seguente:

<Files ~ "^.ht">
Order allow,deny
Deny from all
Satisfy All
</Files>

Per creare un file .htaccess va bene un qualsiasi editor di testo, ma è preferibile quelli che non lasciano formattazioni di testo (consigliabili quindi wordpad, notes, etc) e quando si effettua il salvataggio è sufficiente non associare alcuna estensione (.doc, .rtf, o altro). Per esempio, gli utenti Windows possono utilizzare il programma Blocco Note per scrivere le regole e quando si esegue il “Salva con nome”, si scrive .htaccess nel campo “nome file”, si seleziona “tutti i file” nel campo “salva come” e poi si clicca su “salva”.

Chiama l'800 119 270 o scrivici per un preventivo

Formula del consenso

L’interessato autorizza al trattamento dei propri dati personali (Informativa Privacy ex art. 13 Reg. (UE) 2016/679; clicca qui per sapere come gestiamo Privacy e Cookie)

Il contenuto del file .htaccess

Le regole di rewriting nel file .htaccess vanno introdotte con la direttiva/istruzione RewriteRule a cui seguono le istruzioni per il mascheramento.

Ecco un esempio. Si vuole riscrivere l'URL (dinamica, da “camuffare”, ma che resta alla fonte)
"http://www.sito.it/info.php?pag=foo

nella URL trasformata (fittizia) e visibile all’utente e ai motori di ricerca

"http://www.sito.it/info/foo.htm"

Le istruzioni da scrivere sul fil .htaccess per ottenere il risultato desiderato sono le seguenti:

RewriteEngine On
RewriteRule
^info/([^/]+).html$ info.php?pag=$1 [L]

Ciò che abbiamo scritto significa:

  • RewriteEngine On abilita l'utilizzo del mod_rewrite;
  • RewriteRule introduce le regole di riscrittura.
  • ^info/([^/]+).html$ e info.php?pag=$1 indicano rispettivamente l'URL fittizia e quella reale.
  • [L] sta per "last" ed indica che, se vi è corrispondenza, non bisogna procedere con ulteriori verifiche. Ricordate di usarlo sempre.

Scritta l’istruzione e salvato il file .htaccess – come spiegato sopra – si può procedere all’upload del file sul root del web server, vale a dire nella cartella contenente i file per cui devono essere applicate le regole scritte.

Alcuni tool generator del redirect 301 su .htaccess

Se non siete particolarmente preparati da mettere mano su codici del file .htaccess di uno o più siti web allora vi consigliamo di procedere al redirect 301 attraverso dei tool generator online. Questi pratici strumenti messi a disposizione di chiunque permettono quindi di restituire il codice esatto del redirect che desiderate effettuare per alcune delle vostre pagine web, ovviamente da copiare nel file .htaccess; tra i più famosi troviamo:

  • Contentforest: un praticissimo e semplicissimo tool generator redirect 301, basta riempire i campi richiesti, inserire l'url desiderata e l'url di destinazione ed immediatamente troviamo sulla destra il codice da copiare ed incollare nel nostro file .htaccess;
  • Web Confs: anch'esso un pratico tool, qui abbiamo la possibilità di eseguire il redirect di eventuali domini, directory o direttamente url precisi.
  • Beamus Up: anche questo è un preciso strumento che ci aiuta a generare ogni tipologia di redirect che dobbiamo eseguire

Meta tag redirect: vediamo come sfruttarli per l'ottimizzazione del nostro sito

L'ottimizzazione e l'indicizzazione corretta ed efficace sui principali motori di ricerca del proprio portale online è uno dei più importanti fattori da tenere in considerazione quando si tratta di marketing online. Sono diversi e molteplici i modi e i metodi per ottenere buone ottimizzazioni e indicizzazioni.

L'uso di tag, di meta tag e di Parole chiave è fondamentale in tal senso così come la conoscenza approfondita degli strumenti e degli aggiornamenti di internet e informatici. Un altro modo per ottimizzare al meglio il proprio sito web è poi l'uso di meta tag redirect.

A cosa servono

Le meta tag redirect servono rimandare una pagina verso un altro contenuto web e un'altra url; la pagina redirect dipende dalla prima e necessita di codici appositi per effettuare il reminder stesso. Vengono spesso utilizzate anche per indirizzare più domini web che hanno però uno stesso IP. Ogni tipologia di sito web e di pagina url avrà una meta redirect e dei codici per attivarla differenti.

Le meta tag redirect per i siti in html

Spesso accade che un sito cambia dominio oppure per altre ragioni sia necessario condurre l'utente di una data pagina web verso altre url; è proprio in questi casi che si ha la necessità di utilizzare le meta tag per il redirezionamento. Per realizzare una meta tag redirect bisogna tenere in considerazione l'url, ovvero il nuovo indirizzo html verso il quale si deve reindirizzare l'utente che sta visitando la vecchia pagina web. Esistono delle procedure inoltre che consentono di utilizzare la meta tag redirect al meglio e di poter decidere dopo quanti secondi avviene il redirect stesso a un altra url. Per ogni tipologia di sito esiste una meta tag redirect specifica e differente dalle altre. Le meta tag redirect per i siti html vanno aggiunte negli header della pagina che si vuole reindirizzare e scrivendo il seguente codice:

<html>

<head>

<meta http-equiv="refresh" content="0; url=http://www.tuo-dominio.it">

</head>

</body>

</html>

Altri meta tag

  • Nei casi di Asp redirect basta utilizzare la meta tag redirect apposita e inserire il seguente codice:

    <% Response.redirect("http://www.tuo-dominio.it") %>
  • Per il redirect con Javascrispt serve questa dicitura:

    <script language="javascript">
    top.location.href = "http://www.tuo-dominio.it";
    </script>
  • Infine per il redirect in PHP è necessario scrivere, attraverso gli header:

    <?php header("Location: http://www.tuo-dominio.it"); ?>

FAQ

Cos'è un file .htaccess?

Un file .htaccess (hypertext access) è un file di configurazione utilizzato da server web basati su Apache. Esso fornisce un metodo per configurare le impostazioni a livello di directory che possono sovrascrivere le impostazioni globali del server. Questo può includere autorizzazioni, riscrittura di URL, redirezioni, e molte altre funzionalità. Il file .htaccess è potente e flessibile, ma deve essere utilizzato con attenzione, poiché un errore può portare a problemi con il tuo sito web.

Come creo un file .htaccess?

Un file .htaccess può essere creato utilizzando qualsiasi editor di testo. Basta creare un nuovo file, inserire le direttive desiderate e poi salvarlo come ".htaccess". Ricorda, però, che il file deve essere salvato nella directory del tuo sito web a cui vuoi che le impostazioni si applichino. Inoltre, assicurati che il tuo server web supporti l'uso dei file .htaccess e che sia configurato per permetterne l'uso.

Come posso utilizzare un file .htaccess per reindirizzare le URL?

Il file .htaccess può essere utilizzato per reindirizzare le URL utilizzando la direttiva "Redirect" o "RewriteRule" se si sta utilizzando il modulo mod_rewrite. Ad esempio, se vuoi reindirizzare tutti i visitatori da una vecchia pagina a una nuova, potresti usare una direttiva come questa:

Redirect 301 /oldpage.html /newpage.html

Questo dice al server di reindirizzare permanentemente tutti i visitatori che cercano "oldpage.html" a "newpage.html".

Posso utilizzare un file .htaccess per proteggere le directory con una password?

Sì, un file .htaccess può essere utilizzato per proteggere le directory con una password utilizzando le direttive "AuthType", "AuthUserFile", "AuthName" e "Require". Dovrai creare un file .htpasswd separato che contiene gli username e le password. Questo è un esempio di come potrebbe apparire la configurazione:

AuthType Basic
AuthName "Area riservata"
AuthUserFile /percorso/al/tuo/.htpasswd
Require valid-user

Questo dice al server di richiedere un'autenticazione basica, di mostrare il messaggio "Area riservata" quando si richiede l'autenticazione, di utilizzare il file .htpasswd specificato per controllare le credenziali, e di accettare qualsiasi utente presente in quel file.

Cosa dovrei fare se il mio file .htaccess non funziona come previsto?

Se il tuo file .htaccess non funziona come previsto, ci sono diverse cose che puoi fare. Prima di tutto, assicurati che il file sia nella directory corretta e che il suo nome sia scritto correttamente. Controlla anche le impostazioni del tuo server per assicurarti che sia abilitato l'uso dei file .htaccess e che tu abbia le autorizzazioni necessarie per utilizzare le direttive che stai cercando di usare. Infine, controlla il tuo file per errori di sintassi o direttive non valide. Se continui a riscontrare problemi, potrebbe essere utile cercare aiuto in un forum di supporto o da un esperto di Apache.

Temi di essere vittima di hotlinking? Scopri come verificarlo con il nostro approfondimento. Se vuoi approfondire alcune tematiche relative ai link esterni, ti suggeriamo il nostro articolo sulla Broken Link Building. Se vuoi scoprire di più sulla SEO, puoi farlo tramite il nostro articolo sul così detto Testing SEO per migliorare le metriche del tuo progetto web.

Autore: Enrico Mainero

Immagine di Enrico Mainero

Dal 2011 Direttore Responsabile e Amministratore unico di ElaMedia Group SRLS. Mi dedico prevalentemente all'analisi dei siti web e alla loro ottimizzazione SEO, con particolare attenzione allo studio della semantica e al loro posizionamento organico sui motori di ricerca. Sono il principale curatore dei contenuti di questo Blog (assieme alla Redazione di ElaMedia).