Cerca:

11/07/2011

Errore 301 e tag canonical: cambiare indirizzi delle pagine senza perdere visibilità

Come si fa a cambiare gli URL di tutto o di parte di un sito web senza perdere visibilità nei motori di ricerca e senza rischiare di creare contenuti duplicati? (post originale del 31/5/10)

Il cambiamento degli indirizzi fisici delle pagine di un sito (URL) è un passaggio estremamente delicato per la visibilità on line nei motori di ricerca e può rendersi necessario per:

  • il passaggio ad altro dominio (andrebbe fatto solo se reso indispensabile da cambi di proprietà o disponibilità di domini con parole chiave determinanti per il nostro settore di business);
  • il restyling del sito con cambiamento dei contenuti o del loro sistema di gestione e variazione negli URL delle pagine;
  • la riorganizzazione dei contenuti in domini di 3° livello o nuove sottodirectory o la modifica di pagine o di intere sezioni del sito;
  • la riscrittura degli indirizzi dinamici delle pagine grazie ad applicazioni di URL rewriting, in modo da inserire parole chiave utili per l’indicizzazione nei motori di ricerca.

Per evitare che questi eventi si trasformino in una perdita “secca” di visibilità o nella creazione di contenuti duplicati (che lascino al motore la scelta sui risultati da mostrare) vanno usate le giuste cautele.

La corretta gestione sul web server dell’errore 301 e l’uso accorto del tag CANONICAL sono sicuramente i metodi più corretti ed efficaci per minimizzare questi inconvenienti.

L’errore 301 (spostamento definitivo di URL ad un nuovo indirizzo) è proprio la risposta standard che lo spider di un motore di ricerca o un browser dovrebbero ricevere quando richiamano una pagina che è stata rinominata.

Il sistema di content management ideale dovrebbe quindi creare quest’errore in automatico ogni volta che l’amministratore cambia l’indirizzo di una pagina web (ma, si sa, l’ideale e la realtà raramente coincidono :-).

Per poter gestire correttamente l’errore 301 sulle vecchie pagine occorre valutare i seguenti aspetti:

  • tipo di web server utilizzato dal sito (i due più diffusi sono Unix-Apache e Windows-IIS);
  • scelta delle pagine da reindirizzare (soprattutto se il sito è molto grande e non è possibile pensare di redirezionare tutte le singole pagine);
  • scelta delle nuove pagine su cui reindirizzare le vecchie;
  • perdita di page rank in ciascun redirect.

Se il server utilizzato per pubblicare il sito è un Apache per reindirizzare i vecchi indirizzi sui nuovi occorre semplicemente creare (se già non esiste) un file di testo denominato “.htaccess”, da inserire nella cartella principale del sito, in cui va riportata una riga di codice per ogni pagina da redirigere aperta dal tag “redirect 301 ” seguito dal vecchio indirizzo e dal relativo nuovo URL (una riga diversa per ogni redirect).

Se invece il sito web è stato pubblicato su Windows IIS bisogna far riferimento al pannello di controllo del server (l’apposita funzionalità è stata potenziata nelle ultime release), oppure creare ai vecchi indirizzi delle pagine con dentro il codice di redirect oppure infine lavorare su sistemi di ULR rewriting come Opens external link in new windowIsapirewrite o simili per creare delle regole di redirect dinamiche.

Esistono in rete molti tool gratuiti per verificare se il redirect è “Search Engine Friendly”. Uno dei tanti lo trovi su Opens external link in new windowwebconfs.com.

Si può trovare un elenco completo dei codici di reindirizzamento search engine friendly nei principali linguaggi di programmazione in questo ottimo articolo di Andrea Zonzin sulla Opens external link in new windowgestione del redirect 301.

Per quanto riguarda invece la scelta delle pagine da redirigere, nel caso di siti troppo grandi per il reindirizzamento manuale, occorre fare una ricerca su Google con l’operatore “site:www.vecchio-sito.it” (da ripetere poi per tutti i domini nazionali principali delle lingue in cui è tradotto il sito).

In questo modo sarà il motore di ricerca stesso a comunicarci quali pagine del nostro vecchio sito sono per lui più rilevanti. Normalmente i primi 30-50 risultati di ogni lingua riportano le pagine del primo livello di menù, più quelle interne più linkate nel resto del sito o dall’esterno.

Altro meccanismo per verificare gli URL più importanti da reindirizzare è il controllo degli errori 404 (pagina non trovata) riportati nel pannello di controllo degli Strumenti per Web Master di Google del nuovo sito/dominio dopo che sarà stato pubblicato.

L’aggiornamento dei dati richiede di solito qualche giorno, ma bisogna seguire l’operazione con attenzione perché l’efficacia del redirect dipende ovviamente anche dalla tempestività con cui viene realizzato.

Per quanto riguarda invece la scelta delle pagine su cui reindirizzare i vecchi URL, il criterio base da prendere in considerazione è l’argomento trattato in origine e nelle nuove destinazioni (e quindi le parole per cui queste risultano rilevanti agli occhi dei motori di ricerca).

