Componenti principali di un motore di ricerca

(30 dicembre)

Sappiamo tutti cosa sia un motore di ricerca ……, la sua funzione e il suo ruolo in tema di “ricerche”. Se Internet è uno strumento di cui oggigiorno non si può fare a meno, a livello ricreativo piuttosto che commerciale, il ‘motore di ricerca’ ne è una costola permettendo all’utente di ottenere le informazioni che cerca in pochi istanti (intento di ricerca). Tramite un motore di ricerca (“search engine”) è possibile analizzare una vasta quantità di dati restituendo contenuti correlati.

Con questo articolo intendiamo definire i principi che stanno alla base del funzionamento di un motore di ricerca.

Benché questa entità sia costituita da più elementi, si possono individuare dei punti cardine su cui poggia:

Scheduler: prende in carico quando il/i crawler deve attivarsi per il download di una risorsa relativa all’URL passato;

Spider (anche detto crawler o robot): costituisce il Corpus (archivio di documenti), loopando i dati da ogni indirizzo url passati al fine di sviluppare un elenco di pagine web , raccogliere le informazioni presenti e memorizzarle in determinati records;

Indexer: processa i dati raccolti dallo spider, al fine di ottenere indici e metadati che potrebbero tornare utili per snellire la fase di ricerca:

Parser: estrae ogni singola risorsa memorizzata nel repository e, dopo averne letto i contenuti, li suddivide a seconda della tipologia. Qualora l’unità presa in esame contenga a sua volta degli url questi verranno inviati nuovamente al repository. I dati che sono stati catalogati vengono a loro volta etichettati e risulteranno più determinanti per permettere al motore di ricerca di offrire le informazioni più rilevanti;

Query Processor: definito anche Search Engine Software, accetta richieste e fornisce risposte; determina i risultati in base ala loro rilevanza sulla query.

La natura dei motori di ricerca è in continua evoluzione per venire incontro alle esigenze degli utenti con le loro richieste, è un mondo in continua evoluzione: pertanto, a fronte dei repentini cambiamenti è necessario prendere coscienza che occorre essere aggiornati e attenti alle mutazioni del mercato.

‘Il Crawler’, questo sconosciuto

(sabato 24 novembre)

Attività metodologiche di un crawler
Attività metodologiche di un crawler

Con il termine “crawler” (chiamato anche ‘web crawler‘, spider o robot) si intende un qualsiasi programma che può essere utilizzato per l’individuazione (cioè “verificare la presenza in Rete”) e la scansione automatiche dei siti web, compresi eventuali link che rimandano ad altre pagine web. Ogni motore di ricerca ne ha di suoi specifici: ad esempio, il crawler principale di Google è Googlebot.

Il loro utilizzo è definito nella parte descrittiva nel file robots.txt, il quale può prevedere diversi crawler. Inoltre, possono essere specificati anche dal meta tag robots o nelle istruzioni HTTP X-Robots-Tag.

Definizione Web Crawler
Definizione Web Crawler

 

 

Google bot
Google bot

 

Crawler Token dello user-agent (utilizzato nel file robots.txt) Stringa completa dello user-agent (come mostrata nei file di log del sito web)
APIs-Google
  • APIs-Google
