• User Newbie

    Trasformazione degli URL dinamici di un CMS articolato

    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

    1. 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.

    1.   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.

    1.   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:
      
    2.   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.
      
    3.   Se un utente o spider naviga un URL riscritto, naturalmente lo si lascia libero di farlo in quanto è esattamente il nostro target.
      

    :bho:Che ne dite ?:? suggerimenti ? :oerrori ?

    Wilson