Nel caso in cui si tratta di qualcosa di diverso da un semplice spostamento di contenuti identici (di cui cambia solo l’URL), più le keyword e i testi rilevanti nelle vecchie pagine sono simili a quelli utilizzati nelle nuove e maggiori saranno le possibilità di mantenere stabilmente le posizioni nei motori nel medio e lungo termine dopo il passaggio.

Se gli argomenti trattati non fossero in linea l’effetto di spinta della rilevanza dei contenuti “storici” sarebbe infatti destinato a perdersi nel tempo a seguito delle successive indicizzazioni.

Va poi considerato che, anche se si sono seguite tutte le regole fin qui definite, qualsiasi redirect comporta probabilmente una certa perdita di page rank. Per poter continuare ad ottenere buoni posizionamenti bisogna quindi affinare ulteriormente l’ottimizzazione delle pagine, in modo da compensare gli effetti negativi dello spostamento.

Per quanto riguarda invece l’uso del tag CANONICAL, va specificato che per i motori di ricerca i seguenti URL teoricamente corrispondono a pagine diverse:

  • http:// nomesito.it
  • http:// www.nomesito.it
  • http:// www.nomesito.it/index.html (dove con index.html si intende l’indirizzo della home page)
  • http:// dominio-mirror.it (dove con dominio-mirror si intendono tutti gli eventuali domini reindirizzati al sito principale)
  • http:// www.dominio-mirror.it
  • http:// www.dominio-mirror.it/index.html

Se l’identificazione dell’indirizzo principale nella versione con o senza prefisso www è ormai abbastanza buona da parte di Google (che ha anche inserito un’opzione di preferenza negli Strumenti per Webmaster), non altrettanto si può dire in tutti gli altri casi.

Ciò è dovuto principalmente al fatto che i link in entrata sul sito, sfuggendo al nostro controllo diretto, possono in realtà avere qualsiasi formato e quindi creare potenziali problemi di contenuti duplicati o domini di visualizzazione impropri nelle pagine dei risultati delle ricerche.

Per ovviare a questi inconvenienti e per non perdere il page rank passato da tutti i link in entrata su tutti gli URL facenti capo al nostro sito è buona norma:

  • battezzare un dominio principale e fare in modo che prima dell’ingresso o al primo click gli utenti vengano “spostati” su quello, indipendentemente dal link o dall’indirizzo che hanno usato per arrivare;
  • inserire all’interno delle nostre pagine (soprattutto in home page) un tag di “canonicalizzazione”, che fa riferimento allo stesso dominio principale, come nell’esempio seguente: <link rel="canonical" href="http://www.nome-dominio.com/nome-pagina.html">

L’uso abbinato dei redirect 301 e dei tag canonical non solo è in grado di prevenire eventuali duplicazioni di contenuti, ma, soprattutto, consente di concentrare e massimizzare l’effetto dei link in entrata sulla visibilità del sito nei motori di ricerca.

In conclusione, dopo aver analizzato tutti gli aspetti legati agli effetti delle modifiche di URL nei motori di ricerca, il mio consiglio principale è:
non cambiate a meno che non sia assolutamente necessario! ;-)

Se vuoi segnalare risorse utili collegate a questo tema o suggerire modifiche al testo puoi farlo commentando questo post. Sei assolutamente benvenuto.


Autore: Gianpaolo Lorusso

Il tuo voto sta per essere inserito
Giudizio: 4.5 su 5. 4 voti.
errore301-canonical.pdf484 K
stampa l'aggiornamento
massimiliano, 24-07-12 00:54:
Come posso fare un redirect o rel canonical da un sito in asp con pagina unica generata dinamicamente ad altro sito?
Gianpaolo, 25-07-12 12:14:
ciao Massimiliano,
se la pagina ha estensione .asp usa questo codice:

<%@ Language=VBScript %>
<%
Response.Status="301 Moved Permanently"
Response.AddHeader "Location", "URL-nuovo-dominio"
%>

Se invece ha estensione .aspx usa questo:

<script runat="server">
private void Page_Load(object sender, System.EventArgs e)
{
Response.Status = "301 Moved Permanently";
Response.AddHeader("Location","URL-nuovo-dominio");
}
</script>

Dove naturalmente al posto di URL-nuovo-dominio devi inserire l'indirizzo web della nuova pagina completo di prefisso http.
Carlo, 20-09-13 01:27:
Salve, è esattamente quello che sto cercando di fare.
Ovvero reindirizzare tutti i vecchi url errati segnalati da strumenti webmaster verso i nuovi url, il tutto con htaccess.
Con gli url classici funziona, ma quando cerco di reindirizzare quelli contenenti caratteri come "?" non va.
Qualche soluzione ?

Commenta

* - campo obbligatorio

*





*
*
rights.jpg, 3 kB space.gif, 0 kB