SEO: un Mod Rewrite in ASP

0.00 avg. rating (0% score) - 0 votes

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

<!–#include virtual=”/inc_db.asp”–><%

If VarID <= 0 Then

VarID = 0

End If SQL = ” SELECT Titolo, Testo FROM Tabella WHERE Tabella.ID = “& VarID &” “

Set RS = Server.CreateObject(“ADODB.Recordset”)

RS.Open SQL, Conn, 1, 3

If NOT RS.EOF Then

RSTitolo = RS(“Titolo”)

RSTesto = RS(“Testo”)

Else

RSTitolo = “”

RSTesto = “”

End If

RS.Close

Set RS = Nothing

Conn.Close

Set Conn = Nothing

%>

<html>

<head>

<title><%=RSTitolo%></title>

</head>

<body>

<strong><%=RSTitolo%></strong>

<br /><%=RSTesto%>

</body>

</html>

Lo 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.asp

<%VarID = 510

%>

<!–#include virtual=”/inc_pagina.asp”–>

Mancano 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 precedenza abbiamo inserito il record nel DataBase Set FSO = CreateObject(“Scripting.FileSystemObject”)

Set Documento = FSO.OpenTextFile(Server.MapPath(“/public/”) & “\” & ConvertiTitoloInNomeScript(FTitolo, IDArticolo), 2, True)

ContenutoFile = “”

ContenutoFile = ContenutoFile & “<” & “%” & vbCrLf

ContenutoFile = ContenutoFile & “VarID = “& IDArticolo &”” & vbCrLf

ContenutoFile = ContenutoFile & “%” & “>” & vbCrLf

ContenutoFile = ContenutoFile & “<!–#include virtual=””/inc_pagina.asp””–>”

Documento.Write ContenutoFile

Set FSO = Nothing

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:

Function NoHTML(Stringa)Set RegEx = New RegExp

RegEx.Pattern = “<[^>]*>”

RegEx.Global = True

RegEx.IgnoreCase = True

NoHTML = RegEx.Replace(Stringa, “”)

End Function

Function ConvertiTitoloInNomeScript(Titolo, IDArticolo)

Risultato = Titolo

Risultato = NoHTML(Risultato)

Risultato = LCase(Risultato)

Risultato = Replace(Risultato, ” “, “-“)

Risultato = Replace(Risultato, “\”, “-“)

Risultato = Replace(Risultato, “/”, “-“)

Risultato = Replace(Risultato, “:”, “-“)

Risultato = Replace(Risultato, “*”, “-“)

Risultato = Replace(Risultato, “?”, “-“)

Risultato = Replace(Risultato, “<“, “-“)

Risultato = Replace(Risultato, “>”, “-“)

Risultato = Replace(Risultato, “|”, “-“)

Risultato = Replace(Risultato, “”””, “”)

Risultato = Replace(Risultato, “‘”, “-“)

‘…ulteriori controlli a piacere, il migliore include solo a..z e 0..9

Risultato = IDArticolo & “-” & Risultato & “.asp”

ConvertiTitoloInNomeScript = Risultato

End Function

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

 ‘…’In precedenza abbiamo controllato che il titolo sia stato modificato e quindi effettuato la query di Update Set FSO = CreateObject(“Scripting.FileSystemObject”)

If FSO.FileExists(Server.MapPath(“/public/”) & “\” & ConvertiTitoloInNomeScript(FTitoloVecchio, QSID)) Then

Set Documento = FSO.GetFile(Server.MapPath(“/public/”) & “\” & ConvertiTitoloInNomeScript(FTitoloVecchio, QSID))

Documento.Delete

Set Documento = Nothing

End If

Set Documento = FSO.OpenTextFile(Server.MapPath(“/public/”) & “\” & ConvertiTitoloInNomeScript(FTitolo, QSID), 2, True)

ContenutoFile = “”

ContenutoFile = ContenutoFile & “<” & “%” & vbCrLf

ContenutoFile = ContenutoFile & “VarID = “& QSID &”” & vbCrLf

ContenutoFile = ContenutoFile & “%” & “>” & vbCrLf

ContenutoFile = ContenutoFile & “<!–#include virtual=””/inc_pagina.asp””–>”

Documento.Write ContenutoFile

Set Documento = Nothing

Set FSO = Nothing

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

