• Super User

    Indicizzazione file xml trasformati tramite xslt

    Premessa su XSLT

    XSLT è una tecnologia facente parte della famiglia XML. In poche parole tramite XSL possiamo trasformare un XML per ottenerne un nuovo file (xml, html, svg, testo, ecc...). Non è una tecnologia nuova, è poco conosciuta perchè poco diffusa.
    Per maggiori dettagli http://it.wikipedia.org/wiki/XSL_Transformations oppure una semplice ricerca con la parola XSLT e si trovano diverse guide e how-to. Faccio un esempio così capiamo subito di cosa si tratta.

    Dato il seguente file xml (articolo.xml):

    <?xml version="1.0" encoding="UTF-8"?>
    <?xml-stylesheet href="articolo.xsl" type="text/xsl"?>  
    <documento>
        <titolo>titolo documento</titolo>
        <testo>Questo è un testo di prova XSLT</testo>
        <autore>gianni</autore>
    </documento>
    ```Mettiamo nella stessa cartella un file xsl (articolo.xsl)
    

    <xsl:stylesheet version="2.0"
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns="http://www.w3.org/1999/xhtml">

    <xsl:output method="html" indent="yes" />

    <xsl:template match="/documento">
    <html>
    <head>
    <title><xsl:value-of select="titolo"/></title>
    </head>
    <body>
    <p>
    <xsl:value-of select="testo" />
    </p>
    <p>
    Autore : <xsl:value-of select="autore" />
    </p>
    </body>
    </html>
    </xsl:template>

    </xsl:stylesheet>

    <html>
    <head>
    <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
    <title>titolo documento</title>
    </head>
    <body>
    <p>Questo è un testo di prova XSLT</p>
    <p>Autore : gianni</p>
    </body>
    </html>

    
    Il test
    
    Quindi la mia domanda è: i motori di ricerca come vedono questo XML? Lo leggono come semplice xml o applicano le trasformazioni XSL? E viste le notizie degli ultimi giorni sull'indicizzazione di documenti SVG (altro linguaggio derivato da xml) la cosa si fa interessante.
    Ho fatto un piccolo test alla pagina: http://giannileggio.com
    Se guardate al sorgente è un semplice file xml, anche se il vostro browser visualizza correttamente l'html. Il documento è stato indicizzato, ma in maniera differente da yahoo e goole (su bing ancora non viene fuori).
    
    Il risultato
    
    Google indicizza l'xml senza trasformarlo, potete vedere la cache qui: http://webcache.googleusercontent.com/search?hl=it&source=hp&q=cache%3Agiannileggio.com&aq=f&aqi=&aql=&oq=&gs_rfai=&pbx=1
    E forse non legge i link presenti all'interno del file. Insomma, come prevedevo, questo tipo di documenti sono mal digeriti da Google allo stato attuale.
    
    Yahoo, invece, sotto questo aspetto è più evoluto, ecco la cache http://it.search.yahoo.com/search?ei=UTF-8&p=http%3A%2F%2Fgiannileggio.com&sig=NlOgpwHh9.5Hony7VRxiZQ--
    In pratica applica le trasformazioni xsl! E inoltre ha pure indicizzato la pagina contacts.xml. Questo mi ha stupito, non pensavo i motori arrivassero ad applicare le trasformazioni client-side e invece yahoo lo fa.
    Inoltre nello snippet mostra una description caricata completamente da xsl (cioè è un testo assente nell'xml, è presente solo nel file layout.xsl).
    (c'è anche da vedere cosa accadrà con la "fusione" di yahoo con bing)
    
    Che succederà in futuro? Io continuo con questo genere di test e di ricerche, speranzoso che questa tecnologia (della quale sono appassionato) venga presto presa in considerazione anche da google. Man mano che ho delle novità terrò informato chi lo volesse (qui sul forum o seguitemi ai link in firma).

  • Community Manager

    Gianni grazie per aver postato questo test ed averlo condiviso con tutti noi 🙂

    Ho dato io l'autorizzazione a Gianni per farlo 😉

    Vediamo che succede.


  • ModSenior

    Ciao,

    se posso aggiungere una precisazione: l'indicizzazione è la stessa (sempre di XML si tratta). La differenza è l'applicazione del "foglio di stile" xsl e relativa xslt.


  • Moderatore

    Ottimo, grazie per la condivisione 😉