Prendiamo in considerazione un sito con le seguenti caratteristiche:
Dominio .it
Anno di registrazione 2003
Tecnologia Classic ASP
Piattaforma CMS Proprietario
Server Microsoft Windows 2003
Database MSSQL
Utenti mensili 15.000 unici ca.
Pagine indicizzate su Google 700
Di cui:
50 sono pagine con un “Pretty URL” ( Es. vvv.miosito.it/nomearticolo.asp)
650 con l’URL della pagina dinamica (Es. vvv.miosito.com/pagina.asp?prod_id=nom_art)
Target Incrementare le visite al sito
Considerazioni sullo stato di fatto
Il sito è posizionato in prima pagina, al terzo posto con la keyword di maggior pertinenza alla contenutistica del sito, prediamo per esempio “auto usate”. E’ stata creata una pagina, auto-usate.asp all’interno della quale c’è la lista delle marche di auto usate.


Diversamente dalla pagna auto-usate.asp (quella posizionata in prima pagina al 3° posto) tutti i link in essa contenuti verso le varie marche sono posizionati molto peggio 3° pagina, 5° pagina, nessuna pagina …. etc… etc .. infatti questi link non hanno una pagina con un URL del tipo bmw-usate.asp ma utlizzano tutti la stessa pagina dinamica, per l’appunto, pagina.asp?marcaid=XXXX

Analizzando la concorrenza, tutti gli altri siti hanno pagine con “Pretty URL”.

Considerazioni sulla struttura del sito e sull’utilizzo dell’URL Rewrite

Per implementare l’URL rewriting sul server in questione equipaggiato con Microsoft IIS 6.0 viene utilizzato il componente ISAPI Rewrite 3

La struttura del sito non consente in maniera agevole di utlizzare le espressioni regolari al fine di tradurre tutti gli URL dinamicamente con risultati di eccellenza dunque si è scelto per un mapping one to one.


Implementazione


L’obbiettivo è quello di modificare tutti i link del sito che utlizzano URL dinamici con URL riscritti. Si è proceduto dunque attraverso 4 passaggi findamentali:

1. Si è creata una tabella sul database denominata Rewrite_Table composta da due campi:

· URL_Originale
· URL_Riscritto

2. Si è implementato su tutte le pagine del sito uno script in modo che ogni qualvolta un utente clicchi su un link questo venga scritto nel database sia nella sua forma originale che in quella riscritta:

Esempio

Link cliccato: Fiat Usate [href: vvv.miosito.com/pagina.asp?cat=448 title: Fiat Usate]

Quindi si è scritto sulla tabella Rewrite_Table:

URL_Originale = /pagina.asp?cat=448
URL_Riscritto = /fiat-usate.html

Lo stesso script scrive in append sul file .htaccess la riga:

RewriteRule /fiat-usate.html /pagina.asp?cat=448

In questa maniera man mano che gli utenti navigano il sito, da li a pochi giorni, avremo la riscrittura di tutti i link del sito.

3. Si è implementato un script su tutti i link del sito che attraverso una procedura IF interroga la tabella Rewrite_Table e qualora trovi se stesso (il link ovvero l’URL dinamico) sostiutisca l’HREF con il valore del campo URL_Riscritto relativo al valore trovato nel campo URL_Originale

In questo modo man mano che gli utenti navigano il sito questo aggiorna tutti i suo link con Pretty URL.

4. Al fine di non creare pagine che potrebbero essere intese come doppioni e dovendo pensare a tutti gli URL già indicizzati da Google si è implementato uno script all’inzio di ogni pagina che risponde a due condizioni:

1. Se un utente o spider navigano su un URL dinamico (il quale trova il suo “tradotto” sia nella tabella Rewite_Table che nel file .htaccess ) allora si opera un reidrect 301 verso quello stesso URL riscritto.
2. Se un utente o spider naviga un URL riscritto, naturalmente lo si lascia libero di farlo in quanto è esattamente il nostro target.




Che ne dite ? suggerimenti ? errori ?


Wilson