Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    URL rewriter e motori di ricerca

    Salve a tutti,
    desidererei sciogliere un dubbio che mi è sorto riguardo a una procedura che ho realizzato e adottato.

    La procedura mi consente di servirmi della pagina 404 404.asp per ottenere un cosiddetto URL rewriter, basandosi su un file catalogo.asp che provvede alla navigazione del catalogo servendosi di (fino a) tre parametri in querystring:

    catalogo.asp[?c=(ID della categoria)[[&s=(ID della sottocategoria)]&id=(ID del prodotto)]]

    Dunque, per esempio:
    catalogo.asp (mostra l'elenco delle categorie)
    catalogo.asp?c=2 (mostra l'elenco delle sottocategorie in categoria 2)
    catalogo.asp?c=2&s=3 (mostra l'elenco degli articoli in sottocategoria 3 di categoria 2)
    catalogo.asp?c=2&s=3&id=5 (mostra l'articolo 5 in sottocategoria 3 di categoria 2)

    Su questa premessa sarà possibile segmentare (con uno slash "/") categoria, sottocategoria e articolo in un URL del tipo "http://www.miodominio.it/fotografia.html" o "http://www.miodominio.it/fotografia/fotocamere-digitali.html" o "http://www.miodominio.it/fotografia/fotocamere-digitali/eos-505.html" e trasformare i path in parametri.

    Poniamo il caso di "http://www.miodominio.it/fotografia/fotocamere-digitali/eos-505.html": non esistendo fisicamente né il percorso né tanto meno il file, verrà chiamato in causa il file 404.asp che contiene la seguente procedura:

    codice:
    Function URL_rewriter(cUrl, cQueryString)
    	Dim URhttp
    	Set URhttp = Server.CreateObject("WinHttp.WinHttpRequest.5.1")
    	URhttp.open "GET", cUrl & cQueryString, false
    	URhttp.Send()
    	UR = URhttp.ResponseText
    	Set URhttp = Nothing
    End Function
    
    cNomePagina = lcase(Request.ServerVariables("QUERY_STRING"))
    cNomePagina = replace(cNomePagina,"404;http://www.miodominio.it:80/", "")
    cNomePagina = replace(cNomePagina,".html", "")
    cNomePagina = replace(cNomePagina,"-", " ")
    aParametri = split(cNomePagina,"/")
    nParametri = ubound(aParametri)
    
    '----------
    'A questo punto è opportuno qualcosa del tipo "select case"
    'per stabilire e la profondità della chiamata e trattarla.
    '
    'Quella seguente è la chiamata con tutti e tre i parametri:
    '----------
    
    cCategoria = aParametri(0)
    cSottocategoria = aParametri(1)
    cArticolo = aParametri(2)
    
    cQuery = "SELECT cat_ID, sub_ID, art_ID FROM categorie"
    cQuery = cQuery & " INNER JOIN sottocategorie ON categorie.cat_ID=sottocategorie.sub_cat_ID"
    cQuery = cQuery & " INNER JOIN articoli ON sottocategorie.sub_ID=articoli.art_sub_ID"
    cQuery = cQuery & " WHERE cat_nom=""" & cCategoria & """ AND sub_nom=""" & cSottocategoria & """ AND art_nom=""" & cArticolo & """ LIMIT 1"
    set rs = oledbconn.execute(cQuery)
    
    if not rs.eof then
    	cUrl = "http://www.miodominio.it/catalogo.asp"
    	cQueryString = "?c=" & rs("cat_ID") & "&s=" & rs("sub_ID") & "&id=" & rs("art_ID")
    	response.write URL_rewriter(cUrl, cQueryString)
    elseif rs.eof then
    	response.write "articolo non presente"
    end if
    La procedura, così com'è, funziona.
    Ma questo non mi persuade sulla sua efficacia perché sospetto che i motori di ricerca indicizzino la pagina 404.asp piuttosto che la pagina virtuale.

    Per questo mi rivolgo e chiedo a chi me ne sappia dare la risposta, ringraziandovi tutti per l'attenzione.

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    E secondo me i tuoi sospetti sono fondati, se una pagina non esiste ritengo (senza essere un seo) che sia impossibile indicizzarla
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    In effetti è proprio perché non sono un SEO ma un umile sviluppatore, che mi è sorto il dubbio:

    in effetti io suppongo che lo spider preleva i dati risultanti dall'elaborazione di ciascuna pagina .asp, ed entra in ciascuna pagina partendo dall'ingresso principale e discendendo o allargandosi fino alle varie indicazioni dei link, come potrebbe esserlo http://www.miodominio.it/fotografia/fotocamere-professionali/eos-550.html.

    Oltre tutto, quando si cercherà "url rewriter", nei risultati della ricerca comparirà il link http://forum.html.it/forum/showthread.php?s=&threadid=1452927, perché nella pagina showthread.php c'è solo una procedura.

    Credi che, su questi presupposti, la discussione possa essere riaperta? oppure c'è qualcosa che non torna nella mia teoria?

  4. #4

    Re: URL rewriter e motori di ricerca

    codice:
    Function URL_rewriter(cUrl, cQueryString)
    	Dim URhttp
    	Set URhttp = Server.CreateObject("WinHttp.WinHttpRequest.5.1")
    	URhttp.open "GET", cUrl & cQueryString, false
    	URhttp.Send()
    ->	UR = URhttp.ResponseText
    	Set URhttp = Nothing
    End Function
    
    errata corrige:
    URL_rewriter = URhttp.ResponseText

  5. #5
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    I due post non li ho capiti ma se hai un server dedicato (se non ricordo male) si può impostare il rewriter da impostazioni
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  6. #6

    Risposta al thread

    Dopo aver atteso il tempo ragionevole per ottenere una verifica sull'indicizzazione di una pagina indicizzata con il metodo da me sottoposto, sento il dovere, per informazione di tutti, di riportarne i risultati della ricerca di Google.

    (non c'era lo smiley con la birra...?)
    Immagini allegate Immagini allegate

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.