IntroduzioneIl Web e il problema della Ricerca
La ricerca nel Web - IndicizzazioneCome funziona un motore di ricercaGestire le statistiche di un sito Web
Consigli per gli sviluppatori Web
Motori di RicercaIndicizzazione e Ranking
Dott. Cazzaniga Paolo
Dip. di Scienze Umane e [email protected]
Dott. Cazzaniga Paolo Motori di Ricerca
IntroduzioneIl Web e il problema della Ricerca
La ricerca nel Web - IndicizzazioneCome funziona un motore di ricercaGestire le statistiche di un sito Web
Consigli per gli sviluppatori Web
Outline
1 Introduzione
2 Il Web e il problema della Ricerca
3 La ricerca nel Web - Indicizzazione
4 Come funziona un motore di ricerca
5 Gestire le statistiche di un sito Web
6 Consigli per gli sviluppatori Web
Dott. Cazzaniga Paolo Motori di Ricerca
IntroduzioneIl Web e il problema della Ricerca
La ricerca nel Web - IndicizzazioneCome funziona un motore di ricercaGestire le statistiche di un sito Web
Consigli per gli sviluppatori Web
Outline
1 Introduzione
2 Il Web e il problema della Ricerca
3 La ricerca nel Web - Indicizzazione
4 Come funziona un motore di ricerca
5 Gestire le statistiche di un sito Web
6 Consigli per gli sviluppatori Web
Dott. Cazzaniga Paolo Motori di Ricerca
IntroduzioneIl Web e il problema della Ricerca
La ricerca nel Web - IndicizzazioneCome funziona un motore di ricercaGestire le statistiche di un sito Web
Consigli per gli sviluppatori Web
Cos’è un motore di ricerca?
Come funziona la ricerca sul Web?Dove cerca un motore di ricerca?Cos’è l’indicizzazione delle pagine?Qual è l’importanza del ranking dei risultati?
Dott. Cazzaniga Paolo Motori di Ricerca
IntroduzioneIl Web e il problema della Ricerca
La ricerca nel Web - IndicizzazioneCome funziona un motore di ricercaGestire le statistiche di un sito Web
Consigli per gli sviluppatori Web
Quali sono gli obiettivi?
Conoscere le tecnologie alla base del Web e della Ricerca perpoterle sfruttareCapire la struttura del Web e i problemi legati alla ricerca delleinformazioniConoscere le tecniche usate per l’indicizzazione delle pagineConoscere gli algoritmi per l’ordinamento dei risultati di unaricerca (ranking)Capire qual è la fonte principale di guadagno di un motore diricercaGestire le statistiche del proprio sito webSapere come rendere rintracciabile il proprio sito web da unmotore di ricerca
Dott. Cazzaniga Paolo Motori di Ricerca
IntroduzioneIl Web e il problema della Ricerca
La ricerca nel Web - IndicizzazioneCome funziona un motore di ricercaGestire le statistiche di un sito Web
Consigli per gli sviluppatori Web
Internet e il Web
Cos’è Internet? Cos’è il Web?
Mentre Internet è la rete fisica che connette milioni di computer alivello globale, il Web è una rete globale virtuale che connetteimmense quantità di informazioni.I motori di ricerca devono oggigiorno indicizzare miliardi dipagine web, e questo numero è solo una percentuale delleinformazioni a cui è possibile accedere sul Web, la maggior partedella quale è localizzata in database non direttamente accessibilidai motori di ricerca.Quanti sono gli utenti di Internet?
Dott. Cazzaniga Paolo Motori di Ricerca
IntroduzioneIl Web e il problema della Ricerca
La ricerca nel Web - IndicizzazioneCome funziona un motore di ricercaGestire le statistiche di un sito Web
Consigli per gli sviluppatori Web
Internet e il Web
Cos’è Internet? Cos’è il Web?Mentre Internet è la rete fisica che connette milioni di computer alivello globale, il Web è una rete globale virtuale che connetteimmense quantità di informazioni.I motori di ricerca devono oggigiorno indicizzare miliardi dipagine web, e questo numero è solo una percentuale delleinformazioni a cui è possibile accedere sul Web, la maggior partedella quale è localizzata in database non direttamente accessibilidai motori di ricerca.
Quanti sono gli utenti di Internet?
Dott. Cazzaniga Paolo Motori di Ricerca
IntroduzioneIl Web e il problema della Ricerca
La ricerca nel Web - IndicizzazioneCome funziona un motore di ricercaGestire le statistiche di un sito Web
Consigli per gli sviluppatori Web
Internet e il Web
Cos’è Internet? Cos’è il Web?Mentre Internet è la rete fisica che connette milioni di computer alivello globale, il Web è una rete globale virtuale che connetteimmense quantità di informazioni.I motori di ricerca devono oggigiorno indicizzare miliardi dipagine web, e questo numero è solo una percentuale delleinformazioni a cui è possibile accedere sul Web, la maggior partedella quale è localizzata in database non direttamente accessibilidai motori di ricerca.Quanti sono gli utenti di Internet?
Dott. Cazzaniga Paolo Motori di Ricerca
IntroduzioneIl Web e il problema della Ricerca
La ricerca nel Web - IndicizzazioneCome funziona un motore di ricercaGestire le statistiche di un sito Web
Consigli per gli sviluppatori Web
Outline
1 Introduzione
2 Il Web e il problema della Ricerca
3 La ricerca nel Web - Indicizzazione
4 Come funziona un motore di ricerca
5 Gestire le statistiche di un sito Web
6 Consigli per gli sviluppatori Web
Dott. Cazzaniga Paolo Motori di Ricerca
IntroduzioneIl Web e il problema della Ricerca
La ricerca nel Web - IndicizzazioneCome funziona un motore di ricercaGestire le statistiche di un sito Web
Consigli per gli sviluppatori Web
Le dimensioni del Web
Il Web è indubbiamente il più grande contenitore di informazioninoto all’uomoNel 2000: 2.1 miliardi di pagine con un tasso di crescita di 7.3milioni di pagine al giornoNel 2010: 600 miliardi di pagine con un tasso di crescita di 200milioni di pagine al giornoQuesta statistica non include in deep web (circa 550 voltemaggiore del Web)Questa stima esclude le pagine generate con spamdexing (circa14% del totale)
Qualche statistica live
Dott. Cazzaniga Paolo Motori di Ricerca
IntroduzioneIl Web e il problema della Ricerca
La ricerca nel Web - IndicizzazioneCome funziona un motore di ricercaGestire le statistiche di un sito Web
Consigli per gli sviluppatori Web
Il problema della ricerca
Come vengono gestiti i milioni di query ai motori di ricerca?Bisogna considerare che il Web è in costante cambiamento e increscitaLe pagine sono spesso scritte con linguaggi di scriptingEsistono diversi formati per le pagine
Dott. Cazzaniga Paolo Motori di Ricerca
IntroduzioneIl Web e il problema della Ricerca
La ricerca nel Web - IndicizzazioneCome funziona un motore di ricercaGestire le statistiche di un sito Web
Consigli per gli sviluppatori Web
Quali sono le dimensioni del Web?
92000TB = 92PB considerando anche il deep webSi stima che il Web abbia una dimensione di 170TBOvviamente la maggior parte delle informazioni è irrilevanteI motori di ricerca devono quindi continuamente scegliere qualiinformazioni considerare e quali no
Qualche dato onlineRapporto tra Web e Deep Web
Dott. Cazzaniga Paolo Motori di Ricerca
IntroduzioneIl Web e il problema della Ricerca
La ricerca nel Web - IndicizzazioneCome funziona un motore di ricercaGestire le statistiche di un sito Web
Consigli per gli sviluppatori Web
Quante query vengono sottoposte ai motori di ricerca?
Google nel 2010 riceveva circa 3.5 miliardi di query al giorno(circa 4000 al secondo)Ad esempio la ricerca “Computer Science” veniva fatta circa673000 volte al meseE’ necessario gestire molto velocemente ed efficacemente lericerche:
mediamente, dopo 12 minuti l’utente perde la pazienza se non hatrovato quello che cercaaltre cause di irritazione sono legate alla velocità di download,risultati di ricerca non rilevanti, siti web che non permettonoricerche al proprio interno, help che non aiutano, siti web realizzatimale, necessità di scorrere molte informazioni prima di trovarequella richiesta, pubblicità.
Dott. Cazzaniga Paolo Motori di Ricerca
IntroduzioneIl Web e il problema della Ricerca
La ricerca nel Web - IndicizzazioneCome funziona un motore di ricercaGestire le statistiche di un sito Web
Consigli per gli sviluppatori Web
Come funziona ad alto livello un motore di ricerca?
Input: query, ovvero un insieme di parole chiaveLa ricerca viene fatta in un archivio (l’utente non deve avereconoscenze specifiche su come si interroga un DB)Output: un elenco ordinato di documenti considerati rilevanti perla queryIl motore di ricerca identifica i risultati migliori e l’utente decide sequei documenti soddisfano la sua richiestaI motori di ricerca si devono adattare a formati diversi (incontinuo cambiamento)I motori di ricerca coprono solo parte del WebCosa succede se uno dei Server di un motore di ricerca è offline?
Otteniamo comunque dei risultati perché non stiamo cercandorisposte precise
Dott. Cazzaniga Paolo Motori di Ricerca
IntroduzioneIl Web e il problema della Ricerca
La ricerca nel Web - IndicizzazioneCome funziona un motore di ricercaGestire le statistiche di un sito Web
Consigli per gli sviluppatori Web
Come funziona ad alto livello un motore di ricerca?
Input: query, ovvero un insieme di parole chiaveLa ricerca viene fatta in un archivio (l’utente non deve avereconoscenze specifiche su come si interroga un DB)Output: un elenco ordinato di documenti considerati rilevanti perla queryIl motore di ricerca identifica i risultati migliori e l’utente decide sequei documenti soddisfano la sua richiestaI motori di ricerca si devono adattare a formati diversi (incontinuo cambiamento)I motori di ricerca coprono solo parte del WebCosa succede se uno dei Server di un motore di ricerca è offline?
Otteniamo comunque dei risultati perché non stiamo cercandorisposte precise
Dott. Cazzaniga Paolo Motori di Ricerca
IntroduzioneIl Web e il problema della Ricerca
La ricerca nel Web - IndicizzazioneCome funziona un motore di ricercaGestire le statistiche di un sito Web
Consigli per gli sviluppatori Web
La struttura del Web
Dott. Cazzaniga Paolo Motori di Ricerca
IntroduzioneIl Web e il problema della Ricerca
La ricerca nel Web - IndicizzazioneCome funziona un motore di ricercaGestire le statistiche di un sito Web
Consigli per gli sviluppatori Web
La struttura del Web
Strongly connectedcomponents (SCC): circa27.5% del WebIN e OUT circa 21.5% delWebTendrils e tube circa 21.5%del WebDisconnected circa 8% delWeb
Dott. Cazzaniga Paolo Motori di Ricerca
IntroduzioneIl Web e il problema della Ricerca
La ricerca nel Web - IndicizzazioneCome funziona un motore di ricercaGestire le statistiche di un sito Web
Consigli per gli sviluppatori Web
La struttura del Web
Riguardo alla navigabilità del Web, nel 75% dei casi non esisteun percorso diretto tra due pagine scelte a casoQuando il percorso esiste, ha una lunghezza pari a 16Mediamente, un percorso indiretto ha una lunghezza pari a 7E’ possibile applicare al Web la nozione di sei gradi diseparazione
Dott. Cazzaniga Paolo Motori di Ricerca
IntroduzioneIl Web e il problema della Ricerca
La ricerca nel Web - IndicizzazioneCome funziona un motore di ricercaGestire le statistiche di un sito Web
Consigli per gli sviluppatori Web
Cercare le informazioni sul Web
Navigazione direttaNavigazione tramite parole chiave (supporto multi-lingua)
problemi legati a singolare/pluralea chi assegnare parole chiave comuni
Navigazione in web-directoryCompilate da personeUtile per non espertiComplicato se le informazioni richieste sono molto specifiche
Navigazione usando motori di ricerca
Dott. Cazzaniga Paolo Motori di Ricerca
IntroduzioneIl Web e il problema della Ricerca
La ricerca nel Web - IndicizzazioneCome funziona un motore di ricercaGestire le statistiche di un sito Web
Consigli per gli sviluppatori Web
Navigazione con i motori di ricerca
Questo tipo di navigazione avviene secondo i seguenti passi:Formulazione della querySelezioneNavigazioneModifica o ri-formulazione della query
Dott. Cazzaniga Paolo Motori di Ricerca
IntroduzioneIl Web e il problema della Ricerca
La ricerca nel Web - IndicizzazioneCome funziona un motore di ricercaGestire le statistiche di un sito Web
Consigli per gli sviluppatori Web
La ricerca dell’informazione
I problemi legati alla ricerca dell’informazione sul Web:il Web è un sistema aperto in continua evoluzionela qualità delle informazioni è estremamente eterogenea (ènecessario verificarne l’attendibilità)la conoscenza del Web non è oggettivanon avendo uno scopo preciso, non sappiamo a priori secontiene l’informazione cercata
Dott. Cazzaniga Paolo Motori di Ricerca
IntroduzioneIl Web e il problema della Ricerca
La ricerca nel Web - IndicizzazioneCome funziona un motore di ricercaGestire le statistiche di un sito Web
Consigli per gli sviluppatori Web
La ricerca tradizionale e il Web
I classici sistemi di Information Retrieval utilizzavano un full-textretrieval system per soddisfare l’utente
Nel mondo del Web:la ricerca viene effettuata su scale diverse (miliardi di documenti)il Web è dinamico (i sistemi di IR trattavano dati statici)il Web contiene duplicati (circa il 30% dei documenti)la qualità delle pagine è eterogeneagli argomenti trattati dal Web non hanno confiniil Web è distribuito a livello globale (problemi logistici)gli utenti inviano query molto corteha una struttura ipertestuale
Dott. Cazzaniga Paolo Motori di Ricerca
IntroduzioneIl Web e il problema della Ricerca
La ricerca nel Web - IndicizzazioneCome funziona un motore di ricercaGestire le statistiche di un sito Web
Consigli per gli sviluppatori Web
La ricerca locale all’interno di un sito Web
Molti utenti preferiscono usare strumenti di ricerca anzichénavigare in un sitoE’ importante avere uno strumento di ricerca perché parte delleinformazioni potrebbero far parte del deep webIl motore di ricerca di un sito deve servire all’utente per svolgere itask nel sitoDeve raggiungere parti del sito che i motori di ricerca nonraggiungono
Dott. Cazzaniga Paolo Motori di Ricerca
IntroduzioneIl Web e il problema della Ricerca
La ricerca nel Web - IndicizzazioneCome funziona un motore di ricercaGestire le statistiche di un sito Web
Consigli per gli sviluppatori Web
Documenti trovati, recupero e precisione
Recupero (recall): frazionenumero di documenti trovatiche sono rilevanti (o attinenti)Precisione: frazione deidocumenti rilevanti che sonostati trovatiNel Web il recupero non èimportanteE’ importante la precisione (iprimi 10 documenti)
Dott. Cazzaniga Paolo Motori di Ricerca
IntroduzioneIl Web e il problema della Ricerca
La ricerca nel Web - IndicizzazioneCome funziona un motore di ricercaGestire le statistiche di un sito Web
Consigli per gli sviluppatori Web
Outline
1 Introduzione
2 Il Web e il problema della Ricerca
3 La ricerca nel Web - Indicizzazione
4 Come funziona un motore di ricerca
5 Gestire le statistiche di un sito Web
6 Consigli per gli sviluppatori Web
Dott. Cazzaniga Paolo Motori di Ricerca
IntroduzioneIl Web e il problema della Ricerca
La ricerca nel Web - IndicizzazioneCome funziona un motore di ricercaGestire le statistiche di un sito Web
Consigli per gli sviluppatori Web
Il motore di ricerca
Fornisce un elenco di pagine web rilevanti per l’utentePer ogni risultato rilevante, presenta un riassunto della pagina
il riassunto viene creato dinamicamente in funzione della query
Presentano dei link sponsorizzati (a pagamento)gli ad links vengono solitamente separati dagli organic resultsl’altra fonte di guadagno riguarda i servizi di ricerca forniti
Dott. Cazzaniga Paolo Motori di Ricerca
IntroduzioneIl Web e il problema della Ricerca
La ricerca nel Web - IndicizzazioneCome funziona un motore di ricercaGestire le statistiche di un sito Web
Consigli per gli sviluppatori Web
Il motore di ricerca
Principale punto di accesso per il Web:sia per l’utente che ricerca le informazionisia per l’autore che vuole rendere visibile e accessibile la propriapagina
Grazie al ruolo che ricopre:ha il potere di includere o escludere una pagina web dai propriarchivipuò influenzare il ranking delle pagineinfluenza, in generale, le informazioni che possono essere trovatedagli utenti
Siti web e motori di ricerca sono in continua lotta per capire (dauna parte) e nascondere (dall’altra) i meccanismi usati per ilranking
Dott. Cazzaniga Paolo Motori di Ricerca
IntroduzioneIl Web e il problema della Ricerca
La ricerca nel Web - IndicizzazioneCome funziona un motore di ricercaGestire le statistiche di un sito Web
Consigli per gli sviluppatori Web
La sintassi delle query
Query base: insieme di parole chiaveQuery con più parole chiave forniscono risultati secondo ilranking proximity matchingL’ordine delle keywords conta (post-coordinazione)Qual è il valore aggiunto di operatori come AND, OR, “ ”, +?
Permettono di ottenere restrizioni maggiori sull’insieme dei risultatiOR invece estende l’insieme dei documenti rilevantiE’ stato mostrato come 6.6 risultati su 10 sono uguali a quelliottenuti con query di base con le stesse keywords
Altri operatori come -, selezione di date, site influenzano moltol’elenco dei risultati
Dott. Cazzaniga Paolo Motori di Ricerca
IntroduzioneIl Web e il problema della Ricerca
La ricerca nel Web - IndicizzazioneCome funziona un motore di ricercaGestire le statistiche di un sito Web
Consigli per gli sviluppatori Web
La popolarità delle query
Le parole chiave più cercate:
Le parole chiave di un motore di ricerca possono essere usateper studiare trends:
query riguardanti influenza e malattie per prevenirne la diffusionequery per studiare gli interessi degli utenti (Google Trends)
Dott. Cazzaniga Paolo Motori di Ricerca
IntroduzioneIl Web e il problema della Ricerca
La ricerca nel Web - IndicizzazioneCome funziona un motore di ricercaGestire le statistiche di un sito Web
Consigli per gli sviluppatori Web
Perché parliamo sempre di Google
Informazioni aggiuntiveDott. Cazzaniga Paolo Motori di Ricerca
IntroduzioneIl Web e il problema della Ricerca
La ricerca nel Web - IndicizzazioneCome funziona un motore di ricercaGestire le statistiche di un sito Web
Consigli per gli sviluppatori Web
Outline
1 Introduzione
2 Il Web e il problema della Ricerca
3 La ricerca nel Web - Indicizzazione
4 Come funziona un motore di ricerca
5 Gestire le statistiche di un sito Web
6 Consigli per gli sviluppatori Web
Dott. Cazzaniga Paolo Motori di Ricerca
IntroduzioneIl Web e il problema della Ricerca
La ricerca nel Web - IndicizzazioneCome funziona un motore di ricercaGestire le statistiche di un sito Web
Consigli per gli sviluppatori Web
Architettura di un motore di ricerca
Dott. Cazzaniga Paolo Motori di Ricerca
IntroduzioneIl Web e il problema della Ricerca
La ricerca nel Web - IndicizzazioneCome funziona un motore di ricercaGestire le statistiche di un sito Web
Consigli per gli sviluppatori Web
Search index (store)
E’ un DB che contiene tutte le informazioni necessarie al motoredi ricerca per:
identificare le pagine rilevantirecuperare e ordinare le pagine
Ha una struttura nota come inverted file (index data structure)Contiene un indice alfabetico di tutte le parole contenute nellepagine web note (index file)
per ogni parola c’è un riferimento alle pagine web che lacontengono (posting list)
Es. chess → [www.chess.com, www.uschess.org,www.chessclub.com, . . .]
Dott. Cazzaniga Paolo Motori di Ricerca
IntroduzioneIl Web e il problema della Ricerca
La ricerca nel Web - IndicizzazioneCome funziona un motore di ricercaGestire le statistiche di un sito Web
Consigli per gli sviluppatori Web
Search index
Il search index contiene anche collegamenti:link database (archivio separato)necessario per l’analisi dei collegamenti richiesta dal processo dirankingtipicamente organizzato come inverted filenormalmente contiene miliardi di entryviene compresso per ottimizzare l’occupazione e l’efficienzanell’accesso alle informazioni
Dott. Cazzaniga Paolo Motori di Ricerca
IntroduzioneIl Web e il problema della Ricerca
La ricerca nel Web - IndicizzazioneCome funziona un motore di ricercaGestire le statistiche di un sito Web
Consigli per gli sviluppatori Web
Query engine
E’ il cuore algoritmico del motore di ricercaIl suo funzionamento viene mantenuto segreto dai motori diricerca
potrebbe essere usato dagli sviluppatori per aumentare il rankingdelle paginela manipolazione del query engine viene considerata spam perchépeggiora la qualità del servizio del motore di ricercaè difficile distinguere l’ottimizzazione dei risultati organici e lo spam
Dott. Cazzaniga Paolo Motori di Ricerca
IntroduzioneIl Web e il problema della Ricerca
La ricerca nel Web - IndicizzazioneCome funziona un motore di ricercaGestire le statistiche di un sito Web
Consigli per gli sviluppatori Web
Query engine
Le query vengono processate in due fasi:1 vengono cercate nel search index informazioni potenzialmente
rilevantikeywords matching
2 viene effettuato il ranking delle pagine identificate al passoprecedente
ordinamento decrescente dalla pagina più rilevantevengono considerati: rilevanza dei contenuti, risultati dell’analisi deicollegamenti e popolarità
L’ordinamento è un processo molto complesso. La rilevanza èspecifica del contesto che l’utente ha in mente quando effettua unaricerca
Dott. Cazzaniga Paolo Motori di Ricerca
IntroduzioneIl Web e il problema della Ricerca
La ricerca nel Web - IndicizzazioneCome funziona un motore di ricercaGestire le statistiche di un sito Web
Consigli per gli sviluppatori Web
Search interface
Interfaccia per l’invio delle queryVisualizzazione dei risultati della ricercaNavigazione dei risultati della ricercaE’ importante che l’utente possa distinguere i link sponsorizzatidai risultati organici
i link sponsorizzati vengono ordinati a seconda delle keywordsacquistatei risultati organici vengono ordinati dal motore di ricerca
Esempi:GoogleYahoo!
Dott. Cazzaniga Paolo Motori di Ricerca
IntroduzioneIl Web e il problema della Ricerca
La ricerca nel Web - IndicizzazioneCome funziona un motore di ricercaGestire le statistiche di un sito Web
Consigli per gli sviluppatori Web
Web crawling
I crawler di Google visitano continuamente più di un trilione dipagine webIl search index creato dai crawler viene distribuito nei server diGoogle durante gli aggiornamenti (Google dance)
durante la Google dance alcuni server potrebbero avere laversione vecchia del search indexè il periodo migliore per aggiornare il proprio sito webse i crawler non visitano le pagine aggiornate bisogna aspettare ilmese successivo
Al termine dell’aggiornamento, il lavoro dei crawler riparteIl Web è in continua crescita ed evoluzione, è quindi necessarioavere crawler che coprano in maniera efficiente la maggior partedel Web
Dott. Cazzaniga Paolo Motori di Ricerca
IntroduzioneIl Web e il problema della Ricerca
La ricerca nel Web - IndicizzazioneCome funziona un motore di ricercaGestire le statistiche di un sito Web
Consigli per gli sviluppatori Web
Algoritmi di crawling
Dott. Cazzaniga Paolo Motori di Ricerca
IntroduzioneIl Web e il problema della Ricerca
La ricerca nel Web - IndicizzazioneCome funziona un motore di ricercaGestire le statistiche di un sito Web
Consigli per gli sviluppatori Web
Algoritmi di crawling
La lista di URL non deve contenere solo indirizzi della partestrongly connected del WebUna buona lista iniziale viene compilata:
selezionando gli indirizzi dalle directory (Best of the Web)utilizzando gli indirizzi già presenti nel search index
La lista è dinamica:quando una pagina è stata visitata viene tolta dalla listatutti i link contenuti nella pagina visitata vengono aggiunti alla lista
Il processo termina quando:un numero di pagine specificato viene visitatodopo un determinato intervallo di tempo
Dott. Cazzaniga Paolo Motori di Ricerca
IntroduzioneIl Web e il problema della Ricerca
La ricerca nel Web - IndicizzazioneCome funziona un motore di ricercaGestire le statistiche di un sito Web
Consigli per gli sviluppatori Web
Algoritmi di crawling
I problemi da affrontare durante il crawling:identificare i duplicati delle pagine: diversi URL, contenutoidentico
viene associata alla pagina una breve descrizione del contenuto esi confrontano i contenuti in fase di analisi
qualità delle pagine da visitareURL sintatticamente errati
pagine dinamiche con script che ne modificano i contenutirun-time
pagine con scripting vengono spesso tralasciatepagine con formati non standard possono non essere indicizzate
decidere l’ordine di visita delle pagine
Dott. Cazzaniga Paolo Motori di Ricerca
IntroduzioneIl Web e il problema della Ricerca
La ricerca nel Web - IndicizzazioneCome funziona un motore di ricercaGestire le statistiche di un sito Web
Consigli per gli sviluppatori Web
Algoritmi di crawling
Ordine di visita delle pagine da indicizzareBreadth-first: URL visitati nell’ordine in cui appaiono nella lista(FIFO)Secondo la struttura degli URL: pagine con più link primaSecondo il dominio: partendo dai più importanti (es. .com)Focused crawlers: visitano pagine che trattano argomentiparticolari
guidati da queryle parole chiave vengono usate per la scelta dell’ordine di visitadelle pagine (best-first)
Dott. Cazzaniga Paolo Motori di Ricerca
IntroduzioneIl Web e il problema della Ricerca
La ricerca nel Web - IndicizzazioneCome funziona un motore di ricercaGestire le statistiche di un sito Web
Consigli per gli sviluppatori Web
Algoritmi di crawling
Quando eseguire il crawlingNuove operazioni di crawling vengono schedulate al terminedelle precedentiUn aggiornamento continuo può portare ad aggiornare il searchindex in continuazioneOpposto alla Google dancePuò portare il vantaggio di non dover aspettare il termine delcrawling per avere gli aggiornamenti delle pagine
Dott. Cazzaniga Paolo Motori di Ricerca
IntroduzioneIl Web e il problema della Ricerca
La ricerca nel Web - IndicizzazioneCome funziona un motore di ricercaGestire le statistiche di un sito Web
Consigli per gli sviluppatori Web
Algoritmi di crawling
Il refresh delle pagine webPrima ipotesi: visitare tutte le pagine con la stessa frequenzaSeconda ipotesi: visitare più di frequente le pagine checambiano spesso (news, e-commerce)E’ stato osservato che:
siti web “grandi” tendono a cambiare più frequentementesiti web con domini .com e .net cambiano spesso ed ampiamentesiti web con domini .edu e .gov cambiano raramentela cronologia dei cambiamenti di una pagina web aiuta a prevederecambiamenti futuri
Dott. Cazzaniga Paolo Motori di Ricerca
IntroduzioneIl Web e il problema della Ricerca
La ricerca nel Web - IndicizzazioneCome funziona un motore di ricercaGestire le statistiche di un sito Web
Consigli per gli sviluppatori Web
Algoritmi di crawling
Se un crawler visita troppo spesso una pagina può portare problemiper i troppi accessi HTTP
Le visite di un crawler devono essere schedulate efficacementeRobots exclusion protocol (robotstxt.org):
usato per impedire a un crawler di visitare una paginaviene aggiunto il file robots.txt nella root directory del sito
User-agent: GoogleBot (oppure Slurp o *)Disallow: /docsDisallow: /logs
Dott. Cazzaniga Paolo Motori di Ricerca
IntroduzioneIl Web e il problema della Ricerca
La ricerca nel Web - IndicizzazioneCome funziona un motore di ricercaGestire le statistiche di un sito Web
Consigli per gli sviluppatori Web
Algoritmi di crawling
Sitemap è un protocollo XML usato dagli webmaster per informare icrawler delle pagine disponibili per l’indicizzazione
Metadati aggiuntivi per ogni paginadata di ultima modificafrequenza delle modifichepriorità relativa della pagina nel sito
I crawler usano sia sitemap che robots.txt per l’indicizzazione, tuttaviapossono essere non affidabili e contenere spam
Dott. Cazzaniga Paolo Motori di Ricerca
IntroduzioneIl Web e il problema della Ricerca
La ricerca nel Web - IndicizzazioneCome funziona un motore di ricercaGestire le statistiche di un sito Web
Consigli per gli sviluppatori Web
Algoritmi di crawling
Spider trapsscript che generano automaticamente un numero elevato di URLche puntano alla stessa paginabloccano il crawler in un loop infinito, consumando inutilmenterisorse computazionali
EsempiURL con ? che identificano query e che generano una lunga listadi collegamentiURL che generano una pagina web con un calendario pieno dilink in ogni data
Dott. Cazzaniga Paolo Motori di Ricerca
IntroduzioneIl Web e il problema della Ricerca
La ricerca nel Web - IndicizzazioneCome funziona un motore di ricercaGestire le statistiche di un sito Web
Consigli per gli sviluppatori Web
Il servizio di Google
Nel 2003: cluster di computer per un totale di 15.000 workstationNel 2009: 500.000 workstationGrande capacità di memorizzazione (ogni workstation ha 16GBdi RAM e 2TB di HD):
indicizzare miliardi di pagine webmemorizzare file multimediali (ad es. i contenuti di Youtube)
La rete distribuita di questi computer è:più economica e affidabile di un servizio di server con highperformancel’affidabilità è data anche dal SW appositamente sviluppato daGoogleanche il consumo energetico e il raffreddamento vengono gestitipiù facilmente
I milioni di query vengono gestiti dai data center distribuiti alivello globale
Dott. Cazzaniga Paolo Motori di Ricerca
IntroduzioneIl Web e il problema della Ricerca
La ricerca nel Web - IndicizzazioneCome funziona un motore di ricercaGestire le statistiche di un sito Web
Consigli per gli sviluppatori Web
Il servizio di Google
Cosa succede quando viene inviata una query?1 Viene scelto il Server (geograficamente) più vicino2 Viene consultato l’inverted index per il matching con ogni
keyword (index server)3 Le liste generate vengono intersecate4 Viene calcolato il punteggio di ogni pagina per determinare
l’ordinamento5 Viene generata la lista di collegamenti ai documenti rilevanti
(titolo, URL, riassunto)6 Viene inviata la lista all’utente (document server)7 Viene fatto lo spell check e vengono aggiunti i link sponsorizzati
Dott. Cazzaniga Paolo Motori di Ricerca
IntroduzioneIl Web e il problema della Ricerca
La ricerca nel Web - IndicizzazioneCome funziona un motore di ricercaGestire le statistiche di un sito Web
Consigli per gli sviluppatori Web
Il servizio di Google
Le informazioni (index, ecc.) sono replicate in diversi ServerLe fasi della query vengono eseguite in parallelo (PB di dati daanalizzare)Se parte del cluster che sta elaborando la query è down,vengono utilizzati altri clusterL’aggiornamento dell’index viene fatta separatamente (offline) eviene aggiornato un cluster alla volta
Dott. Cazzaniga Paolo Motori di Ricerca
IntroduzioneIl Web e il problema della Ricerca
La ricerca nel Web - IndicizzazioneCome funziona un motore di ricercaGestire le statistiche di un sito Web
Consigli per gli sviluppatori Web
Il servizio di Google
L’architettura distribuita di Google:Google File SystemAlgoritmo MapReduceBigTable database system
Dott. Cazzaniga Paolo Motori di Ricerca
IntroduzioneIl Web e il problema della Ricerca
La ricerca nel Web - IndicizzazioneCome funziona un motore di ricercaGestire le statistiche di un sito Web
Consigli per gli sviluppatori Web
Il servizio di Google
Google File System:filesystem distribuito e fault-tolerant utilizzato dalle applicazioniGooglesupporta cluster (un master e più chunkserver) per accessomultiplo dei clientfile in chunk da 64MB replicati su più chunkserveri metadati sono memorizzati nel masteressendoci molti più accessi in lettura che scrittura, i controlli diconsistenza dei dati sono semplici
Dott. Cazzaniga Paolo Motori di Ricerca
IntroduzioneIl Web e il problema della Ricerca
La ricerca nel Web - IndicizzazioneCome funziona un motore di ricercaGestire le statistiche di un sito Web
Consigli per gli sviluppatori Web
Il servizio di Google
Algoritmo MapReduce:consiste di operazioni map e reduce che possono essereeseguite in parallelol’ordine di esecuzione non influisce sull’outputanche se vengono generati nuovi dati, quelli vecchi non vengonosovrascrittila map prende delle coppie key/value e produce dei valoriintermedi per ogni coppiala reduce prende i valori prodotti dalla map e produce un singolovalore di output per ogni keymediamente vengono eseguite 100.000 MapReduce al giorno(che elaborano 20PB di dati)
Dott. Cazzaniga Paolo Motori di Ricerca
IntroduzioneIl Web e il problema della Ricerca
La ricerca nel Web - IndicizzazioneCome funziona un motore di ricercaGestire le statistiche di un sito Web
Consigli per gli sviluppatori Web
Il servizio di Google
BigTable:tabelle tridimensionaliad esempio la webtable:
righe: URLcolonne: caratteristiche delle paginecelle: contenuti delle pagine
le righe sono organizzate in tablet (ad esempio pagine con lostesso dominio)le colonne sono organizzate in famiglie di pagine concaratteristiche similitime stamp per diverse versioni delle pagineusa GFS per memorizzare i dati e MapReduce per l’elaborazioneparallela
Dott. Cazzaniga Paolo Motori di Ricerca
IntroduzioneIl Web e il problema della Ricerca
La ricerca nel Web - IndicizzazioneCome funziona un motore di ricercaGestire le statistiche di un sito Web
Consigli per gli sviluppatori Web
La rilevanza del contenuto delle pagine web
Dipende sia dalla query che dall’utente che effettua la ricercaNon ha molta influenza sul processo di rankingVengono selezionate tutte le pagine che contengono le keyworddella queryConsidera altre informazioni
Posizione geograficaDataPreferenze, cronologia (?)
Dott. Cazzaniga Paolo Motori di Ricerca
IntroduzioneIl Web e il problema della Ricerca
La ricerca nel Web - IndicizzazioneCome funziona un motore di ricercaGestire le statistiche di un sito Web
Consigli per gli sviluppatori Web
Il pre-processing delle pagine
La pagina viene divisa in paroleVengono considerati anche i tag HTML e i simboli specialiAnche i numeri vengono indicizzati (risultato di una partita 0:1)Vengono eliminate le stop wordsConversione di tutte le keyword in minuscolo (o maiuscolo)Filtri di stemming per eliminare le varianti delle parole
Diminuisce l’elenco delle paroleAumenta l’elenco dei risultati trovatiNon è detto che ci siano più risultati rilevanti
Anche se lo stemming non viene usato l’utente può usareoperatori di troncamento
Dott. Cazzaniga Paolo Motori di Ricerca
IntroduzioneIl Web e il problema della Ricerca
La ricerca nel Web - IndicizzazioneCome funziona un motore di ricercaGestire le statistiche di un sito Web
Consigli per gli sviluppatori Web
L’interpretazione della query
Vengono cercate le parole chiave nella lista presentenell’archivio del motore di ricercaViene fatta l’intersezione tra le liste di pagine web checontengono le parole chiavePer ridurre i tempi di risposta viene considerata l’intersezionedelle pagine e non l’unione
Dott. Cazzaniga Paolo Motori di Ricerca
IntroduzioneIl Web e il problema della Ricerca
La ricerca nel Web - IndicizzazioneCome funziona un motore di ricercaGestire le statistiche di un sito Web
Consigli per gli sviluppatori Web
Term frequency
TF si basa sul fatto che la frequenza di un termine in undocumento è un buon indicatoreTF viene calcolato contando quante volte è ripetuta una parolanel documento
la lunghezza del documento conta! Infatti TF viene normalizzato(n◦ di parole o byte)
termini troppo (o troppo poco) frequenti non sono utili perstabilire la rilevanza di una pagina
Dott. Cazzaniga Paolo Motori di Ricerca
IntroduzioneIl Web e il problema della Ricerca
La ricerca nel Web - IndicizzazioneCome funziona un motore di ricercaGestire le statistiche di un sito Web
Consigli per gli sviluppatori Web
Term frequency
Tecniche di spam per aumentare il TFkeyword stuffing: ripetizione di parole chiavetesto nascosto: tra tag HTML o di colore non visibileredirezione ad altre paginepage swapping: cambiare il contenuto di una pagina dopo che èstata indicizzatapagine duplicate con contenuto molto simile tra lorodoorway e cloaking: pagina di spam al motore di ricerca, paginareale all’utente
Dott. Cazzaniga Paolo Motori di Ricerca
IntroduzioneIl Web e il problema della Ricerca
La ricerca nel Web - IndicizzazioneCome funziona un motore di ricercaGestire le statistiche di un sito Web
Consigli per gli sviluppatori Web
Term frequency
Pagine con TF molto alto possono indicare che:il documento è molto corto (una parola)è presente qualche forma di spam
Queste anomalie vengono facilmente identificate:pagine con TF troppo alto sono penalizzate
Google avvisa gli webmaster dicendo:«Se tentate di spammarci aumentate la possibilità di essere esclusidai nostri archivi»
Dott. Cazzaniga Paolo Motori di Ricerca
IntroduzioneIl Web e il problema della Ricerca
La ricerca nel Web - IndicizzazioneCome funziona un motore di ricercaGestire le statistiche di un sito Web
Consigli per gli sviluppatori Web
Inverse document frequency
Misura della rilevanza dei termini meno frequentinumero di documenti dell’archivio/numero di documenti checontengono la parola chiavetermini poco frequenti con IDF alto permettono di restringerel’insieme dei documenti rilevantinon è facile spammare l’IDF
è inutile aggiungere pagine con termini poco frequenti perché nonverrebbero cercateè difficile conoscere queste informazioni perché è necessaria unaampia conoscenza del Web
Dott. Cazzaniga Paolo Motori di Ricerca
IntroduzioneIl Web e il problema della Ricerca
La ricerca nel Web - IndicizzazioneCome funziona un motore di ricercaGestire le statistiche di un sito Web
Consigli per gli sviluppatori Web
Calcolo del TF-IDF
TF di ogni termine della ricercaIDF di ogni pagina che contiene il termineTF -IDF =
∑t∈Terms IFt × IDFt
TF-IDF viene usato dal motore di ricerca per stabilire il rankingdei risultati rilevantiIl calcolo è molto oneroso, quante pagine considerare nelranking?
Sempre per ridurre il tempo richiesto per rispondere a una query:risultati preconfezionati a query molto richiesteraccogliere a lato utente le query delle sue ricerche più frequenti
Dott. Cazzaniga Paolo Motori di Ricerca
IntroduzioneIl Web e il problema della Ricerca
La ricerca nel Web - IndicizzazioneCome funziona un motore di ricercaGestire le statistiche di un sito Web
Consigli per gli sviluppatori Web
La rilevanza del contenuto delle pagine web
Ricerca per frasi esatte:
la distanza tra le parole di una query viene memorizzata assiemealla paginail peso dato per effettuare il ranking è segreto
Sinonimi:
possono essere riconosciuti con dei tesauriaumentano i risultati ma non necessariamente la precisioneGoogle aveva introdotto l’operatore ∼
Dott. Cazzaniga Paolo Motori di Ricerca
IntroduzioneIl Web e il problema della Ricerca
La ricerca nel Web - IndicizzazioneCome funziona un motore di ricercaGestire le statistiche di un sito Web
Consigli per gli sviluppatori Web
La rilevanza del contenuto delle pagine web
Link testuali:link testuali significativi vengono considerati nel rankingla loro presenza viene pesata per evitare lo spam
Analisi dell’URL:vengono analizzate le keyword dell’indirizzonon è nota la procedura usata
Data dell’ultimo aggiornamento
Dott. Cazzaniga Paolo Motori di Ricerca
IntroduzioneIl Web e il problema della Ricerca
La ricerca nel Web - IndicizzazioneCome funziona un motore di ricercaGestire le statistiche di un sito Web
Consigli per gli sviluppatori Web
La rilevanza del contenuto delle pagine web
Valutazione della struttura dei file HTML:i metadati che contengono le informazioni sono soggetti a spami metadati vengono usati per dire al crawler di non visitare lapaginavengono pesate le parole a seconda del tag in cui sonocontenute (i dettagli sono segreti)probabilmente il peso dei tag viene dato usando metodi dimachine learning (es. Algoritmi Genetici)
Dott. Cazzaniga Paolo Motori di Ricerca
IntroduzioneIl Web e il problema della Ricerca
La ricerca nel Web - IndicizzazioneCome funziona un motore di ricercaGestire le statistiche di un sito Web
Consigli per gli sviluppatori Web
La rilevanza del contenuto delle pagine webSpell checking:
controllo per proporre all’utente risultati presenti negli archiviil suggerimento viene dato proponendo parole chiavemaggiormente cercate
Ricerche simili e suggerimenti:vengono proposte grazie a tecniche di mining nei log dellericercheun terzo degli utenti si lascia suggerirederivazione di concetti simili:
utilizzo di dizionari di concetti costruiti offlinevettore di termini in relazione tra loro costruito durante il crawlingi termini dei primi risultati contenuti nel vettore di termini vengonousati per costruire i risultati similifrasi simili vengono generate usando i log del motore di ricercai risultati simili vengono confrontati con i risultati originali perprodurre una lista di concetti simili
Dott. Cazzaniga Paolo Motori di Ricerca
IntroduzioneIl Web e il problema della Ricerca
La ricerca nel Web - IndicizzazioneCome funziona un motore di ricercaGestire le statistiche di un sito Web
Consigli per gli sviluppatori Web
Metriche Link-based
Cosa differenzia il Web da una semplice collezione di documenti?I link che permettono di navigare il WebSe A linka B, significa che A raccomanda BGoogle interpreta i link come votiPossono essere interpretati come citazioniNumero di link per stabilire l’autorevolezza e l’importanza di unapagina
Dott. Cazzaniga Paolo Motori di Ricerca
IntroduzioneIl Web e il problema della Ricerca
La ricerca nel Web - IndicizzazioneCome funziona un motore di ricercaGestire le statistiche di un sito Web
Consigli per gli sviluppatori Web
Metriche Link-based
Google considera come metrica una normalizzazione delnumero di linkProblema dei link fake a una pagina
Non viene semplicemente contato il numero di link in entrataViene considerata l’autorevolezza delle pagine che linkano
Questo metodo per stabilire la qualità di una pagina èindipendente dalla query dell’utente
Dott. Cazzaniga Paolo Motori di Ricerca
IntroduzioneIl Web e il problema della Ricerca
La ricerca nel Web - IndicizzazioneCome funziona un motore di ricercaGestire le statistiche di un sito Web
Consigli per gli sviluppatori Web
Metriche Link-based
Link analysis e rilevanza del contenutoobiettivo: ottenere il ranking finale delle pagineanalisi dei link entranti a una pagina webcalcolo del valore TF-IDFcombinazione delle due metriche (il metodo è segreto)
Dott. Cazzaniga Paolo Motori di Ricerca
IntroduzioneIl Web e il problema della Ricerca
La ricerca nel Web - IndicizzazioneCome funziona un motore di ricercaGestire le statistiche di un sito Web
Consigli per gli sviluppatori Web
PageRank
Intuitivamente, rappresenta la probabilità che un utente ha dinavigare una pagina web
PageRank viene calcolato dal crawler mentre naviga le pagineI link uscenti da una pagina vengono scelti con probabilitàuniformeSe non ci sono link uscenti o sono presenti loop si usa ilteletrasporto (con una determinata probabilità)E’ proporzionato al tempo medio che un utente potrebbe passaresu una paginaViene calcolato offline (indipendente dalla query)
Dott. Cazzaniga Paolo Motori di Ricerca
IntroduzioneIl Web e il problema della Ricerca
La ricerca nel Web - IndicizzazioneCome funziona un motore di ricercaGestire le statistiche di un sito Web
Consigli per gli sviluppatori Web
Altri metodi di PageRank
Calcolo online con metodi di cash, credit history e cash flow(equivalente a PageRank con crawl sufficientemente lunghi)Metodi Monte Carlo: rank come numero di random walk cheterminano in una pagina / numero totale di random walk (puòessere aggiornato continuamente)Hyperlink-induced Topic search: nozione di pagine hub, paginebuone sono linkate da hubApprocci stocastici: combinano metodi Monte Carlo con lenozioni di hub e autorevolezza
Dott. Cazzaniga Paolo Motori di Ricerca
IntroduzioneIl Web e il problema della Ricerca
La ricerca nel Web - IndicizzazioneCome funziona un motore di ricercaGestire le statistiche di un sito Web
Consigli per gli sviluppatori Web
PageRank e le nuove pagine web
Vecchie pagine con più link entranti hanno PageRank maggioreNuove pagine hanno difficoltà a migliorare il proprio ranking(Facebook è comunque un controesempio eccellente)Una possibilità è di aumentare il PageRank di alcune nuovepagine per promuovere la loro visibilità
Dott. Cazzaniga Paolo Motori di Ricerca
IntroduzioneIl Web e il problema della Ricerca
La ricerca nel Web - IndicizzazioneCome funziona un motore di ricercaGestire le statistiche di un sito Web
Consigli per gli sviluppatori Web
Fonti di spam
Link prodotti all’interno di una communityLink prodotti da blog (google bomb)Link farm
Per evitare lo spamming può essere usato il TrustRank
Dott. Cazzaniga Paolo Motori di Ricerca
IntroduzioneIl Web e il problema della Ricerca
La ricerca nel Web - IndicizzazioneCome funziona un motore di ricercaGestire le statistiche di un sito Web
Consigli per gli sviluppatori Web
Metriche basate sulla popolarità
Tenere traccia di quanto vengono cliccate le pagine webMediando su molti utenti si ottiene una metrica sulla popolaritàLa popolarità è una metrica in cui una comunità influisce sulsingolo individuoLa popolarità è soggetta a spamLa popolarità è autorinforzante
popolarità dipendente dall’età della pagina
E’ statisticamente significativa solo per query popolari
Dott. Cazzaniga Paolo Motori di Ricerca
IntroduzioneIl Web e il problema della Ricerca
La ricerca nel Web - IndicizzazioneCome funziona un motore di ricercaGestire le statistiche di un sito Web
Consigli per gli sviluppatori Web
Metriche basate sulla popolarità
Altre possibilità:tenere traccia del giudizio degli utenticonsiderare l’importanza delle keyword nella querymetodi di clustering e machine learning per il rankinguso di reti neurali per il ranking: RankNet
Dott. Cazzaniga Paolo Motori di Ricerca
IntroduzioneIl Web e il problema della Ricerca
La ricerca nel Web - IndicizzazioneCome funziona un motore di ricercaGestire le statistiche di un sito Web
Consigli per gli sviluppatori Web
BrowseRank
PageRank non approssima la reale navigazione degli utentiBrowseRank usa metriche e statistiche che si basano sulcomportamento degli utentiBrowseRank può migliorare le performance di un motore diricercaBrowseRank non è soggetto a spam come PageRank
Dott. Cazzaniga Paolo Motori di Ricerca
IntroduzioneIl Web e il problema della Ricerca
La ricerca nel Web - IndicizzazioneCome funziona un motore di ricercaGestire le statistiche di un sito Web
Consigli per gli sviluppatori Web
Altri studi
I motori di ricerca usano diverse misure e metriche per migliorare leloro performance
Es. HeatMap e Eyetracking
Dott. Cazzaniga Paolo Motori di Ricerca
IntroduzioneIl Web e il problema della Ricerca
La ricerca nel Web - IndicizzazioneCome funziona un motore di ricercaGestire le statistiche di un sito Web
Consigli per gli sviluppatori Web
Come guadagnano i motori di ricerca?
Paid inclusion: non influenza il ranking ma le nuove paginecompaiono subito tra i risultatiBanner ads: pagamento in funzione delle visualizzazioni (bannerblindness)Link sponsorizzati: risultati non organici (pay per click)Behavioral targeting e contextual targeting (pubblicità in funzionedelle query. E la privacy?)Click fraud e advertising fraud (da due punti di vista)
Il concetto di click-through rate e Google AdSense
Dott. Cazzaniga Paolo Motori di Ricerca
IntroduzioneIl Web e il problema della Ricerca
La ricerca nel Web - IndicizzazioneCome funziona un motore di ricercaGestire le statistiche di un sito Web
Consigli per gli sviluppatori Web
Outline
1 Introduzione
2 Il Web e il problema della Ricerca
3 La ricerca nel Web - Indicizzazione
4 Come funziona un motore di ricerca
5 Gestire le statistiche di un sito Web
6 Consigli per gli sviluppatori Web
Dott. Cazzaniga Paolo Motori di Ricerca
IntroduzioneIl Web e il problema della Ricerca
La ricerca nel Web - IndicizzazioneCome funziona un motore di ricercaGestire le statistiche di un sito Web
Consigli per gli sviluppatori Web
Google Analytics
Google Analytics
Dott. Cazzaniga Paolo Motori di Ricerca
IntroduzioneIl Web e il problema della Ricerca
La ricerca nel Web - IndicizzazioneCome funziona un motore di ricercaGestire le statistiche di un sito Web
Consigli per gli sviluppatori Web
Outline
1 Introduzione
2 Il Web e il problema della Ricerca
3 La ricerca nel Web - Indicizzazione
4 Come funziona un motore di ricerca
5 Gestire le statistiche di un sito Web
6 Consigli per gli sviluppatori Web
Dott. Cazzaniga Paolo Motori di Ricerca
IntroduzioneIl Web e il problema della Ricerca
La ricerca nel Web - IndicizzazioneCome funziona un motore di ricercaGestire le statistiche di un sito Web
Consigli per gli sviluppatori Web
Tecniche di link building
Directory links:Inserire i propri link in una directory è il metodo più facile peravere dei link di ritorno al proprio sito webI link vanno inseriti nella categoria appropriata per mantenerne larilevanzaI link nelle directory sono duraturiI link delle directory aiutano a migliorare il ranking
Attenzione!
Dott. Cazzaniga Paolo Motori di Ricerca
IntroduzioneIl Web e il problema della Ricerca
La ricerca nel Web - IndicizzazioneCome funziona un motore di ricercaGestire le statistiche di un sito Web
Consigli per gli sviluppatori Web
Tecniche di link building
Article links:Sono link contestualiGli article link normalmente sono unidirezionaliGoogle assegna alta priorità a questi linkSono utili per generare traffico
Dott. Cazzaniga Paolo Motori di Ricerca
IntroduzioneIl Web e il problema della Ricerca
La ricerca nel Web - IndicizzazioneCome funziona un motore di ricercaGestire le statistiche di un sito Web
Consigli per gli sviluppatori Web
Tecniche di link building
Social bookmarking links:Metodo molto efficiente per costruire link unidirezionali verso ilsito webI link dei social network vengono indicizzati velocemente daimotori di ricercaSono link che possono generare molto traffico
Dott. Cazzaniga Paolo Motori di Ricerca
IntroduzioneIl Web e il problema della Ricerca
La ricerca nel Web - IndicizzazioneCome funziona un motore di ricercaGestire le statistiche di un sito Web
Consigli per gli sviluppatori Web
Tecniche di link building
Forum links:Sono link ad alta priorità per i motori di ricercaRappresentano un modo molto semplice per rendere popolareun sito webVengono riconosciuti dai motori di ricercaSono utili per generare trafficoSono link unidirezionali e permanenti
Dott. Cazzaniga Paolo Motori di Ricerca
IntroduzioneIl Web e il problema della Ricerca
La ricerca nel Web - IndicizzazioneCome funziona un motore di ricercaGestire le statistiche di un sito Web
Consigli per gli sviluppatori Web
Tecniche di link building
Blog comment links:I link ai blog incrementano in page rankingPortano traffico diretto al sito webRendono il sito web più visibileSono link organici unidirezionali
Dott. Cazzaniga Paolo Motori di Ricerca
IntroduzioneIl Web e il problema della Ricerca
La ricerca nel Web - IndicizzazioneCome funziona un motore di ricercaGestire le statistiche di un sito Web
Consigli per gli sviluppatori Web
Tecniche di link building
Link wheel:Sono una combinazione di contenuti, link unidirezionali epubblicità sui social mediaE’ uno dei metodi più potenti per creare link di ritorno verso unsito webHanno effetto diretto sul rankingGenerano dei link contestuali e generano traffico
Dott. Cazzaniga Paolo Motori di Ricerca
IntroduzioneIl Web e il problema della Ricerca
La ricerca nel Web - IndicizzazioneCome funziona un motore di ricercaGestire le statistiche di un sito Web
Consigli per gli sviluppatori Web
Tecniche di link building
Press release distribution, Hubpage e Squidoo:Press release è una piattaforma di pubblicità per i siti webHubpage e Squidoo permettono l’interazione con comunità diutentiVengono generati authority linksI link sono direttiSono link altamente indicizzati dai motori di ricerca
Dott. Cazzaniga Paolo Motori di Ricerca
IntroduzioneIl Web e il problema della Ricerca
La ricerca nel Web - IndicizzazioneCome funziona un motore di ricercaGestire le statistiche di un sito Web
Consigli per gli sviluppatori Web
Tecniche per migliorare il crawling
I siti web vengono esplorati e indicizzati prima di comparire tra irisultati di un motore di ricerca:
Lo spider di un motore di ricerca scopre la paginaIl motore di ricerca decide se inserire nel proprio indice la paginaIl contenuto viene messo nell’indice appropriatoSe il contenuto è rilevante (secondo gli algoritmi del motore diricerca) allora viene visualizzato tra i risultati
Dott. Cazzaniga Paolo Motori di Ricerca
IntroduzioneIl Web e il problema della Ricerca
La ricerca nel Web - IndicizzazioneCome funziona un motore di ricercaGestire le statistiche di un sito Web
Consigli per gli sviluppatori Web
Tecniche per migliorare il crawling
I motori di ricerca esplorano in continuazione il Web:In generale i contenuti vengono identificati tramite link, ma èanche possibile sottomettere manualmente gli URLE’ possibile bloccare il crawling di alcune pagineE’ buona norma avere un’architettura del sito che faciliti ilcrawling (sitemaps)Assicurarsi che i crawler non visitino duplicati delle pagine
Dott. Cazzaniga Paolo Motori di Ricerca
IntroduzioneIl Web e il problema della Ricerca
La ricerca nel Web - IndicizzazioneCome funziona un motore di ricercaGestire le statistiche di un sito Web
Consigli per gli sviluppatori Web
Tecniche per migliorare il crawling
Migliorare l’efficienza del crawling:Puntare più link interni alle pagine più importanti del sitoAvere link esterniUsare l’attributo nofollow per prevenire il crawlingAggiornare spesso i contenutiAggiungere una mappa del sitoMonitorare le statistiche del crawling (Google Webmaster Tools)
Dott. Cazzaniga Paolo Motori di Ricerca
IntroduzioneIl Web e il problema della Ricerca
La ricerca nel Web - IndicizzazioneCome funziona un motore di ricercaGestire le statistiche di un sito Web
Consigli per gli sviluppatori Web
Tecniche per migliorare il crawling
L’indicizzazione delle pagine:Contenuti duplicati: quale versione deve essere indicizzata?Tecniche di spamdexing possono penalizzare le pagineUsare il comando site:sitoweb.com per sapere quali pagine sonoindicizzateUsare le feature dei Google Webmaster ToolsSitemaps e mappa del sito
Dott. Cazzaniga Paolo Motori di Ricerca
IntroduzioneIl Web e il problema della Ricerca
La ricerca nel Web - IndicizzazioneCome funziona un motore di ricercaGestire le statistiche di un sito Web
Consigli per gli sviluppatori Web
Migliorare il proprio Ranking
Ottimizzazione dei motori di ricerca:
«processo per migliorare la visibilità di un sito web o di una paginaweb tra i risultati organici (non a pagamento) di un motore di ricerca»(fonte Wikipedia)
Dott. Cazzaniga Paolo Motori di Ricerca
IntroduzioneIl Web e il problema della Ricerca
La ricerca nel Web - IndicizzazioneCome funziona un motore di ricercaGestire le statistiche di un sito Web
Consigli per gli sviluppatori Web
Migliorare il proprio Ranking
Come abbiamo già visto:i crawler dei motori di ricerca cercano le keyword che descrivonoi siti webil ranking di un sito web dipende dai seguenti fattori:
la posizione delle keyword nelle pagine webla frequenza con cui compaiono le keyword nelle paginela popolarità della pagina secondo il motore di ricerca
Dott. Cazzaniga Paolo Motori di Ricerca
IntroduzioneIl Web e il problema della Ricerca
La ricerca nel Web - IndicizzazioneCome funziona un motore di ricercaGestire le statistiche di un sito Web
Consigli per gli sviluppatori Web
Migliorare il proprio Ranking
Gli errori più comuni:il sito non può essere esplorato dai crawler (Spider simulator)non vengono usate le parole giuste (Google trends)viene data troppa importanza al link building tralasciando altriaspettititoli e descrizioni fatti male o inesistentinon vengono sfruttati i tools per Webmaster
Dott. Cazzaniga Paolo Motori di Ricerca
IntroduzioneIl Web e il problema della Ricerca
La ricerca nel Web - IndicizzazioneCome funziona un motore di ricercaGestire le statistiche di un sito Web
Consigli per gli sviluppatori Web
Migliorare il proprio Ranking
Identificare le keyword che potrebbero usare potenziali utenti ecompetitorsNon ripetere troppe volte le keyword, si rischia l’effetto opposto!Ottimizzare ogni pagina web (HTML: Page Title, Description,Heading tags H1, H2, ecc., Alt text)Ottimizzare le immagini (nome file, attributi HTML Alt e Title).Anche per gli screen reader!
Dott. Cazzaniga Paolo Motori di Ricerca
IntroduzioneIl Web e il problema della Ricerca
La ricerca nel Web - IndicizzazioneCome funziona un motore di ricercaGestire le statistiche di un sito Web
Consigli per gli sviluppatori Web
Migliorare il proprio Ranking
Contenuti aggiornatiTag appropriati (Description, Heading) e diversi per ogni paginaOttimizzare ogni pagina (non tutti arrivano dalla HomePage)sitemap XMLUsare Blog (se possibile)
Dott. Cazzaniga Paolo Motori di Ricerca
IntroduzioneIl Web e il problema della Ricerca
La ricerca nel Web - IndicizzazioneCome funziona un motore di ricercaGestire le statistiche di un sito Web
Consigli per gli sviluppatori Web
Migliorare il proprio Ranking
Includere keyword nell’URL del sito (www.ilmiostudio.com)Includere keyword nelle pagine web(www.ilmiosito.com/ilmiostudio)Assicurarsi di avere tag Title descrittivi e con keyword (diversititoli per diverse pagine)Descrizioni (meno di 200 caratteri) diverse per ogni paginaParole chiave in Heading (H1, H2, ecc.)Keyword nel body delle pagine (ricordarsi della prossimita!)Keyword negli alt text
Dott. Cazzaniga Paolo Motori di Ricerca
IntroduzioneIl Web e il problema della Ricerca
La ricerca nel Web - IndicizzazioneCome funziona un motore di ricercaGestire le statistiche di un sito Web
Consigli per gli sviluppatori Web
Spamdexing
Spamdexing:
«Con il termine spamdexing si definiscono azioni il cui fine èl’acquisizione di visibilità nei motori di ricerca utilizzando metodologiee/o tecniche ritenute illecite o comunque apertamente in contrastocon i termini d’uso dei motori di ricerca.»(fonte Wikipedia)
«Pagine create deliberatamente per ingannare i motori di ricercafacendo offrire agli utenti risultati di ricerca inappropriati, ridondanti edi pessima qualità»(secondo Yahoo!, Google e Bing)
Dott. Cazzaniga Paolo Motori di Ricerca
IntroduzioneIl Web e il problema della Ricerca
La ricerca nel Web - IndicizzazioneCome funziona un motore di ricercaGestire le statistiche di un sito Web
Consigli per gli sviluppatori Web
Spamdexing
Categorie di spam:Content spamDomain spamLink spamRedirect spamCloaking
Ogni motore di ricerca impone gravi penalizzazioni ai siti web chefanno spamdexing
Dott. Cazzaniga Paolo Motori di Ricerca
IntroduzioneIl Web e il problema della Ricerca
La ricerca nel Web - IndicizzazioneCome funziona un motore di ricercaGestire le statistiche di un sito Web
Consigli per gli sviluppatori Web
Spamdexing
Content spam:keyword stuffingcontenuti nascosti o invisibilimeta tag stuffingdoorway pagesscraper sitesarticle spinning
Dott. Cazzaniga Paolo Motori di Ricerca
IntroduzioneIl Web e il problema della Ricerca
La ricerca nel Web - IndicizzazioneCome funziona un motore di ricercaGestire le statistiche di un sito Web
Consigli per gli sviluppatori Web
Spamdexing
Domain spam:mirror websitescomprare domini scadutitypo nei domini
Dott. Cazzaniga Paolo Motori di Ricerca
IntroduzioneIl Web e il problema della Ricerca
La ricerca nel Web - IndicizzazioneCome funziona un motore di ricercaGestire le statistiche di un sito Web
Consigli per gli sviluppatori Web
Spamdexing
Link spam:link-building softwarelink farmlink nascostisybil attack (uso di pseudonimi per migliorare la web reputation)spam blogpage hijackingcookie stuffing
Dott. Cazzaniga Paolo Motori di Ricerca
IntroduzioneIl Web e il problema della Ricerca
La ricerca nel Web - IndicizzazioneCome funziona un motore di ricercaGestire le statistiche di un sito Web
Consigli per gli sviluppatori Web
Spamdexing
Redirect spam: deviare l’utente verso pagine diverse da quellarealmente cercata
Cloaking: ottimizzazione di alcune pagine per i motori di ricerca eredirezione degli utenti verso pagine diverse
Dott. Cazzaniga Paolo Motori di Ricerca
IntroduzioneIl Web e il problema della Ricerca
La ricerca nel Web - IndicizzazioneCome funziona un motore di ricercaGestire le statistiche di un sito Web
Consigli per gli sviluppatori Web
Spamdexing
E’ possibile riportare casi di spam:GoogleYahoo!Bing
Dott. Cazzaniga Paolo Motori di Ricerca