URL rewrite

Postato da regole-seo, in Approfondimenti SEO, in data 12/07/2010

Conoscere e mettere in pratica l’url rewrite. [Parte 1 di 2]

Vai alla seconda parte » URL rewrite e .htaccess: nozioni ed esempi

rewrite-url

Questo articolo, dedicato all’url rewrite, è rivolto soprattutto a coloro che hanno una gran confusione in testa dovuta al fatto che spesso anche chi ha una certa competenza in materia usa indistintamente il termine rewrite e redirect.
In realtà sono due cose ben distinte, con scopi diversi e che permettono quindi di andare incontro a esigenze diverse anche in ambito SEO.

E’ del tutto normale che, proprio a causa di questa leggerezza nell’uso dei due termini, ci siano clienti che richiedono un redirect 301 quando in realtà necessitano di un url rewrite o viceversa.
E forse è anche normale che uno sfortunato cliente che si trovi a interagire con un consulente di profilo junior, richiedendo un url rewrite per andare incontro alle proprie esigenze SEO, si ritrovi appunto implementata un url rewrite (come da lui richiesto) quando in realtà ciò che avrebbe dovuto essere realizzato era un redirect 301 .

Dividerò l’articolo in due parti. In questa prima parte vedremo cosa è l’url rewrite, quali sono le differenze tra url rewrite e redirect 301 e quando conviene usare uno o l’altro.
Nel prossimo articolo vedremo invece come realizzare l’url rewrite tramite il modulo mod_rewrite di Apache e un po’ di esempi per andare incontro ad alcune delle problematiche più comuni che richiedono l’utilizzo di url rewrite.

Che cos’ è l’url rewrite?

Effettuare un url rewrite significa fare in modo che quando il server riceve una richiesta http per una determinata url, tale richiesta viene “convertita” in una richiesta ad una url differente che sarà quella che effettivamente genererà il contenuto della pagina web.
Esiste dunque un mapping tra una determinata url richiesta (originaria) e un’altra che sarà quella effettiva che genererà il contenuto.
Il tutto avviene lato server e il browser dell’utente non si accorge di nulla. La url che l’utente continuerà a vedere nella barra degli indirizzi sarà quella originaria. Discorso analogo per gli spider dei motori di ricerca.

Questo significa anche che realizzando una url “A” SEO-friendly mappata su una url “B” che è l’effettiva url che genererà la pagina web, avremo due url che se invocate dal browser genereranno lo stesso contenuto.
A chi si occupa di SEO a questo punto dovrebbe suonare il campanello d’allarme relativo ai contenuti duplicati.

Come vedremo tra poco esistono comunque situazioni in cui ha decisamente più senso l’utilizzo dell’url rewrite anziche del redirect 301.

Differenza tra url rewrite e redirect 301

Dopo quanto detto relativamente all’url rewrite e dopo aver letto questo articolo http://www.regole-seo.com/redirect-301-pagerank dedicato al redirect 301 ci accorgiamo che in effetti sono due cose ben diverse.

Che cosa avviene con un url rewrite:

  • CLIENT – Richiesta url A
  • SERVER – Ricezione richiesta url A
  • SERVER – Rewrite della url A con la url B
  • SERVER – invio dei contenuti generati dalla url B al CLIENT
  • CLIENT – Ricezione dei contenuti generati dalla url B

Il client dunque è ignaro dell’esistenza della url B. L’utente o lo spider di un motore di ricerca invocano la url A e ricevono i contenuti di una url differente (B) mai invocata.
L’utente nella sua barra degli indirizzi vedrà sempre la url A.

Che cosa avviene con un redirect 301:

  • CLIENT – Richiesta url A
  • SERVER – Ricezione richiesta url A
  • SERVER – Invia al CLIENT un response code 301 indicando che la url A è stata permanentemente spostata alla url B
  • CLINET – ricezione del response code 301 e invio richiesta per la url B
  • SERVER – Ricezione richiesta url B
  • SERVER – invio dei contenuti generati dalla url B al CLIENT
  • CLIENT – Ricezione dei contenuti generati dalla url B

In questo caso il client è consapevole dell’esistenza delle due url A e B ed effettua effettivamente due richieste al server.
L’utente nella sua barra degli indirizzi vedrà comparire la url B.

Url rewrite o redirect 301? Che cosa conviene usare?

Vista la differenza di funzionamento, ragionando un poco diventa facile capire in quale caso sia più opportuno usare una tecnica piuttosto dell’altra.
Utilizzeremo due esempi che dovrebbero illustrare in maniera piuttosto completa le problematiche e i vantaggi relativi alle due soluzioni.

