Tutorial SEO: Ecco la differenza tra redirect 301 e URL Rewrite

Non hai mai capito la differenza tra Redirect 301 e URL Rewrite?

Ti è poco chiaro il loro utilizzo e quali sono le giuste azioni da compiere per evitare errori?

Vuoi consultare le migliori risorse on line selezionate per te, che trattano queste due tecniche SEO?

Se hai tutti questi dubbi, ti consiglio di prenderti 5 minuti e leggere fino in fondo l’articolo qui sotto.

Ti invito a porre le tue domande a Dario Ciracì e Vito Antonio Lioce.

I due autori del post che stai per leggere, saranno ben lieti di rispondere ai tuoi dubbi e condividere le loro conoscenze.

Ecco il tutorial in dettaglio.

Redirect 301 e URL Rewrite: Cosa sono e come usarli nel modo corretto

di Vito Antonio Lioce e Dario Ciracì

redirect 301 o URL Rewrite?

Quando si lavora ad un progetto Seo, bisogna prendere in considerazione diverse strategie per migliorare il posizionamento nei risultati di ricerca.

Possiamo dividere i fattori on e off site:

  • I primi riguardano le procedure da applicare internamente al sito web.
  • I secondi servono per aumentare la popolarità del progetto on line.

Tra le strategie da poter applicare all’interno di un sito, possiamo considerare importanti le url delle pagine web.

Perchè è preferibile avere una url statica?

Ai fini SEO è sempre meglio avere url statiche come:

www.vacanzeinpuglia.it/casealmare

anziché

www.vacanzeinpuglia.it/index.php?art=casealmare&rubrica=m

I motivi per cui preferire una url statica sono essenzialmente due:

  1. una url statica permette di essere di maggior utilità per l’utente, che capisce al volo cosa troverà all’interno della singola pagina web. Ci sono studi che affermano come la staticità delle url permetta di avere un miglior click through rate.
  2. La url statica inoltre permette di inserire delle keyword predefinite, e ciò aiuta sicuramente il ranking, in quanto il fatto di possedere parole chiavi nella url delle pagine del sito, è uno dei fattori di ranking.

Certo, non è determinante e forse è anche uno tra i parametri on site, che negli ultimi anni ha perso un po’ di peso, ma è sempre meglio utilizzarlo.

Quando nasce la necessità di riscrivere le URL?

Il problema potrebbe nascere quando ci viene affidato un sito web per ottimizzarlo lato seo, o per modificarne il design.

Magari proprio l’ottimizzazione, prevede il cambiamento dell’architettura delle informazioni, con aggiunta di nuove pagine o modifiche di quelle esistenti.

Dopo la nostra analisi,  ci rendiamo conto che le pagine web del sito, presentano url dinamiche.

Nasce quindi il problema di riscrivere le url per aumentarne il ranking.

Ci sono plugin per i CMS che permettono l’ottimizzazione delle url, ma cosa succede se ci limitiamo a questo procedimento?

Nel caso utilizzassimo senza testare e controllarne il corretto funzionamento alcuni plugin per CMS, potrebbe accadere che tutti i link esterni che puntavano a singole pagine (e url) del sito, non troverebbero più corrispondenza, e i link non esisterebbero più.

Inoltre il Pagerank nelle singole pagine che si genera grazie ai collegamenti provenienti da altri siti, verrebbe di fatto a perdersi.
Puoi immaginare le conseguenze catastrofiche nei risultati di ricerca.

Nonostante si dica che il Pagerank non è fattore seo e abbia perso sempre più importanza col passare del tempo, resta sempre vero che un sito con un buon PR (Pagerank), permette di avere una spinta maggiore nel ranking delle parole chiave oggetto di interesse.

Quali azioni dobbiamo compiere per non commettere errori che potrebbero farci scomparire dai risultati di ricerca?

Sono due le procedure che ci possono aiutare:

Tieni presente che per poter utilizzare queste procedure, devi apportare delle modifiche ad un file chiamato .htaccess, ad uso esclusivo dei server Apache (o Unix Based).

Per usare bene l’url rewrite e il redirect 301, ti segnalo anche che:

  • deve esistere solo un file .htaccess per cartella;
  • le impostazioni contenute nel file sono ereditarie.Se questo file viene inserito in una determinata cartella, tutte le sottocartelle di qualsiasi livello, ereditano le regole aggiunte nell’htaccess.

