Indicizzazione search engine
Un motore di ricerca risponde alle query degli utenti soltanto grazie alla presenza di un database di conoscenza, in cui sono archiviati gli indirizzi delle pagine web e una sintesi delle informazioni contenute.
Questo modello accomuna sia i motori interni di un sito web, sia quelli che si occupano di indicizzare le risorse sul Web o su Internet. Non potrebbero funzionare senza prima alimentare il database di conoscenza, un'operazione che viene durante la scansione.
La scansione delle pagine web
Nella prima fase di scansione dei programmi automatici si occupano di navigare sugli indirizzi URL delle pagine e le risorse online per catturare i loro contenuti ( testi, immagini, video, link e collegamenti ipertestuali interni o esterni ecc. ). Questi programmi sono detti agenti bot, crawler o robot.
Inizialmente, il bot visita gli indirizzi segnalati dagli utenti tramite il submit, le segnalazioni manuali. Poi sono le stesse pagine lette a fornire altri indirizzi tramite i collegamenti ipertestuali, altri indirizzi da visitare. Un altro modo per trovare gli indirizzi si basa sulle Sitemap.
L'agente bot apre il file della pagina web, il codice sorgente del documento html, lo scansiona riga per riga e lo archivia in memoria cache, in uno dei tanti database del search engine.
La scansione è solo la prima operazione del processo di acquisizione dei dati. Una volta archiviati i dati nel database, questi sono ancora inaccessibili. E' difficile trovare un'informazione in un archivio contenente miliardi di record. Per facilitare il processo di searching bisogna indicizzare i dati.
Cos'è l'indicizzazione dei dati
Nel processo di indicizzazione un algoritmo associa a ogni pagina ( record ) delle informazioni aggiuntive, simili a dei tag, che riassumono il contenuto informativo, dette parole indice ( o indici ). Ad esempio, la pagina che stai leggendo potrebbe essere associata a delle parole indice come "seo", "indicizzazione", "search engine", ecc.
Come fa il motore di ricerca a trovare le parole indice?
L'agente automatico scansiona il contenuto delle pagine web, quelle archiviate in database dallo spider, per cercare di trovare le parole più rilevanti del testo, quelle più significative che possono riassumere il suo contenuto. Queste parole sono dette keyword ossia parole chiave.
Il meta tag keyword nel documento Html
Le parole chiave sono nate con il linguaggio Html. L'ideatore del linguaggio Tim , previde un apposito tag per inserire le keyword in un documento Html. Si tratta del meta-keywords nella sezione head della pagina.
<html>
<head>
<meta name="keywords" content="keyword1, keyword2, ecc. ">
</head>
<body>
contenuto della pagina visibile all'utente
</body>
</html>
I termini contenuti in questo metatags rendevano più semplice l'indicizzazione. Per trovare le parole-indice il search engine si limitava a copiare le parole chiave inserite nel documento html ( pagina web ) dal webmaster.
Ben presto si capì che questo sistema non poteva funzionare. Questo sistema di indicizzazione è efficace in una base dati interna, dove i contenuti sono controllati e indicizzati con cura.
Sul web, invece, si diffuse la tendenza a inserire keyword popolari e poco attinenti al contenuto della pagina, al solo scopo di attirare traffico sul sito.
Le informazioni contenute nei metakeyword erano invisibili agli occhi degli utenti e si prestavano ad essere manipolate con lunghe liste di keyword non pertinenti. Nacquero così lo spam engine e le prime tecniche Seo black hat.
Le parole chiave nel testo del documento
L'abuso del metakeywords spinse i search engine a non considerare più affidabili le informazioni contenute in questo metatag. Gli agenti bot iniziarono a cercare le parole chiave all'interno del testo nella sezione body del documento, quello visibile sul browser dell'utente, o in altri tag.
Ad esempio, i search engine cominciarono a considerare più importanti i termini quando si trovano nel title della pagina oppure negli header ( h1, h2, h3, ... ), nel tag bold ( b ), ecc. perché sono le informazioni che l'autore dell'articolo ha messo più in evidenza.
<html>
<head>
<title>Il titolo della pagina<title>
</head>
<body>
<h1>Il titolo dell'articolo</h1>Questo è un esempio di testo con una <b>parola in evidenza</b>.
</body>
</html>
Questi segnali informativi dentro la pagina ( on-site ) sono visibili all'utente finale, sono stati inseriti dall'autore per mettere in evidenza alcune parole e agevolare la lettura del documento da parte dell'utente.
Anche i segnali fuori la pagina ( off-site ) iniziarono ad essere considerati. Ad esempio, divenne molto importante il testo ( anchor ) usato nei backlink provenienti dagli altri siti per linkare un documento.
Pur essendo più efficaci del metakeywords, anche in questo caso non mancarono i casi di spam e gli abusi come, ad esempio, le link building artificiali, la sovraottimizzazione del contenuto, ecc.
L'analisi semantica delle parole chiave
Per migliorare ulteriormente la qualità dei risultati i search engine iniziarono a verificare la correlazione tra le parole chiave. In passato, si tendeva a considerare più importante il termine più ripetuto ( keyword density ) ma questo approccio portò alla nascita di altre forme di spam engine.
Un motore di ricerca semantico non si limita a rilevare le parole chiave più in evidenza o ripetute, le analizza nel contesto in cui si trovano, studia le co-occorrenze e le associazioni per cercare di risalire al campo semantico più rilevante, ossia al significato o all'argomento trattato nel testo.
Gli indici rendono più veloce la ricerca nel motore
Una volta trovate le parole chiave, l'algoritmo le associa al record nel database che identifica la pagina. Ogni record è così composto dalle seguenti informazioni:
- Indirizzo Url
- Parole indice ( keywords )
- Title
- Descrizione
- Pagina cache
In questo modo, quando un utente effettua la ricerca, il search engine può selezionare soltanto le risorse che appaiono compatibili ( matching ) con almeno una delle parole indice del record. Il processo di ricerca delle informazioni nel database diventa molto più semplice e veloce.
Dall'indicizzazione al ranking
L'indicizzazione non è l'ultima fase di acquisizione dei dati in un search engine, resta ancora da capire quale peso ( rank ) dare a ciascuna pagina, in termini di importanza, a parità di parole indice. Questo compito è affidato a un altro algoritmo, detto algoritmo di ranking. Dal ranking dipende l'ordine di presentazione dei risultati nelle pagine dei risultati dei motori di ricerca ( serp ). Il ranking è un argomento molto complesso e merita d'essere affrontato a parte. Avendo parlato di indicizzazione era giusto fare almeno un accenno.