65 commenti per SEO: un Mod Rewrite in ASP
  1. Paolo Slanzi Rispondi

    Scusa, ma dove si mettono gli script ? Cioe’ si devono mettere nei files asp gia’ esistenti ? Puoi descrivere per gli ignoranti come me ? Grazie !

  2. Marlenek Rispondi

    I file .asp che sono allegati a questo articolo sono funzionanti, ma solo esemplificativi: non puoi integrarli direttamente in dBlog senza apportare delle modifiche alla piattaforma : - )

  3. Paolo Slanzi Rispondi

    Chiaro. E come faccio allora ad utilizzarle con dBlog, che ho votato come mio unico e solo software (?) blog, e che sto consigliando a tutti ? (leccata) : - D

  4. willy Rispondi

    amici mi aiutate ad inserire il codice nel mio blog!!!
    grazie

  5. Anonimo Rispondi

    Non ci dormo la notte! Ma ce la farò

  6. Giovanni Rispondi

    Il file aggiungi.asp va inserito in admin? e anche modifica.asp?

  7. Masismo Rispondi

    Scusami…ma questa spiegazione non è per niente chiara!!!

  8. Fabio Rispondi

    l’esempio che ho scaricato non funziona! se lancio la pagina default.asp mi dà questo errore: “Chiamata di routine o argomento non validi: ‘Mid'” aiuttt!!! : - )

  9. pippo baudo Rispondi

    paroleeeeeeee soltansto paroleeeeeee diceva una canzone, qui infatti si esalta il funzionamento di uno script come se fosse stato già provato e che funzionasse, infatti come si vede abbiamo dico abbiamo perchè anche io non sono riuscito a farlo funzionare. A volte credo che molte persone invece di scrivere articoli devono prima rendersi conto che quello che scrivono sia esatto altrimenti potrebbero prendersi un bel vaf………

  10. Marlenek Rispondi

    Fabio: a che riga di che file ti da l’errore?

    Pippo: faccio il possibile per condividere il poco che so, se c’è qualche errore è indice che sono umano, no? Il codice funziona perfettamente su questo blog e su altri che lo hanno installato (es. thegossipers), se leggi l’articolo sarai in grado di correggere la mia distrazione nel codice.

  11. Giovanni Rispondi

    Proposta, non potresti mettere uno zipettino con i file modificati? da quello che ho capito si dovrebbe modificare aggiungi_articoli, modifica_articoli e inc_pagina.

    Sbaglio?

  12. Ste Rispondi

    e nel caso, invece, in cui il server abbia il filtro isapi installato? basta questo o va fatto qualche altro intervento? 🙂

  13. Marlenek Rispondi

    Ste: se hai un componente installato devi cercare la relativa documentazione per sapere come utilizzarlo. Se puoi scegliere io ti consiglierei un metodo “fatto in casa” perché se in futuro dovessi cambiare hosting non è detto che dall’altra parte ci sia lo stesso componente.

  14. Luca Rispondi

    Ciao scusa ma… per ogni articolo/post che inserisco, devo creare manualmente un file “titolo-articolo.asp”? O secondo le tue istruzioni viene creato da solo?

  15. tymba Rispondi

    una tecnica analoga l’ho utilizzata su un sito da 150.000 pagine viste al giorno e pur avendo a disposizione il modulo url rewrite questa tecnica risulta più veloce e da meno carico di lavoro al server.
    si tratta però di codice e come tale non va preso e schiaffato in una cartella sperando che si autosistemi, autoconfiguri, autoattivi e autofunzioni.
    Bisorrebbe quanto meno provare a capire quanto è scritto e cosa questo codice fa prima di sputar sentenze o mandare a quel bel paese chi ha voluto condividere una propria idea /codice.

  16. Anonimo Rispondi

    Se puoi aiutarci… ci devi dare un file con i file modoficati : - (

  17. Tyrser Rispondi

    Ti suggerisco un altro approccio…
    con Request.ServerVariables(“SCRIPT_NAME”) la tua pagina asp “legge” il nome del file, quindi potresti mettere nel db il nome del file e fare la query su quello e non dell’ID … mi sembra più facile da mantenere, basta dare il nome che vuoi (quello nel db) alla pagina modello… addirittura potresti generare qualche migliaio di pagine “in un colpo solo”
    Ciao!

  18. Cristian Rispondi

    Sul mio blog faccio esattamente una cosa analoga.

    Creo il post e dopo aver inserito i dati nel db, recupero l’ID del post e creo un file avente il nome del titolo del post e l’ID del post stesso (es. che-bella-giornata-oggi-54.asp), similmente come vedo fare qui sul dblog. Ovviamente il tutto avviene in modo automatico.

    Quando richiamo la pagina del post, il codice va a leggere l’ID scritto nel nome del file (il numero 54 dell’esempio sopra) ed esegue le query che richiamano dal db tutti i dati relativi al post con quell’ID.

    Il file creato per il singolo post, che di fatto è uguale a tutti gli altri, cambia solo il nome, pesa solo 4/5 kb.

  19. Ste Rispondi

    A me non funziona le ho provate tutte ma no mi crea nessun file su /public/ (aruba)

  20. Fabio Rispondi

    A me funziona tutto, solo che non mi appare piu’ il TITLE della pagina… qualcuna sa come risolvere?

  21. ivano Rispondi

    Lo script funziona perfettamente dopo la modifica delle cartelle dove avete inserito lo script, certo se volete tutta pappa fatta neanche ragionare un poco e poi gratis mi sembra esagerato.

    In poche parole dovete dire ai file che compongono lo script il nome della cartella dove avete inserito i file e poi via via modificarlo all’interno dei file che compongono lo script.

    Giustamente chi lo ha creato ha pensato di scrivere una breve descrizione, poi sta a voi creare il nome della cartella e indicarlo all’interno dei file, non ci vuole mica così tanto.

    Svegliatevi ragazzi, ragionate un poco non ci vuole poi mica tanto usare un poco la testa.

  22. Pinco Pallino Rispondi

    Come si dice da noi a Napoli: “Questo script e’ pazzoooooooo!”. Nel senso che è talmente positivo che mi fa impazzire. Complimenti a te!

  23. Daniele Rispondi

    ciao ho sistemato tutto secondo le vostre indicazioni e tutto va bene. il dubbio è questo: 1- ma l’indicizzazione sui motori sarà buona con questa tecnica? 2- io ho già un db compilato non c’è nessun verso di fargli generare in automatico le pagine? per forza le devo ricompilare passando dal form admin/aggiungi???

    aspetto una vostra indicazione e grazie.

  24. Marlenek Rispondi

    Daniele: 1 sicuramente migliora, 2 assolutamente no… puoi farti uno script a parte da eseguire solo una volta e poi da cancellare; questo script si occupeà di generare tutti i file.

  25. Daniele Rispondi

    GRz della tua cortese risposta. Mi dai qualche indizio sullo script? Giusto per partire o per far partire una nuova ricerca. Non so proprio da dove iniziare. A presto.

  26. Roberto Rispondi

    ciao, complimenti per lo script. Sto pensando di utilizzarlo per una piattaforma complessa tipo “comersus” vorrei sapere cosa ne pensi.
    Grazie

  27. Marlenek Rispondi

    daniele: questo script dovrebbe leggere tutti i dati dal db e, partendo dai titoli e dagli id, creare 1 file per ogni record

    roberto: why not, non occupa molte risorse, potrebbe funzioanre anche su sistemi molto visitati

  28. Fethiye Rispondi

    Il file aggiungi.asp va inserito in admin?

  29. marina Rispondi

    Grazie alla lettura di questo articolo ho risolto degli errori con la riscrittura degli URL che avevo da tempo. Utilissimo!

  30. mixpax Rispondi

    Ma questo sistema vale per tutti i siti in asp o solo per dblog?

  31. marlenek Rispondi

    marina: grazie!

    mixpax: per tutti i siti in ASP, la logica è quella…

  32. Giancarlo Rispondi

    Lo script è molto interessante.
    Il problema sta nel fatto che l’articolo (o il suo id) può essere richiamato da più pagine (nella home, in una lista degli articoli più recenti, ecc.), pertanto se non ho capito male, dato che il link che rimanda al dettaglio dell’articolo (presente in diverse pagine) non contiene più dei parametri, ma il nome-pagina.asp questo nome-pagina.asp deve venire scritto nel db in corrispondenza del record dell’articolo, giusto?

  33. marlenekk Rispondi

    giancarlo: grazie. Non è proprio così: il link nelle altre pagine deve essere generato ogni volta dinamicamente tramite una funzione apposita (immagine ad esempio il caso in cui il titolo dell’articolo venga modificato). A questa funzione tu passerai semplicemente l’ID dell’articolo che rimane sempre uguale e la funzione ritorna l’URL corretto dell’articolo.

  34. florence Rispondi

    complimenti per lo script, purtroppo mi da questo errore:
    Microsoft VBScript runtime error ‘800a0005’
    Invalid procedure call or argument: ‘Mid’
    cioè questa riga:
    riga 21 dove stampa la lista articoli
    idnews=Mid(F1.Name,1,InStr(F1.Name, “-“) – 1)

  35. Marco Rispondi

    ho usato (modificando un po per le mie esigenze) questo fantastico mod su un mio ecommerce ma non riesco a capire come fare per la paginazione…

    Si può usare per la paginazione?

  36. marlenekk Rispondi

    marco: si certamente, usa lo stesso metodo che usi altrove, passando un parametro

  37. Marco Rispondi

    si ma le pagine degli articoli le creo in automatico quando creo l’articolo…come faccio a creare la pagina della paginazione?

  38. marlenekk Rispondi

    marco: le pagine degli articoli sono fittizie, includono invece lo script che genera l’articolo stesso… li’ dentro tu puoi mettere la paginazione (che poi in questo caso sarebbe solo “avanti” e “indietro”) dato che hai l’id dell’articolo. sul mio blog è così, come puoi vedere.

  39. Marco Rispondi

    Innanzitutto grazie delle tempestive risposte…

    nei link alle pagine dell’index ho index.asp?pagina1 mentre se ho capito bene dovrebbe diventare http://www.miosito/pagina1.asp … pagina 2.asp etc

    “le pagine degli articoli sono fittizie”…si, lo so ma non ho idea di COME mettere la paginazione mel file inc_paginaZIONE.asp e come richiamarla.

  40. marlenekk Rispondi

    marco: esattamente, il link “successivo” e “precedente” devi calcolarli. parti dall’ID dell’articolo in questione e poi fai una query prendendo il prcedente e il successivo per data/ora di pubblicazione. Una volta che hai questi 2 ID generi il link con le stesse funzioni di cui gia’ disponi.

  41. florence Rispondi

    gentilissimo marlenekk, come faccio a risolvere l’errore di sotto?…grazie tante 🙂

    Microsoft VBScript runtime error ‘800a0005’
    Invalid procedure call or argument: ‘Mid’
    cioè questa riga:
    riga 21 dove stampa la lista articoli
    idnews=Mid(F1.Name,1,InStr(F1.Name, “-“) – 1)

  42. Anonimo Rispondi

    Ciao, e’ un bel po’ che cerco una soluzione URL rewrite per le mie pagine .asp, su server Win condiviso Aruba….

    le modifiche ai vari files li ho fatti, ma non ho capito una cosa….
    ma i files: inc_db.asp ; inc_pagina.asp ; default.asp devono necessariamente stare nella root ??

  43. marlenekk Rispondi

    anonimo: i due inc no, puoi metterli dove vuoi, ma devi poi cambiare i percorsi degli include dentro i vari file.

  44. jonny Rispondi

    Ho caricato tutti i file dentro una directory “urlrewrite” nella cartella “public”, ho riadattato gli includes e lo script funziona.
    Seppur funzionando nella pagina default.asp, subito dopo la lista delle pagine, esce un errore legato al mid:
    ————————
    _do_not_delete

    Microsoft VBScript runtime error ‘800a0005’

    Invalid procedure call or argument: ‘Mid’

    /public/urlrewrite/Default.asp, line 13
    —————————————–
    su questo messaggio di errore c’è un link:
    /public/urlrewrite/admin/modifica.asp?id=%20%3Cfont%20face=

    Non capisco a cosa sia dovuto anche se in finale riesco a vedere perfettamente la lista con il “modifica” accanto ad ogni pagina.

  45. Antonio Rispondi

    Ottimo articolo!

  46. marlenekk Rispondi

    antonio: grazie, è un metodo un po’ particolare, ma funziona

  47. Fabio Rispondi

    ciao Daniele, io utilizzo un metodo diverso ma fondamentalmente analogo al tuo e per la generazione di quelli che per te sono articoli e per me annunci va benissimo. Una domanda : supponiamo di dover fare la stessa cosa con una pagina tipo
    http://www.dblog.it/cerca.asp?cosa=asp&x=10&y=11 del tuo blog e generare pagine di ricerca statiche invece della stessa con un query string differente, sbaglio o non c’è modo di farlo?
    Fabio

  48. marlenekk Rispondi

    fabio: si si lo puoi fare… ti basta salvare la ricerca con un id e poi usare lo stesso concetto. tipo \cerca\keyword-cercata-id.asp

  49. Lorenzo Rispondi

    Una domanda, perchè non ho capito bene… Ma il tuo metodo crea tanti file di testo con estensione .asp quanti sono gli articoli presenti nel database?? Giusto?

  50. marlenekk Rispondi

    lorenzo: esatto : - )

  51. Lorenzo Rispondi

    Ma quindi le pagine create sono realmente statiche e invece di modificarle le canelli e le ricrei con la parte di gestione dei contenuti? Cavolo, stravolgerebbe tutto il mio metodo di lavoro. Però se porta dei risultati vale la pena studiarci un po sopra.

  52. marlenekk Rispondi

    lorenzo: le pagine create automaticamente sono file reali ma contengono solo 2 righe di codice asp e nient’altro… in pratica contengono l’id e un include che poi gestira’ tutto il codice. ogni volta le genero/creo/rinomino/cancello in base alle modifiche al titolo via cms, cioé dal pannello di controllo. si è un metodo un po’ articolato, ma i risultati poi si vedono.

  53. Luca Martini Rispondi

    Molto interessante il tuo esempio !
    http://www.simplifysw.com

  54. Marco Rispondi

    Tutto funziona perfettamente anche riadattato al mio db MySQL. Solo una domanda: ma nel caso nel db vi fossero migliaia/decine di migliaia di righe, mi troverò in /public un analogo numero di file. Il tutto ha un limite o è gestibile ?

  55. marlenekk Rispondi

    marco: purtroppo sì. Il limite c’è quando fai il browsing via sistema operativo o via FTP. Potresti trovare un modo (SEO oriented) per dividere i record in cartelle, ad esempio usando i nomi delle categorie o i tag.

  56. Marco Rispondi

    Ok, provo a sfruttarti ancora un po’…mettiamo che ho delle attività turistiche e dei settori in cui operano. Quando inserisco una attività posso crearmi una directory con il settore.
    Cioè anzichè avere /public/International-Camping-Garda.asp avrei /public/campeggi/International-Camping-Garda.asp
    La domanda è: lo spider indicizza tutto il percorso campeggi/International-Camping-Garda.asp o si ferma a /campeggi ?
    In altri termini, la soluzione starebbe in piedi dal punto di vista SEO ?

  57. Marco Rispondi

    …e un ultimo punto (scusa la rottura): nel file inc_pagina.asp ho inserito anche un link alla pagina reale e l’istruzione sempre con un puntamento alla pagina reale. Questo dovrebbe aiutare l’indicizzazione, è indifferente o è addirittura nociva ?
    Grazie per l’aiuto.

  58. marlenekk Rispondi

    marco: certamente! lo faccio già altrove e funziona bene… ti dirò di più: se puoi avere i permessi di scrittura sulla root sposta le nuove cartelle lì invece che lasciarle in public. Invece per quella che chiami pagina reale, se ho capito bene è una sorta di “duplicato”, in tal caso NON lo dovresti far indicizzare

  59. vb Rispondi

    Ottimo script, una domanda:
    Ammettiamo che Google indicizzi una pagina riscritta con questo metodo; io vado da pannello di controllo a rinominare la pagina, come posso impedire che Google mi dia un errore di pagina non trovata? Grazie per il supporto

  60. marlenekk Rispondi

    vb: devi generare un file con lo stesso nome della vecchia pagina e scrivere all’interno solo 2 righe di “redirect 301” (cerca su Google come farlo in VBScript).

  61. Marco Rispondi

    Ciao Daniele.
    Il tuo script funziona perfettamente e inizio a vedere dei risultati. Vorrei però avere un’ultima informazione: nell’elenco di pagine statiche che si viene a creare in root ho inserito un link in ogni pagina che punta alla pagina dinamica.
    A livello di SEO quale dei seguenti metatag bisogna inserire nelle pagine statiche (da inserire quindi in incpagina.inc):

  62. marlenekk Rispondi

    marco: non c’è nulla nel tuo elenco : - ) a parte questo, come meta tag contano solo il title e la description. Il primo è importantissimo in termini SEO, mentre il secondo contribuisce molto al click-through rate delle tue pagine nella SERP. PS: ti consiglio di NON generare le pagine fittizie nella root, ma organizzale in una cartella a parte (magari con un nome strategico in ottica ottimizzazione)… tutto risulterà più ordinato.

  63. Blog Natale Rispondi

    Ciao Daniele, utilizzo gli script dell’url rewrite ormai da qualche anno è funziona tutto bene. Però il tool Strumenti per webmaster di Google mi suggerisce che ci sono molte pagine con tag title duplicati.
    Esempio: /dblog/articolo.asp?articolo=47 e /public/post/pinco-pallino-47.asp

    Come posso risolvere questo problema?

    Grazie anticipatamente Massimo

  64. marlenekk Rispondi

    BlogNatale: ciao, devi parametrizzare il tag title, utilizzando il titolo del post invece del titolo del blog

  65. Fabio Rispondi

    Salve, qualcuno puo girarmi per cortesia il codice da scaricare? Ora il link non è piu funzionante.
    Grazie

Lascia un commento

Il tuo indirizzo mail non verrà pubblicato. Inserisci il tuo nome, la tua mail e il commento.