Ora vediamo nello specifico entrambe queste funzioni.
Iniziamo con il redirect 301.

Come funziona il Redirect 301

Questa procedura di reindirizzamento consiste nel segnalare agli spider dei motori di ricerca e ai browser degli utenti, che una pagina è stata spostata permanentemente (infatti lo status code 301 sta per “Moved Permanently” cioè “pagina spostata in modo permanente”) da un indirizzo url ad un altro.

Quando si richiama “la vecchia url”, si viene inviati automaticamente sulla nuova url.

Fasi iniziali: Come usare in modo corretto il Redirect 301

Bisogna aprire, o nel caso non ci fosse creare, il file chiamato .htaccess da inserire nella root (o cartella principale) del dominio su cui vogliamo operare, e scrivere le seguenti regole:

Redirect 301 vecchiourl.html nuovaurl.html

Oppure:

Redirect 301 vecchiourl.html http://www.dominio.com/nuovaurl.html

Due esempi di casi specifici: Come spostare una cartella o un dominio con il Redirect 301

Ci può essere anche il caso in cui bisogna effettuare il redirect di un’intera cartella, in questo caso la regola da utilizzare è:

RedirectMatch 301 vecchiacartella/(.*) nuovacartella/$1

Nel caso in cui bisogna ridirigere un intero dominio bisogna usare la regola:

Redirect 301 / http://www.dominio.com/

