Gianluca Dario
Pag. 7 a 114
1 Introduzione
In questo capitolo vogliamo proporre un’introduzione all’intero documento facendo una
panoramica sul settore di riferimento quale i motori di ricerca per il web. Successivamente
mostriamo l’obiettivo del progetto e i requisiti fondamentali per la sua realizzazione.
Indichiamo inoltre sinteticamente quelli che sono i contenuti principali dei capitoli
successivi.
1.1 Panoramica di settore
Google, Yahoo, Bing, Altavista. Sono solo alcuni dei più famosi motori di ricerca per quel che
riguarda il mondo del web. Parlare di motori di ricerca nel 2011 è una necessità. Con una
rete sovraffollata di contenuti è solo grazie a questi “search engine” che possiamo
orientarci per ottenere tutte le informazioni di cui abbiamo bisogno. Senza il loro aiuto
ottenere risultati d’interesse in tempi brevi sarebbe un’utopia
[5]
.
Se siamo dei semplici utenti, vorremmo che tali motori ci indirizzassero in modo istantaneo
verso i siti che contengono in modo esauriente le informazioni di cui abbiamo bisogno. Se
siamo dei web master invece, vorremo giusto l’opposto: far si che il nostro sito sia in prima
posizione sui motori di ricerca, anche se magari non contiene i migliori contenuti possibili.
Una semplice contrapposizione di punti di vista che rende però l’idea che le cose a volte
stanno da una parte, a volte dall’altra mentre a volte coincidono. Perfetto sarebbe che
coincidessero. Come si sa, però, non è quasi mai così. Le due chiavi di lettura, sebbene
opposte, però, sono la chiave unica dell’esistenza dei motori di ricerca. Se da una parte i
web master puntano alla miglior indicizzazione possibile, dall’altra i motori di ricerca
cercano in tutti i modi di far relazionare nel modo più opportuno i contenuti delle pagine
con l’indicizzazione. Nel 2011 pensare di poter puntare al primo posto su Google con pagine
dal contenuto scadente è pura illusione. Certo, magari se abbiamo un po’ di fortuna, può
capitare che ci riusciamo per un certo periodo, ma difficilmente avremmo vita facile a
mantenere la posizione.
Potrebbe sembrare ai più che il semplice processo di inserire un termine di ricerca e il
cliccare “Cerca” su Google corrisponda nello stesso tempo anche a una semplice
operazione di find da parte del search engine. Niente di più falso. In realtà questo processo
nasconde al suo interno una serie di algoritmi particolarmente sofisticati che consentono di
tenere in mano l’intero web. Sono proprio questi algoritmi che ricercano per noi quei siti
che sembrano essere maggiormente promettenti per i loro contenuti, per la struttura delle
loro pagine, per le keyword che contengono, per le visite che ricevono, per la popolarità e
per tanti altri parametri.
Automatizzazione servizi seo
Pag. 8 a 114
Dal punto di vista del web developer se vogliamo che un sito web sia ben posizionato sui
motori, ossia che compaia ai primi posti secondo i termini di ricerca degli utenti, dobbiamo
cercare di ottimizzare l’intero sito seguendo delle particolari linee guida su cui si basano
anche gli spider dei motori di ricerca.
Oggi esistono intere aziende che sono specializzate nel funzionamento dei motori di ricerca
e che forniscono aiuto a coloro che possiedono un sito per farsi trovare nella rete Internet.
A tal fine le aziende applicano il Search Engine Optimization (SEO) che è l’attività attraverso
la quale si cerca di accrescere il traffico e la popolarità di un sito web. È statisticamente
provato che gli utenti della rete visitano molto frequentemente i siti che si trovano nelle
prime venti posizioni dei risultati di ricerca, perciò aumentare il traffico di un sito significa
farlo comparire nelle prime posizioni.
L’attività seo può essere descritta mediante un processo nel quale devono essere eseguite
una serie di fasi. Innanzitutto è necessario effettuare un’analisi preliminare del sito da
ottimizzare per capire l’attività aziendale e la tipologia di concorrenza che si può presentare
nella rete. Da questa analisi emergeranno una serie di parole chiave che meglio identificano
l’attività pubblicizzata dal sito e la rendano possibilmente unica per le sue caratteristiche.
Questo elenco di parole bisognerà quindi studiarlo a dovere e utilizzarlo per arricchire i
contenuti delle pagine che compongono il sito web. Diventerà quindi fondamentale trovare
la migliore combinazione delle parole chiave con il testo vero e proprio delle pagine, in
modo da garantire nello stesso tempo la chiarezza dei contenuti e una corrispondenza
semantica tra keyword e contenuto testuale.
La sola analisi delle parole chiave è si tecnica valida per l’ottimizzazione, ma non è di certo
sufficiente. Stando alle dichiarazioni di Google, si parla di oltre 200 fattori per determinare
il posizionamento di un sito web nelle SERP (Search Engine Results Page)
[4]
. Solamente una
corretta combinazione di tutti questi fattori porta il sito ad nei primi posti nei risultati dei
motori di ricerca.
L’opera del seo non termina certo con l’intervento di ottimizzazione dei contenuti e della
struttura del sito, ma continua nel momento in cui il sito viene registrato nei motori di
ricerca. È quindi fondamentale in questa fase del processo prestare attenzione
all’indicizzazione del sito da parte degli spider dei motori di ricerca. Bisogna perciò
implementare una serie di strategie come l’invio di sitemap e l’implementazione di tecniche
di redirect che danno maggiori informazioni ai robot [1]
. Per approfondire il funzionamento e
la perfetta definizione xml delle sitemap rimandiamo al libro “Posizionamento nei motori di
ricerca” [4]
.
Quando l’intero processo è concluso, occorre controllare periodicamente l’andamento delle
visite al sito tramite piattaforme di web-analytics come ad esempio Google Analytics [p]
,
Gianluca Dario
Pag. 9 a 114
oppure strumenti più sofisticati a pagamento come Omniture
[n]
o Webtrends [o]
. Questo
consente un monitoraggio continuo del sito e fornisce alcuni parametri indispensabili per
capire se esso è stato ottimizzato in modo appropriato. Nel caso in cui i dati forniti dagli
strumenti di analisi delle statistiche non fossero appaganti diventa necessario partire
nuovamente con il processo dall’inizio, avviando una “ri-ottimizzazione”.
Vogliamo ricordare che gli algoritmi nei motori di ricerca sono in continua evoluzione.
Questo deve essere tenuto in considerazione nel momento in cui si decide di adottare una
strategia per il posizionamento. Nell’ambito seo, infatti, è in atto una continua ricerca che
richiede uno studio continuo e approfondito.
1.2 Obiettivo di progetto
L’obiettivo del progetto è di realizzare un sistema seo automatizzato per l’indicizzazione nei
motori di ricerca. Lo scopo è quello di recuperare dai motori di ricerca le informazioni base
che servono per indicizzare al meglio un sito web. Il sistema deve recuperare tramite uno
spider che analizza i motori di ricerca, le informazioni che possono aumentare il valore del
ranking di una pagina per migliorare i contenuti. In particolare vogliamo analizzare il
comportamento relativo al motore di ricerca Google, che risulta essere il più usato in Italia.
L’idea è quella di dare dei suggerimenti ai web developer e ai gestori dei siti, tramite tale
sistema, di come meglio gestire il contenuto di un sito web. In particolare vogliamo tentare
di rispondere a questa serie di domande: con quali keyword “giocarsi” il posizionamento?
Con che tipologia di descrizione? Con quanto e quale contenuto descrittivo? Analizzando i
siti concorrenti, si riesce a capire i motivi del loro migliore posizionamento?
L’idea in sé è particolarmente ambiziosa in relazione a quanto si è detto nel paragrafo
precedente. Di certo non vogliamo capire tutti i segreti di Google ma piuttosto vogliamo
cercare di fornire un sistema che aiuti i web developer a comprendere come meglio
comportarsi per ottimizzare i loro siti web per un miglior posizionamento su Google.
Vogliamo inoltre che tale ottimizzazione sia facilmente scalabile e modificabile nel tempo.
Una delle idee è inoltre quella di realizzare un sistema semplice e utilizzabile anche da
utenti non esperti di sviluppo web, ma che, grazie ai vari suggerimenti proposti, possano
comunque agire autonomamente per migliorare in modo appropriato le pagine del loro sito
web.
1.3 Requisiti
Il progetto è nato come proposta per un ulteriore servizio che un’azienda produttrice di siti
web del coneglianese vuole proporre ai propri clienti. Gli unici requisiti del progetto sono
Automatizzazione servizi seo
Pag. 10 a 114
stati fin da subito la possibilità di avere a disposizione metodi e conoscenze di
programmazione lato server quali php e java. Inoltre è risultato fondamentale avere a
disposizione il software adeguato per lo sviluppo quale Adobe Dreamweaver e Netbeans. In
fase di conclusione del progetto è stato inoltre importante poter utilizzare un vero server
per capire come l’applicazione risultasse utilizzabile nella realtà concreta e non solo nei
computer su rete locale.
1.4 Novità
La novità del progetto è l’idea stessa di questo. Stando alle ricerche nel web tramite motori
di ricerca, non risultano esserci sistemi come questo che fornisca nello stesso istante queste
caratteristiche. Ci sono sistemi online molto carini, anche più performanti, ma che
forniscono o parte dei servizi o comunque che mostrano le varie caratteristiche dei siti ma
in modo meno lineare e concreto, cosa fondamentale per gli utenti meno pratici e che
richiedono massima velocità d’apprendimento. L’idea non è quindi quella di implementare
dei servizi già forniti da Google Analitics, Webtrends o altro, ma di proporre un’alternativa
riservata ai clienti dell’azienda con servizi differenti.
Un’ulteriore novità sta nel fatto di poter mostrare all’utente i risultati di ricerche mirate a
Google, oltre alla possibilità di poter modificare parti del proprio sito web senza accedere
alle pagine a livello di codice. Una cosa sostanziale quest’ultima, perché permette anche ad
utenti inesperti di modificare parti di pagine senza conoscere l’html.
1.5 Struttura del documento
Il documento presenta una relazione all’intero progetto effettuato presso l’azienda Agaweb
di San Vendemiano (TV). Indichiamo con gli apici
[1]..[12]
i riferimenti alla bibliografia e con gli
apici
[a]..[p]
il riferimento ad un certo sito web. Nei capitoli 11 e 12 troviamo sitografia e
bibliografia da cui si sono presi spunti, suggerimenti e quant’altro per la stesura di questo
documento e per la realizzazione del sistema.
Nel capitolo 1 si è introdotto un po’ l’ambito di progetto, obiettivi e requisiti, novità rispetto
altri sistemi mostrando sinteticamente quello a cui il progetto punta.
Il capitolo 2 è un vero e proprio excursus su quelli che sono i motori di ricerca, il loro
funzionamento e il come ottimizzare le pagine web per una migliore indicizzazione.
Nel capitolo 3 si parla di quello che è l’intero piano di progetto. Una panoramica a partire
dalle varie analisi preliminari e statistiche, l’analisi degli strumenti e i vari studi di fattibilità
che ne fanno derivare i successivi modelli di sistema.
Gianluca Dario
Pag. 11 a 114
I quarto capitolo mostra il sistema attraverso il modello vord analizzando i vari punti di vista
e i servi offerti ad ogni attore.
Il quinti capitolo mostra le varie componenti del sistema. Quelle “visibili” all’utente e quelle
che lavorano in background per ulteriori ricerche nel tempo.
Nel capitolo 6 viene presentato un vero e proprio manuale per l’utente e per
l’amministratore del sistema per usufruire del sistema stesso.
Il settimo capitolo mostra a livello codice alcuni componenti del sistema e vuole spiegare il
perché di certe scelte implementative. Vengono inoltre spiegati i funzionamenti di alcuni
oggetti java particolari e di alcune funzioni java/php poco conosciute.
I capitoli 8 e 9 vanno a mostrare quelli che sono gli utilizzi e i vantaggi nell’utilizzo del
sistema e quelli che possono essere i miglioramenti futuri se il servizio risultasse riscuotere
un buon successo.
Il capitolo 10 riassume in poche righe quello che è il contenuto dell’intero documento
presentando velocemente i punti chiave fondamentali.
Il capitolo 13 contiene alcune appendici per approfondire degli argomenti introdotti nel
documento.
Il capitolo 14 mostra il glossario utile per ricercare il significato di termini specifici usati nel
documento.
I capitoli 15 e 16 mostrano gli indici di tabelle figure utilizzati nel documento.
Automatizzazione servizi seo
Pag. 12 a 114
2 Analisi del web
Proponiamo un capitolo che è un vero e proprio excursus su quello che sono i motori di
ricerca e sul loro funzionamento. In particolare prendiamo in considerazione Google e
Googlebot, il suo spider di ricerca, proponendo una piccola introduzione al mondo del SEO
(Search Engine Optimization) per capire cosa e come ottimizzare certi contenuti.
Presentiamo inoltre quella che è la struttura tipica di una pagina web.
2.1 Motore di ricerca
I motori di ricerca sono tutti quegli strumenti per mezzo dei quali è possibile cercare alcuni
termini all'interno di determinati siti web. Solitamente sono utilizzati per cercare in tutto il
web, o comunque in tutti i siti “raggiungibili”. In seguito a questo screening, i motori di
ricerca riportano una lista di siti che contengono i termini cercati. Spesso i motori di ricerca
vengono indicati con il termine inglese “search engine”.
2.1.1 S earch engine vs Directory
Search engine e directory sono due cose completament e diverse e ne vogliamo fin da
subito distinguere i concetti.
Una directory, che in italiano potremmo definire “catalogo”, contiene un insieme di indirizzi
di siti web, catalogati per tipo di contenuti che sono stati appositamente selezionati da del
personale umano. Sono i webmaster e i proprietari di siti web che devono fare richiesta per
venire catalogati in determinate categorie di certe directory. Successivamente tali directory
visualizzeranno i siti indicati e accetteranno all’interno del proprio archivio solo i siti web
che raggiungano un certo standard qualitativo. Tutte queste operazioni vengono fatte “a
mano” da degli operatori umani, con tutte le conseguenze che ne derivano in termini di
tempo e di capacità di categorizzazione. Esempio di directory per l’Italia sono Virgilio e
Yahoo.
I motori di ricerca, invece, analizzano continuamente l'intero world wide web e includono
nel proprio archivio gli indirizzi di tutti i siti web che riescono ad individuare,
indipendentemente dalla qualità dei loro contenuti e a prescindere dal fatto che i siti siano
stati trovati per caso o siano stati proposti al motore di ricerca da un utente umano.
Nell’appendice A proponiamo delle statistiche sull’utilizzo di tali motori a livello italiano e
internazionale.
Ne deriva che il numero di siti web potenzialmente archiviabile dai motori di ricerca è di
molto superiore al numero di siti web virtualmente archiviabili dalle directory [a]
. Un
ulteriore conseguenza è che negli archivi dei motori di ricerca possiamo incontrare anche
siti di bassa qualità o con pochi contenuti mentre nelle directory ciò non può avvenire. Per
Gianluca Dario
Pag. 13 a 114
ovviare a questo inconveniente e per riuscire a consigliare agli utenti i siti web con maggiori
contenuti, i motori di ricerca adottano delle tecniche per mezzo delle quali ad ogni sito
archiviato viene attribuito un valore che rappresenta una sorta di "indice di qualità" del sito
web. Così facendo è possibile, in seguito ad una ricerca, fornire all'utente una lista di siti
ordinata in base all'indice di qualità dei siti elencati, partendo dal sito che presenta il valore
più alto [a]
.
Per approfondire le differenze e gli utilizzi di search engine e directory consigliamo la
lettura di “Guida seo” [1]
e il sito www.motoricerca.info [a]
.
2.1.2 G oogle
Se prendiamo come riferimento una pagina di Google o ttenuta tramite la ricerca di un
termine, i risultati vengono visualizzati come in figura.
Figura 1 - Risultati pagina di Google.
1. Il titolo : rappresenta la prima riga che viene visualizzata in un risultato. Esso viene
inserito usando il tag title negli header della pagina.
2. Lo snippet : rappresenta la descrizione della pagina web. Esso viene inserito usando
il tag description dell'intestazione della pagina HTML.
3. L'url : rappresenta l'indirizzo della pagina.
4. Il cached link : rappresenta un link nel quale si può recuperare la pagina aggiornata
all’ultima visita fatta dallo spider alla pagina stessa.
Automatizzazione servizi seo
Pag. 14 a 114
È importante ricordare che i metatag attualmente non sono importanti come lo erano un
tempo [4]
. Questo perché i primi spider, sviluppati dai motori di ricerca, utilizzavano
algoritmi che si limitavano a leggere gli header delle pagine ed eventualmente le prime
righe che componevano il testo della pagina. Era fondamentale perciò l’intervento dei
webmaster che, sfruttando i metatag, dessero delle informazioni nello stesso tempo
preziose e immediate agli spider. Con l’andare degli anni però, l’utilizzo dei soli metatag
andava a rendere non affidabile il lavoro degli spider: bastava infatti inserire informazioni
non attinenti al contenuto della pagina nei metatag, per apparire in ricerche che non
avevano nulla a che vedere con quanto richiesto dagli utenti. Per evitare tutto ciò gli spider
oggi utilizzano algoritmi molto più performanti che continuano si ad analizzare i metatag,
ma che assegnano maggior peso soprattutto ai contenuti testuali delle pagine web.
Attualmente gli spider riescono a capire se il contenuto dei metatag è attinente o meno con
l’argomento trattato nella pagina, e, in questo secondo, possono penalizzare il sito. I
metatag hanno quindi ora la doppia funzione di descrivere i contenuti delle pagine e dare
maggiori informazioni sia agli spider sia agli utenti.
2.2 Struttura pagina html in relazione ai motori di ricerca
Le pagine che rispettano le specifiche del consorzio W3C hanno una struttura, per quanto
variabile, con degli elementi comuni. Se una pagina non rispetta le specifiche può venire
mal interpretata anche dai vari browser. Quindi, a maggior ragione, tali problemi possono
venire a galla nell’uso di questo sistema. In particolare in questo paragrafo vedremo di
esplicitare tutti quegli elementi che risultano essere importanti per l’indicizzazione nei
motori di ricerca. Non faremo distinzioni tra le varie versioni di html considerando questi
elementi come standard.
Una pagina html è strutturata tramite l’uso di tag e metatag. I più importanti, che
caratterizzano gli header della pagina, sono tutti quei metatag contenuti tra i tag “<head>”
e “</head>” presenti nell’intestazione di pagina. Alcuni di questi sono importanti per gli
spider dei motori di ricerca, altri per utenti specifici, altri per tutti i visitatori, altri ancora
solo per i browser. Presentiamo i metatag “keyword” e “description” e il tag “title” che
sono presenti nell’intestazione all’interno dei tag “head”. Presentiamo inoltre gli “heading
tag” e i “link” che sono fondamentali per il contenuto della pagina e per il web stesso.
Questi ultimi sono contenuti all’interno dei tag <body> </body> insieme a tutto il
contenuto testuale della pagina.
Per una trattazione completa ed accurata sulla struttura di una pagina web rimandiamo al
sito [e]
. Per approfondire la struttura in relazione ai motori di ricerca consigliamo la completa
lettura dei libri
[4]
,
[3]
.
Gianluca Dario
Pag. 15 a 114
2.2.1 <title>
Il tag title è il più importante a livello seo, in q uanto dà informazioni sia ai motori di ricerca,
sia agli utenti. Il titolo viene visualizzato come prima riga nelle serp dei motori di ricerca e i
termini inseriti nella query dall’utente vengono visualizzati in grassetto. L'utente riesci
quindi a verificare se il risultato ottenuto è attinente con la query inserita. Per venire in
aiuto agli spider e facilitare l'indicizzazione e il posizionamento del sito sui motori
normalmente si seguono alcune regole per inserire il tag “title”. Questo dovrebbe
[4]
:
• Descrivere in modo opportuno il contenuto della pagina. Sono da evitare titoli che
non hanno nulla a che fare con il contenuto o che siano vaghi o privi di significato.
• Essere univoco, in modo da dare informazioni differenti al motore di ricerca per
ogni pagina del sito.
• Essere breve e descrittivo. Questo perché i motori di ricerca mostrano solo pochi
caratteri nella pagina dei risultati (ad esempio Google ne mostra 70
[1]
). Quindi, se il
titolo risultasse troppo lungo, verrebbe troncato.
• Contenere solo le parole chiave più importanti, evitando però di riempire il title di
keywords.
Esempio di tag title: <title>World Wide Web Consortium (W3C)</title>
2.2.2 <meta name="description"../>
La funzione del metatag description è essenzialmente quella di fornire una descrizione del
contenuto della pagina ed è fondamentale se si pensa che compare a livello visivo agli
utenti nelle serp. Come si diceva, lo snippet è la descrizione che viene visualizzata nei
motori di ricerca quando il sito compare nei risultati. Spesso lo snippet corrisponde al
metatag description di una certa pagina
[3]
. Principalmente quindi il metatag description
deve essere inserito per dare un messaggio all’utente relativo al contenuto della pagina.
Tale messaggio deve esser il più chiaro possibile per fare in modo che l’utente scelga di
visitare il sito anche se questo non è nei primi posti tra i risultati dei motori di ricerca. Per
questo motivo, solitamente, il testo che compare nel meta description è un piccolo
riassunto degli argomenti che vengono sviluppati all’interno di una determinata pagina, in
modo da dare all’utente un’idea di cosa potrà trovare al suo interno prima ancora di farne
visita
[a]
. L’idea è quindi quella di inserire una descrizione semplice e di immediata efficacia,
cercando di includere al suo interno alcune delle parole chiave della pagina. È
fondamentale evitare però di inserire solo parole chiave oppure di dare uno stile
pubblicitario alla descrizione
[1]
. Nel primo caso infatti ci si limita all’elenco di parole che
potrebbero non avere significato per l’utente, nel secondo invece si utilizza uno stile che è
poco professionale. Dal punto di vista dei motori di ricerca questi atteggiamenti sono mal
visti e le pagine che mostrano questo comportamento possono essere fortemente
penalizzate. È consuetudine cercare di compensare title e description senza sovrascrivere i