Totali 12
Anonimi 12
Registrati 0

Username
Password
   
Ricordami
  Ho perso i dati   Nuovo utente        
Cerca
























 



 

Tool per generare la mappa del sito (sitemap)
   
 

I Crawler e la mappa del sito

I motori di ricerca consentono agli utenti di trovare facilmente i contenuti che l'utente specifica nella casella di ricerca, rimandando ad un sito web accessibile dalla rete internet.
La mole di informazioni presente su internet è enorme e sarebbe inpensabile non disporre di validi servizi di ricerca dei contenuti. Sarebbe come avere un dizionario non ordinato in cui sono presenti tutti i contenuti, ma senza indice e senza possibilità di trovare facilmente ciò che si cerca.
I motori di ricerca indirizzano gli utenti al contenuto cercato. Per fornire tale servizio tutti i motori di ricerca, con tecniche molto performanti, intelligenti e sofisticate, scansionano periodicamente la rete alla ricerca di nuovi contenuti da indicizzare o per aggiornare contenuti già indicizzati.
Lo scansionamento dei siti web da parte dei motori di ricerca avviene grazie ad un componente detto "Crawler", che a partire da un riferimento ad un sito web (segnalato o recuperato da un link presente su un'altro sito web già indicizzato ovvero censito) visita le pagine del sito e memorizza in modo strutturato le informazioni reperite. Successivamente le informazioni così reperite vengono elaborate e consentono il funzionamento delle ricerche.
Il crawler naviga su un dominio ricercando all'interno delle pagine dei link di rimando ad altre pagine. Potenzialmente se una pagina non è raggiungibile da una pagina "conosciuta" al motore di ricerca, essa non verrà mai indicizzata.
Quando il crawler accede ad una pagina web ne scarica i contenuti tramite una request http e recupera così il contenuto della pagina in formato HTML il cui contenuto (del response) è simile a questo:

HTML

Interviene un processso di "parsing" ovvero di riconoscimento delle parti che compongono la pagina web al fine di recuperare i contenuti (titolo, testo del contenuto, immagini) ed i link ad altre risorse.

I link trovati vengono inseriti in una lista di pagine da visitare e sono successivamente scansionate.

Per facilitare questa operazione ad i motori di ricerca alcuni consigliano l'invio di una mappa in cui siano specificate tutte le pagine da scansionare, in modo da facilitare il compito al crawler. Uno dei motori di ricerca che permettono di sottoporre una sitemap è Google !
Le sitemap sono file di testo in formato XML che contengono informazioni strutturate sulle pagine presenti nel sito, unitamente ad altre informazioni.
Il formato della sitemap deve rispondere a precisi standard ed essere accessibile al motore di ricerca: spesso viene richiesto di caricarla nella cartella principale del sito e nominarla "sitemap.xml".
Un esempio è il seguente:

Sitemap sample


Google mette a disposizione vari strumenti per i webmaster al fine di inviare la mappa del sito (sitemap) e di verificare il processo di indicizzazione delle pagine,
come mostrano le immagini seguenti:
 
Google invio sitemap

L'immgine successiva mostra invece le statistiche di scansione del sito:

Google statistiche scansione


Utilità e funzionamento del tool

Il tool consente di generare in modo automatico la sitemap da sottoporre al motore di ricerca.
E' sufficiente specificare la pagina di ingresso del sito ed avviare il processo di indicizzazione.
Il programma si comporta esattamente cone un crawler analizzando il response della pagina richiesta,alla ricerca di link interni al sito specificato.
Ogni pagina analizzata viene inserita in una lista ordinata, in modo da evitare di processare più volte una pagina già visitata.
Al termine della scansione viene visualizzato un messaggio ed è possibile visualizzare in modo gerarchico tutti gli indirizzi (url) delle pagine recuperate ed esportare
la sitemap a partire da questi dati.
Per evitare di riprocessare nuovamente le pagine del sito è possbile salvare il progetto al fine di poter ricreare la sitemap o visualizzare i dati.

E' necessario specificare sempre l'URL del sito e la pagina di ingresso dello stesso come mostrato nella seguente immagine.
Nella prima casella va inserito il nome del dominio (root), senza specificare alcuna pagina (questo per consentire al programma di capire se i link sono interni al dominio),
nella seconda la pagina di ingresso al sito (index o home), o comunque una pagina dove esistano rimandi ad altre pagine.
Nota: siti web realizzati in Flash non saranno indicizzati.

Settings

Una volta effettuate le impostazioni necessarie spostarsi sul tab "Processo" e premere "Avvia" per avviare il processi di scansione delle pagine del sito.



Al termine della scansione verrà visualizzato un popup che indica che il processo è terminato.
Al termine del processo posizionarsi sul tab "Sitemap" e cliccare su "Aggiorna lista" per visualizzare le pagine scansionate e le relativa gerarchia.

 Tool generazione sitemap

Infine premere "Esporta in XML" e selezionare il file di memorizzazione della sitemap es "sitemap.xml"

Generazione sitemap

Esempio divisualizzazione della sitemap in formato gerarchico.

Salvare il progetto tramite la voce di menu "Salva" per poterlo successivamente ricaricare.

File di progetto


Come si nota dall'immagine il file di progetto include non solo tutte le pagine reperite, ma per ciascuna "CrawledPage" anche i link al sito che in essa sono presenti.

Questo tool può essere completato per:
- Analizzare i tempi di risposta del server
- Ricavare una mappa dei link interni al sito, al fine di analizzare, ad esempio, quali pagine sono richiamate da altre pagine, etc...
- Esporare i dati ricavati in formato HTML per generare una mappa del sito.
- Calcolare in automatico la frequenza di aggiornamento della pagina per inserire il valore più appropriato nella sitemap: "Weekly", "Montly", etc...
- Calcolare in automatio la priorità della pagine per inseire tale valore opzionale nella sitemap (0-1)
- Visualizzare grafici ad hoc.
- Costruire un Crawler per siti aziendali

 Data la natura opensource del progetto sarei grato a chiunque voglia utilizzare questo progetto come spunto per migliorarlo o estenderlo, di mandarmi un feedbak
magari competo con le migliorie effettuate al fine di condividerle.
Il tool è una traccia per un programma più completo, benche funzionante, per le funzionalità implementate (senza garanzie per un uso professionale dello stesso).

Nella solution è presente una cartella "Examples" contenente un file di progetto ed una sitemap generata (per il qui presente sito web al momento della pubblicazione di questo articolo).

La solution è stata sviluppata con VISUAL STUDIO 2012 e realizzata in C# (4.5)

Declino ogni responsabilità per eventuali danni arrecati attraverso l'utilizzo del software in oggetto.
L'utilizzo del software è condizionato dalla completa accettazione delle seguenti condizioni:
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.



Download

Scarica la soluzione completa (11 MB)
 
 

 
Commenti degli utenti:

Scrivi un commento
     
 
Autenticarsi per inserire un commento

Label