In queste regole segnalate sopra, per il primo parametro (quello da sostituire), è buona norma non includere tutto il dominio (http://www.dominio.com/), perché il server inserisce automaticamente il percorso, fino alla cartella in cui si trova il file .htaccess.

Tieni presente che, una volta individuato il redirect da parte dello spider, il motore di ricerca “dovrebbe” cambiare il vecchio url presente nei suoi indici e inserire quello nuovo.

In realtà, c’è un periodo che dura alcuni giorni, in cui si può assistere all’alternanza tra il vecchio e il nuovo url nelle serp. Passate queste fluttuazioni, tutto dovrebbe tornare alla normalità con il nuovo url correttamente indicizzato.

Passiamo adesso a vedere l’altra procedura.

Che cos’è e a cosa serve l’Url Rewrite

L’url rewrite è la riscrittura delle url, che viene usata per permettere una migliore lettura da parte dell’utente e un’ indicizzazione più agevole degli spider dei motori di ricerca.

Infatti, un url del tipo:

http://www.dominio.com/index.php?uno=213&due=articolo&tre=titolo

è più difficoltoso da indicizzare perché i caratteri “?”, “&” e “=” non risultano di chiara comprensione agli gli spider mentre, un indirizzo url come questo:

http://www.dominio.com/213/articolo/titolo.html

risulta essere di più facile da capire sia per i motori di ricerca, che per gli utenti che atterrano sulla pagina.

Come usare l’Url Rewrite

Per poter riscrivere un url in modo corretto, all’interno del nostro file .htaccess, inseriamo la seguente regola:

RewriteRule /([^/]+).html /index.php?uno=$1 [L]

In questo caso, il nostro url verrà riscritto in:

http://www.dominio.com/titolo.html

La cosa più straordinaria dell’url rewrite è il fatto che possiamo riscrivere le url nella maniera che troviamo più utile e funzionale, a prescindere dal tipo e dalla quantità di parametri che abbiamo bisogno di utilizzare.

infatti, prendiamo adesso l’esempio originale:

http://www.dominio.com/index.php?uno=213&due=articolo&tre=titolo

se lo vogliamo riscrivere in modo più leggibile la regola da inserire nell’.htaccess è la seguente:

RewriteRule /([^/]+)/([^/]+)/([^/]+).html /index.php?uno=$1&due=$2&tre=$3 [L]

Scritto questo, l’url risulterà pressappoco così:

http://www.dominio.com/213/articolo/titolo.html

Gli esperti sapranno cosa sono quei simboli all’interno delle parentesi tonde ([^/]+).

Per i neofiti, ti segnalo che si tratta di espressioni regolari, molto utilizzate nel campo della programmazione.

L’espressione regolare che vedi qui sopra, intercetta qualsiasi tipo di carattere che sta’ fra l’uguale (=) e la e commerciale (&) o la fine della stringa, e di inserirla nella variabile che poi andrà a comporre il nostro url.

Nota anche che nel caso in cui abbiamo due o più variabili, l’ordine in cui vengono presi i parametri, sono dettati dalle variabili che devono essere necessariamente nominate con il carattere $ e un numero progressivo che parte da 1.

L’ultima osservazione prima di chiudere questa guida all’uso di questi 2 sistemi di reindirizzamento, la tengo per dire una cosa sulla nuova pagina che andiamo a comporre.

Questa url così generata non esiste, è solo una sorta di nome alternativo che il server riconosce per far vedere ai motori di ricerca una pagina statica al posto di una dinamica, e far si che venga indicizzata correttamente.

Risorse Utili e Fonti

Per terminare ti segnalo qualche link di approfondimento:

Autori:

Photo credits: Corbisimages.com

Ti è piaciuto questo articolo?

Ricevi continui aggiornamenti su come migliorare il tuo blog:

Scegli di seguire i post e le chicche di blographik (esclusiva ai soli iscritti), direttamente nella tua casella email.

Abbonati ora alla newsletter compilando questo form.

Nome:
Email:
 
 

Articoli correlati:

Se di tuo interesse, puoi consultare anche i seguenti post correlati:

  • Simone

    Quest’articolo cade giusto a proposito, proprio in questi giorni devo inserire un redirect 301 sul vecchio sito di un’azienda (sito.it) verso l’url nuovo (sito.com). Molto utile.
    Volevo chiedere una cosa, è preferibile/necessario usare il metodo col file .htaccess? Sapevo che c’erano anche altri modi per operare un reidrect 301, utilizzando linguaggi tipo ASP o Php (come peraltro viene segnalato nel link alla pagina giorgiotave.it). I metodi che si usano sono indifferenti? Grazie.

    • http://www.blographik.it Mirko D’Isidoro

      Ciao Simone, grazie per aver aperto le danze ;) .

      Volevo chiederti di inserire il link a cui ti riferisci del forum di Giorno, in questo modo offriamo al lettore che segue la discussione, tutti i parametri e le risorse utili per approfondire l’argomento.

      Grazie.

      • Simone

        Ciao Mirko, grazie a te e ai due guest poster, quest’articolo sembrava fatto apposta per me! ;)

        Il link al forum di Giorgio Tave a cui mi riferisco è

        http://www.giorgiotave.it/wikigt/os/Redirect_301

        già segnalato all’interno del post. Come si vede ci sono diversi metodi, c’è differenza?

        Grazie e ciao.

        • http://www.blographik.it Mirko D’Isidoro

          Ok Simone, grazie per la precisazione.
          Come vedi il nostro Vito ti ha già risposto, continuate la vostra discussione tra voi, nel caso mi venga in mente qualcosa per migliorare i contenuti e il valore della chiacchierata, interverrò anch’io.

    • http://www.vitolioce.com Vito Lioce

      Ciao Simone, rispondo subito alla tua domanda.
      Molto dipende dal tipo di server che ospita il sito: se è un server Unix Based (al 99% sarà un Apache), è preferibile utilizzare il file .htaccess, perché questo indica allo spider che il sito è stato spostato, e non che non esiste più; mi spiego meglio: il file htaccess, è il primo file che il browser (e lo spider del motore di ricerca) rileva, quindi se li dentro trova che il sito è stato spostato, lui segue quell’indicazione. Viceversa, se utilizzi i metodi ASP o PHP devi racchiudere lo script in un file, che deve essere letto (dal browser o dallo spider), quindi in un “livello” più basso rispetto all’htaccess. E’ ovvio che nel caso in cui usufruisci di un hosting con server Windows è d’obbligo usare uno script ASP (o similare), visto che non puoi utilizzare il file .htaccess. Spero di esserti stato d’aiuto e il più chiaro possibile.

      • Simone

        Ciao Vito, la spiegazione è chiarissima. Ora sono sicuro di non sbagliare.
        Grazie ancora, ciao!

  • Wizard86

    Questo topic mi ha fatto venire un bel dubbio… http://www.giorgiotave.it/forum/asp-asp-net/21316-reindirizzare-da-vecchio-url-dinamico-nuovo.html
    Sto rifacendo il sito in questione, passando da CMS Joomla a pagine
    statiche, quindi anche io dovrei cancellare poi il vecchio sito e
    relativo database, un po come questo utente qui. In questo caso che mi
    tocca fare? Sono andato in confusione!

    • http://www.vitolioce.com Vito Lioce

      Come scritto nel topic, devi “duplicare” tutti i contenuti da Joomla a statico, quindi segnarti tutti gli URL di joomla che vuoi reindirizzare e farli puntare, come descritto in questo articolo, ai nuovi url delle pagine statiche. 
      Spero di esserti stato d’aiuto e il più chiaro possibile.
      E comunque, tranquillo, la rete è qui per te! ^_^

  • Pingback: Raccolta di articoli della settimana 2/10/2011 | Saverio Gravagnola

  • http://www.snwebsolution.com/ creazione siti web brescia

    Ciao, hai un’idea di dopo quanto è possibile togliere il redirect? ovvero quando google ha capito che ormai l’indirizzo è quello?

  • Giovybreak

    impensabile ignorare quest’articolo. complimenti! 

    • http://www.blographik.it Mirko D’Isidoro

      Grazie mille per il tuo apprezzamento. Se il post ti è stato utile, aiutaci a diffonderlo su facebook e twitter.

  • Gino

    non ho capito una cosa,se ho un vecchio sito che voglio cambiare completamente anche di contenuti ha senso fare redirect 301 di tutte le vecchie pagine alla home? poi ho messo tutte le vecchie pagine nel robots.txt ma google dopo 1 anno ancora vede le vecchie pagine…dove ho sbagliato?
    ciao e grazie

    • http://www.blographik.it Mirko D’Isidoro

      Gino, non ho ben capito perchè dovresti cambiare completamente il tuo sito, dal punto di vista dei contenuti.

      Di sicuro fai bene a non cancellare o eliminare i vecchi articoli/pagine, perchè perderesti anche del ranking su google.

      Ti consiglio di evitare di usare il robots.txt per effettuare pulizie di questo tipo, è un suggerimento che ci è stato segnalato da Enrico Madrigano, durante l’ultimo seo web marketing strategico a Milano.

  • http://www.quirky.it Manuel Grifalconi

    Ciao grazie dell’articolo, molto chiaro, mi rimane soltanto un dubbio.
    Se io cambio la modalità di rewrite url, o comunque cambio il permalink (nel mio caso mi riferisco a wordpress), è poi necessario che faccia il redirect 301 oppure i motori di ricerca tengono comunque in memoria l’url originale?
    Spero di essermi spiegato…

    • http://www.blographik.it Mirko D’Isidoro

      Manuel, per i redirect da wordpress ti consiglio di usare un plugin specifico, che ti permette di non perdere nulla nei risultati di ricerca.

      Ecco quindi che non devi far nessuna azione di redirect 301 a mano.

  • Simone_zukimania

    Bell’articolo! Mi lascia però un dubbio sul comportamento dei motori di ricerca. Usando il redirect 301 il motore sa che la vecchia pagina è definitivamente migrata verso la nuova per cui “trasferisce” una parte di PR e i dati sul posizionamento, trust rank ecc ecc verso la nuova. MI chiedevo se l’url rewrite facesse una cosa simile o meno. Lo chiedo perchè ho un sito (gia indicizzato) su cui ho attivato l’url rewrite, fino qui tutto bene. Il problema è che le vecchie pagine continuano ad essere accessibili con il vecchio indirizzo e temo due cose 1) contenuti duplicati 2) che le nuove pagine debbano inizare dall’inizio la scalata alle SERP.
    Per provare a risolvere ho inserito questa regola (una per pagina)
    RewriteCond %{QUERY_STRING} ^id=idpagina$

    RewriteRule ^(.*)$ httmm://miosito.com/nomepagina? [R=301,L]
    ed effettivamente le vecchie pagine non sono piu raggiungibili perche l’url viene riscritto ma non è un redirect vero e proprio…
    Paure infondate?
    grazie!

    • http://www.blographik.it Mirko D’Isidoro

      Ciao Simone, hai posto diverse domande e mi sono perso il tuo problema, visto che mi sembra che hai risolto da solo.

      Se non hai avuto perdite di posizionamento derivanti da questa tua azione di url rewrite, non devi aver paura di nulla ;) .