Per quanto riguarda le necessità SEO, possiamo dire che se il vostro sito è on-line e decidete di modificare delle url per renderle più seo-friendly allora quello che dovete fare è utilizzare dei redirect 301 per almeno due buoni motivi:

  • Evitate i problemi di contenuti duplicati. Infatti con l’url rewrite avreste due indirizzi in grado di generare lo stesso contenuto: la url nuova (seo friendly) e quella vecchia che probabilmente è già presente nei link di altri siti e nelle SERP dei motori di ricerca.
  • Nessuna perdita di PageRank (come descritto in questo articolo http://www.regole-seo.com/redirect-301-pagerank). Tramite url rewrite il valore di PageRank guadagnato dalla vecchia url non verrebbe trasferito alla nuova url.

Supponete invece che il vostro sito abbia una nuova sezione, diciamo relativa ad un concorso, in comune con altri siti e situata dunque su un suo dominio differente.
L’utente potrebbe essere spaesato nel cliccare il link del concorso sul vostro sito e ritrovarsi su un dominio diverso.
Anche da un punto di vista marketing potreste avere qualche problema visto che chi ha pagato per avere dei banner sul dominio del vostro sito se li ritroverebbe invece su un dominio sconosciuto.
Ecco che in questo caso ci viene in aiuto l’url rewrite:
nel nostro sito pubblicheremo il link al concorso con una url fittizia “www.mioDominio.com/concorso” (relativa al nostro dominio e seo-friendly) e imposteremmo una regola di mapping tra quest’ultima e l’effettiva url “www.amministrazione-concorsi/concorso” facendo felici utenti e marketing.
Infatti al click sul link del concorso “www.mioDominio.com/concorso” il server risponderà con i contenuti di “www.amministrazione-concorsi/concorso” ma l’utente continuerà a vedere nella barra degli indirizzi “www.mioDominio.com/concorso”.

Chiaramente poiché la url reale non verrà mai esposta sul web non dovrebbe mai entrare negli indici dei motori di ricerca o nei link di siti esterni e quindi anche in termini di duplicazione di contenuti non si corre alcun rischio.

Vai alla seconda parte » URL rewrite e .htaccess: nozioni ed esempi

Commenti (7)

  1. Multiductus scrive:

    Ottimo! Da tempo cercavo qualcosa di utile sull’argmento e questa guida capita proprio a fagiuolo!

  2. shuuchan scrive:

    La tecnica di “url rewrite” descritta in questo articolo viene anche definita “forwarding”, un nome che probabilmente suonerà più familare a chi proviene da un ambito di sviluppo web/enterprise (come il sottoscritto), specie se utilizza Java per la programmazione lato server.

    Approfitto di questo spazio per fare i miei complimenti per il sito e gli articoli contenuti: ottime introduzioni per chi si avvicina alle problematiche SEO.

  3. [...] eventualmente segui questa semplice guida: http://www.regole-seo.com/rewrite-url __________________ Tower Defense giochi in [...]

  4. luca scrive:

    Io ho delle url “poco user friendly” ma non ho modo di renderle più amichevoli attraverso il cms. Vorrei dunque impostare con l’htaccess un rewrite. Il problema è che in molti hanno linkato le vecchie url “poco friendly”. Avrei dunque bisogno di impostare, contemporaneamente insieme ai rewrite dei redirect da vecchie url “poco friendly” a nuove url “friendly”. E’ possibile o è un serpente che si morde la coda? Grazie

  5. regole-seo scrive:

    Ciao Luca, solo il redirect ti può salvare.
    Con la rewrite, allo stato attuale, otterresti che due url portano al medesimo contenuto.

  6. “one sources, Prince Harry, the official did not disclose the date of marriage銆侺ondon China Town is located in the City of Westminster in central London Soho , it is not only English , but also one of the largest Chinese community in Europe銆侻inutes show that the Bank of England so far this year , the global economic growth momentum change, which slowly developed economies continue to maintain the momentum of recovery , growth in emerging economies has weakened銆侺ondon Chinatown Chinese Association Secretary-General Zheng Jianqiang said the raids targeted checks are not based on clues , but the blind search, often empty-handed銆侶e is to lose weight while dieting , the latest efforts include ” quit ” in the 24 daily breakfast omelet銆侭ecause Chinese students applying quality rising rejection rate of 14% from 2010 to 2012 declined 2% , this point of view the measure has little effect on Chinese students銆?

  7. Maurizio scrive:

    Ciao a tutti, vi scrivo per chiedervi aiuto con una questione un po’ difficoltosa. Premetto che non sono un sistemista, quindi ho qualche lacuna tecnica.
    Io ho questa situazione qui da sbrogliare.

    Premetto anche che per il caso in questione, non esigenze di buona pratica SEO (il mio cliente non ha interesse in posizionamento o indicizzazione dei contenuti del suo sito).

    Ho un cliente che ha un dominio, bloccato per questioni contrattuali, presso un fornitore X (che non sono io). Non trasferibile. Anche i server di posta legati al dominio, devono necessariamente risiedere presso i DNS del fornitore del dominio.
    L’hosting, nel quale risiede il sito, è fornito da altra società.
    In mezzo ci sono io, che sono il web designer (che gestisco l’hosting, ma non sono io fisicamente l’housing).

    Il dominio principale del sito è “pippo.ORG”.
    Abbiamo spostato l’hosting presso il nuovo fornitore. Purtroppo non possiamo effettuare un redirect DNS per il solo hosting, perchè altrimenti salterebbero i server di posta (clausole contrattuali del fornitore del nuovo hosting), e non è fattibile per una serie di altre implicazioni contrattuali.
    La soluzione è stata comprare il dominio “pippo.COM” a cui associare l’hosting del sito (tutto con lo stesso fornitore).

    Ora quindi abbiamo una soluzione così composta:
    Dominio “pippo.org” fa un redirect semplice su dominio “pippo.com”.
    Il mio cliente mi chiede se sia possibile realizzare un rewrite in modo che la url visualizzata sia comunque “pippo.org”.

    Sapete darmi qualche dritta?
    Grazie

Scrivi un commento