Di Daniele Vietri @ 30/03/2006 - in Web Development - Commenti (52)
Questo post è stato letto 18643 volte in 1617 giorni.
Sappiamo tutti che i principali motori di ricerca non gradiscono indicizzare le pagine che contengono dei parametri nell'indirizzo (url), in particolare pagine dinamiche con parametri numerici, come gli ID.
Per risolvere questo problema gli sviluppatori hanno adottato diverse tecniche tra cui quella di modificare dinamicamente l'indirizzo di una pagina web in maniera da farla sembrare "statica" e senza parametri. Questa soluzione si chiama "rewrite" ed indica l'utilizzo di un software, installato sul Web Server, in grado di modificare l'url di una pagina web con lo scopo (prevalente) di migliorare l'indicizzazione sui motori di ricerca.
Grazie all'utilizzo di questo metodo possiamo partire da un indirizzo come
http://www.dblog.it/dblog/articolo.asp?articolo=510
per arrivare ad ottenere un indirizzo come
http://www.dblog.it/dblog/viva-il-peru.asp
sicuramente più apprezzato dagli spider perché non ci sono parametri numerici ed inoltre il nome del file contiene alcune parole importanti per identificare il contenuto della pagina stessa.
Questa tecnica viene sfruttata principalmente sul Web Server Apache perché dispone di un rewrite engine chiamato "mod_rewrite". Sui Web Server IIS invece occorre installare un filtro ISAPI come ad esempio il motore "ISAPI_rewrite" o "URL Replacer". Ma nel caso in cui il provider non abbia la minima intenzione di installare questi software su Internet Information Server? Nessun problema: rimbocchiamoci le maniche e proviamo a confezionare la nostra soluzione 
Per sviluppare un semplice motore di URL Rewriting in ASP con VBSCript dobbiamo partire da una considerazione di fondo: non potendo gestire la traduzione dinamica degli indirizzi web né la loro interpretazione (compiti demandati ad una libreria del Web Server IIS a cui, tramite ASP, non abbiamo accesso) un possibile escamotage consiste nella creazione di pagine fittizie collegate al contenuto reale.
L'idea è quella di sfruttare i contenuti dinamici memorizzati nel database, ma far credere agli spider che non sia così; allo stesso tempo dobbiamo però mantenere la comodità di una struttura gestibile da Pannello di controllo remoto. Per offrire questa garanzia non possiamo salvare il testo all'interno delle pagine fittizie, bisogna trovare un modo per collegarle al DataBase. Una soluzione è quella di salvare l'ID dell'articolo come variabile direttamente nella pagina fittizia e poi sfruttare una query per recuperare i dati e mostrarli nella pagina. Idee confuse?
Passiamo a qualcosa di più pratico per semplificare.
Per una struttura di articoli servono:
- un database con la tabella articoli
- nella tabella articoli un campo ID univoco/contatore, un campo titolo e un campo testo
- una cartella con permessi di scrittura (es. \public) dove salvare le pagine fittizie
Supponendo di sfruttare un database già disponibile e di aver inserito la connessione nel file chiamato inc_db.asp, possiamo passare alla creazione del nostro primo script, il più importante, da salvare nella root insieme ad inc_db.asp:
inc_pagina.aspLo script inc_pagina.asp verrà automaticamente incluso nelle pagine fittizie e lavorerà in modo da sfruttare la variabile VarID, valorizzata in maniera statica dentro ognuna di queste pagine. In sostanza non fa nient'altro che leggere la VarID ed utilizzarla per recuperare Titolo/Testo dalla tabella Articoli, per poi mostrarli nella pagina come se si trattasse di un semplice HTML statico.
Nella cartella \public avremo ovviamente salvato tutte le pagine fittizie i cui nomi saranno composti secondo la sintassi IDNumerico-titolo-dell-articolo.asp, ad esempio:
510-viva-il-peru.aspMancano infine i due script nel Pannello di controllo per la creazione di un nuovo articolo e la modifica di uno già esistente. Nel primo caso è molto semplice: si procederà con il classico inserimento nel DataBase ed aggiungeremo la successiva creazione della pagina fittizia.
aggiungi.asp
In sostanza si crea un normale file di testo con estensione .asp nella cartella \public e si inserisce dentro una stringa di testo che andrà a comporre il codice ASP, come se l'avessimo scritto a mano. La funzione ConvertiTitoloInNomeScript si occupa invece di creare il nome per il file partendo dal Titolo dell'articolo e dall'ID, per recuperarlo in modo univoco quando necessario. Ecco un primo esempio, assolutamente da ampliare, per questa funzione:
Infine la pagina di modifica di un articolo già presente nel DataBase conterrà del codice aggiuntivo solo nel caso in cui venga modificato il Titolo. Nello specifico dovrà eseguire una query per caricare i dati necessari (quindi ID e Titolo dell'articolo) ad identificare in modo univoco la pagina fittizia collegata, procedere alla cancellazione della vecchia pagina e quindi alla creazione di quella nuova, così:
modifica.asp
Nella nuova veste del mio blog personale ho utilizzato proprio questa tecnica, modellandola sulle mie necessità e per adesso non ho riscontrato nessun tipo di problema.
Mi piacerebbe sentire cosa ne pensate, a voi la parola.
Qui una versione scaricabile del codice Mod Rewrite ASP.
Nel sito di Wikipedia maggiori dettagli sul Mod Rewrite (in inglese).
Questo articolo ti è piaciuto?
Di
Marlenek
il 03/04/2006 @ 19:35:31
Di
Paolo Slanzi
il 03/04/2006 @ 20:48:22
Di
Giovanni
il 28/07/2006 @ 18:28:23
Di
Fabio
il 04/08/2006 @ 15:59:43
Di
pippo baudo
il 06/08/2006 @ 00:28:14
Di
Marlenek
il 08/08/2006 @ 21:39:56
Di
Giovanni
il 09/08/2006 @ 17:04:21
Di
Ste
il 06/10/2006 @ 15:26:13
Di
Marlenek
il 06/10/2006 @ 19:26:51
Di
Luca
il 14/12/2006 @ 02:21:23
Di
tymba
il 26/12/2006 @ 10:51:02
Di
Anonimo
il 19/01/2007 @ 12:57:45
Di
Tyrser
il 02/04/2007 @ 11:10:11
Di
Cristian
il 24/05/2007 @ 09:26:37
Di
Ste
il 24/05/2007 @ 09:49:02
Di
Fabio
il 25/05/2007 @ 01:21:51
Di
ivano
il 05/08/2007 @ 09:06:55
Di
Pinco Pallino
il 21/09/2007 @ 14:38:18
Di
Daniele
il 25/10/2007 @ 16:45:11
Di
Marlenek
il 02/11/2007 @ 22:40:50
Di
Daniele
il 05/11/2007 @ 21:34:03
Di
Roberto
il 22/11/2007 @ 13:10:08
Di
Marlenek
il 26/12/2007 @ 14:50:45
Di
marina
il 13/03/2008 @ 22:01:26
Di
mixpax
il 01/04/2008 @ 12:38:39
Di
marlenek
il 22/04/2008 @ 23:30:45
Di
Giancarlo
il 19/09/2008 @ 09:19:04
Di
marlenekk
il 19/09/2008 @ 19:47:04
Di
florence
il 05/05/2009 @ 17:47:02
Di
Marco
il 03/06/2009 @ 21:02:36
Di
marlenekk
il 03/06/2009 @ 22:28:29
Di
Marco
il 04/06/2009 @ 00:34:32
Di
marlenekk
il 04/06/2009 @ 21:36:48
Di
Marco
il 05/06/2009 @ 09:44:05
Di
marlenekk
il 10/06/2009 @ 22:55:14
Di
florence
il 27/06/2009 @ 02:06:34
Di
Anonimo
il 10/08/2009 @ 17:58:39
Di
marlenekk
il 29/08/2009 @ 09:23:07
Di
jonny
il 02/11/2009 @ 14:02:47
Di
marlenekk
il 19/01/2010 @ 21:03:36
Di
Fabio
il 03/02/2010 @ 15:57:35
Di
marlenekk
il 03/02/2010 @ 22:29:47
Di
Lorenzo
il 10/03/2010 @ 19:42:43
Di
Lorenzo
il 12/03/2010 @ 19:00:09
Di
marlenekk
il 12/03/2010 @ 20:57:08
Web Project Manager di sistemi e-Commerce e community, autore di dBlog CMS... [continua]
e-Commerce Forum 2010 live blogging (appunti): SearCROptimization - chi cerca, compra
18/05/2010 - in eCommerce - Commenti (0)
Google Suggest: la F di...
15/09/2009 - in Internet - Commenti (0)
Web Marketing GT Conference: appunti dalla Bocconi
25/06/2009 - in Web Marketing - Commenti (2)
Seolab: appunti dal corso SEO illuminato
09/06/2009 - in Web Marketing - Commenti (3)
Corso SeoLab: di ritorno dal SEO illuminato
28/05/2009 - in Web Marketing - Commenti (0)
Scopri:
Info |
Date e città |
Argomenti |
Destinatari |
Blog
Di Paolo Slanzi il 03/04/2006 @ 12:07:37