APIs-Google (+https://developers.google.com/webmasters/APIs-Google.html)
AdSense
  • Mediapartners-Google
Mediapartners-Google
AdsBot Mobile Web Android 

(Controlla la qualità dell’annuncio nella pagina web Android)

  • AdsBot-Google-Mobile
Mozilla/5.0 (Linux; Android 5.0; SM-G920A) AppleWebKit (KHTML, like Gecko) Chrome Mobile Safari (compatible; AdsBot-Google-Mobile; +http://www.google.com/mobile/adsbot.html)
AdsBot Mobile Web 

(Controlla la qualità dell’annuncio nella pagina web dell’iPhone)

  • AdsBot-Google-Mobile
Mozilla/5.0 (iPhone; CPU iPhone OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13B143 Safari/601.1 (compatible; AdsBot-Google-Mobile; +http://www.google.com/mobile/adsbot.html)
AdsBot 

(Controlla la qualità dell’annuncio nella pagina web per desktop)

  • AdsBot-Google
AdsBot-Google (+http://www.google.com/adsbot.html)
Googlebot Immagini
  • Googlebot-Image
  • Googlebot
Googlebot-Image/1.0
Googlebot News
  • Googlebot-News
  • Googlebot
Googlebot-News
Googlebot Video
  • Googlebot-Video
  • Googlebot
Googlebot-Video/1.0
Googlebot 

(Desktop)

  • Googlebot
  • Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)
  • Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; Googlebot/2.1; +http://www.google.com/bot.html) Safari/537.36o (utilizzato raramente):
     
  • Googlebot/2.1 (+http://www.google.com/bot.html)
Googlebot 

(Smartphone)

  • Googlebot
Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.96 Mobile Safari/537.36 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)
Mobile AdSense
  • Mediapartners-Google
(Vari tipi di dispositivi mobili) (compatible; Mediapartners-Google/2.1+http://www.google.com/bot.html)
Mobile Apps Android 

(Controlla la qualità dell’annuncio nella pagina per app Android. segue le regole dei robot AdsBot-Google.)

  • AdsBot-Google-Mobile-Apps
AdsBot-Google-Mobile-Ap

I crawler più comuni di Google

 

Un crawler è un tipo di bot (programma o script che automatizza delle operazioni), e i crawler solitamente acquisiscono una copia testuale di tutti i documenti visitati e le inseriscono in un indice.

Sul Web, il crawler si basa su una lista di URL da visitare fornita dal motore di ricerca (il quale per ciò si basa sugli indirizzi suggeriti dagli utenti o su una lista precompilata). Durante l’analisi di un URL, lo spider identifica tutti gli hyperlink presenti nel documento e li aggiunge alla lista di URL da visitare.
Il comportamento dei crawler attivi in Rete è tracciato da quanto definito nel file robots.txt, individuabile nella root del sito. 

Esistono anche crawler open source. In particolare, è definito nella riga ‘User-agent‘ mediante una stringa di testo (“token“).

 

Per capire come si svolge veramente un’attività di SEO e quindi come funziona l’algoritmo di Google, occorre conoscere e capire come funzionano le due “menti” operative di GoogleBot, ovvero lo spider ed il crawler.
Spider
L’attività principale dello spider è di farsi una copia del codice html delle pagine di un sito web, suddividerlo in parti, quindi procedere a farne il controllo spam, salvare un estratto dei contenuti nell’Index ed in alcuni casi inviare una immagine (copia) della pagina alla cache. Per sapere come trovare la copia cache delle proprie pagine ecco un post sui comandi avanzati.

Crawler
La funzione del Crawler è analizzare e seguire i link forniti dallo spider nella sua attività di scansione delle pagine. Tutti i link seguiti dal crawler sono analizzati in profondità in base ad una serie di parametri (anchor text, proprietario del dominio, whois etc.) che permettono a Google di capire il valore SEO reale di ogni link e quindi eventuali penalty. Se il crawler trova nuove pagine non presenti nell’indice dello spider, li comunica allo spider stesso che ricomincia la scansione e indicizzazione.

 

In una accezione secondaria, il termine web crawler viene utilizzato anche per indicare programmi (come PageNest, MSIECrawler, Offline Explorer) concepiti per scaricare il contenuto di un intero sito web sul disco fisso del computer.

“Polimorfi” tacciati da Memory Alpha in quanto, accedendo al sito in modo aggressivo, implicano un rallentamento drastico delle possibilità di accesso al sito stesso da parte dei visitatori.

 

Indicizzazione e ottimizzazione

(mercoledì 24 ottobre)

L’approccio con il mondo della SEO implica spesso, soprattutto per i neofiti, un utilizzo errato di terminologie; fra queste, penso sia diffusa la confusione che si viene a creare parlando di ‘indicizzazione’ e ‘ottimizzazione’.

Con il termine “indicizzazione” si intende semplicemente l’inserimento di un sito o un blog in un motore di ricerca. In ciò differisce dal ricorrente e più “sulla bocca” processo di ottimizzazione, il quale riguarda l’insieme delle attività finalizzate a migliorare la visibilità del sito/blog sui motori di ricerca.
Processo che si realizza attraverso tre step:
-segnalazione sito al motore di ricerca;
-creazione e inserimento del file sitemap.xml
– essere citati da altre fonti (essere citati o meglio linkati da altri siti web è spesso considerato come sinonimo di qualità e/o interesse)

L’indicizzazione di un sito internet è la fase in cui il motore di ricerca raccoglie, analizza ed archivia i dati per facilitare la rapida e accurata ricerca di informazioni

 

Se un sito non viene indicizzato, non può comparire nei risultati di ricerca. L’indicizzazione di siti internet viene effettuata in maniera automatica dal motore stesso, tramite particolari programmi chiamati spider (“ragni”), che entrano in un sito e ne leggono il codice sorgente.[/caption]

 

Lindicizzazione SEO è un processo, quindi un insieme di azioni, che ha come unico obiettivo quello di raccogliere le informazioni relative ad una certa pagina web e renderle disponibili nel database del motore di ricerca.

 

Interessante notare che quando un utente effettua una ricerca su Google, quest’ultimo deve interpretare il suo bisogno intrinseco nella ricerca, capire quale tra i tanti siti internet che compongono la rete risponda meglio al suo bisogno e restituire una lista di siti che soddisfino al meglio la richiesta dell’utente “intento di ricerca” (questa operazione deve avvenire in pochi istanti: è per questo che il motore deve avere già memorizzate al proprio interno il maggior numero possibile di info sulle pagine, pena l’esclusione della stessa/e dall’attività di ricerca).

Terminata l’attività di registrazione del sito, i motori di ricerca scansionano periodicamente i siti presenti nel proprio db per verificare eventuali aggiornamenti ricorrendo al servizio add-url (segnala un sito al motore di ricerca): tramite particolari programmi chiamati spider (letteralmente “ragni”, nel senso che essi attraversano la “ragnatela” di collegamenti eletto stereotipo con cui si raffigura simbolicamente il web), entrano in un sito e ne incominciano a leggere il markup HTML, alla ricerca di eventuali modifiche del contenuto o della struttura; procedendo in cascata, se trova un link a un’altra pagina del sito o ad un altro sito, analizza anche quest’ultimo di conseguenza.

Dopo aver scansionato la rete e quindi indicizzato (nel senso di raggruppato) una grandissima mole di pagine web, il motore di ricerca passa alla seconda fase: classificarle e posizionarle in base all’analisi delle parole chiave contenute. In questo modo i motori di ricerca, tramite gli algoritmi, assicurano ai loro utenti contenuti validi e aggiornati. 

Quando il motore di ricerca termina di scansionare i siti già presenti in archivio passa a scansionare tutti i siti proposti nel motori di ricerca. Questo sistema è oramai obsoleto: è preferibile fare uso di strumenti più moderni per monitorare il proprio sito, come ad esempio la Search Console di Google.

Da notare che il sito non viene indicizzato se nel codice sorgente sono presenti determinate istruzioni (ad esempio come <meta name=”robots” content=”noindex”> oppure <meta name=”robots” content=”noimageindex”>); se invece non è specificato nulla a riguardo, viene indicizzato l’intero contenuto della pagina Web.

A questo punto, scansionata la rete e indicizzata (cioè raggruppata) una grandissima mole di pagine web, il motore di ricerca passa alla seconda fase: classificarle e posizionarle in base all’apprezzamento delle parole chiave trovate al suo interno e alla “fedeltà” e attendibilità dei contenuti (ciò avviene in base alla logica dell’algoritmo utilizzato dal motore di ricerca). 

Avere un sito indicizzato su Google piuttosto che Bing o Flickr significa che le URL che lo compongono sono state inserite nella banca dati del motore di ricerca, e conseguentemente quando l’utente eseguirà una ricerca lo stesso comparirà nella SERP (lista dei risultati che vengono trovati). Quando si parla di indicizzazione è sempre meglio parlare in termini di singoli url e non del sito nella sua integrità: non è infatti detto le sue pagine (che possono essere anche svariate, ognuna delle quali  contraddistinta da un preciso “url”)  siano presenti nell’indice del motore di ricerca: alcune possono essere duplicate, altre possono finire nell’indice secondario di Google, altre possono risultare ignare perchè non essere ancora scansionate dallo spider.

Se le attività che riguardano l’indicizzazione sono eseguite automaticamente dal motore di ricerca, quelle di ottimizzazione (attività di SEO – Search Engine Optimization) vengono svolte dalle persone, con la finalità di incrementare il posizionamento organico (cioè non a pagamento) di un sito nei risultati dei motori di ricerca, con l’obiettivo di far apparire il proprio sito in cima alle liste di risultati.

Quindi indicizzazione e posizionamento sono due processi molto differenti tra loro. Il primo ha come unica finalità quella di inserire un sito o una pagina web nel database del motore di ricerca; il secondo invece, mediante opportune strategie web e di Inbound Marketing * mira a portare un determinato sito nelle primissime posizioni dei risultati organici di Google.