Ottimizzare l'indicizzazione delle pagine web da parte dei motori di ricerca  
 
Se l’obiettivo del sito è di avere un numero crescente di visitatori, è importante curare l’indicizzazione delle pagine a tal punto che può essere inutile fare un buon lavoro di progettazione e implementazione di un sito, se nessuno riesce a trovarlo 
 
Login N. 23, Luglio 2000 - di Daniela Bortolotti e Giuseppe Simone Aielli 
 
Cercheremo di descrivere una tecnica in parte euristica per ottimizzare l’indicizzazione delle pagine web da parte dei motori di ricerca Internet. Ma lo scopo che ci proponiamo non è solo quello di illustrare un procedimento, piuttosto cercheremo di attivare una riflessione. Infatti, se da una parte le procedure che vedremo non possono essere definitive per una serie di cause, dall’altra la riflessione deve nascere dalla stessa definizione: ottimizzare, ossia migliorare di continuo. Nella composizione dello scenario partiremo dalla considerazione che non sempre la realizzazione delle pagine è affidata a dei veri professionisti, a causa della sua solo apparente semplicità, con risultati che, nel migliore dei casi, possiamo definire casuali. Quello che ci proponiamo, allora, è di limitare la casualità di questi risultati almeno in uno dei suoi aspetti: la generazione del traffico
Partiamo dalla premessa di avere un sito di cui si vuole migliorare la notorietà, e diamo per scontato che non si vuole investire in una campagna stampa o televisiva. La prima cosa che bisogna fare scaturisce da una semplice considerazione: quasi tutti gli utenti di Internet partono dai motori di ricerca per individuare le informazioni di proprio interesse (Riquadro 1). Chi si occupa di promozione dei siti, dunque, deve sapere che è il posizionamento sui principali motori a fare la differenza, non la quantità di motori presso i quali il sito è registrato. In altri termini è preferibile sforzarsi di essere nella prima pagina di Altavista, piuttosto che essere in 100 motori, ma in decima pagina: insomma meglio "pochi ma buoni". 
 
Come funziona un motore di ricerca 
Prima di procedere con qualsiasi considerazione chiariamo un altro concetto: i motori di ricerca utilizzano un'applicazione software detta spider (oppure robot, crawler, wanderer) che visiona costantemente le pagine presenti su Internet e ne indicizza il contenuto. Questa indicizzazione può avvenire su richiesta di qualcuno oppure a vostra insaputa. Essa consiste nel catalogare tutte le parole contenute nel testo di una certa pagina e nello stabilire, mediante appositi algoritmi detti algoritmi di ranking, l’importanza del vostro documento rispetto ad ogni singola parola che avete utilizzato. Periodicamente vengono anche eliminate dalla classifica tutte le parole che appartengono ad una lista nera compilata dal motore stesso, detta lista delle STOP-WORDS, che contiene le parole che non consentono di effettuare ricerche significative, come le congiunzioni, gli avverbi, i pronomi e i gruppi di lettere che si ritrovano un po’ in tutti i documenti. Quando un utente si presenta presso il motore lo interroga usando una sola parola o un gruppo limitato di vocaboli, e il motore gli presenta la lista di pagine trovate, ordinata in base al punteggio che ciascuna pagina ha ottenuto nella classifica detta prima. 
L’obiettivo che ci poniamo in questa sede è di modificare le pagine per fare in modo di ottenere il miglior posizionamento possibile su di un determinato motore di ricerca, dato un insieme di parole chiave che si suppone il visitatore utilizzerà. Posto che questo insieme sia stato individuato correttamente, l’ottimizzazione consiste nel fare in modo di comparire nelle prime pagine dei risultati della ricerca, ma senza modificare né l’aspetto né tantomeno il contenuto della pagina. Come si vedrà, è meglio porsi questi obiettivi fin dall’inizio, anche se è possibile farlo successivamente, per pagine o siti già sviluppati. 
 
Le parole chiave 
Il primo passo è individuare quali sono le parole chiave che permetteranno di definire, qualificare e indirizzare il traffico verso il proprio sito. E' molto importante selezionarle con estrema cura perché dalla loro scelta dipende grossa parte del risultato. E’ necessario concentrarsi su possibili accostamenti di parole chiave per redigere una lista composta di concetti così come li penserebbe un ipotetico visitatore. Il segreto sta nell'individuare una fetta di terminologia poco utilizzata, che non significa usare vocaboli inusuali, ma definire con intelligenza cosa si propone, utilizzando la forma più lunga delle parole, in modo che il motore possa riconoscerne le variazioni. Ad esempio preferite la parola "amicizia" ad "amici", giacché la prima contiene la seconda. Infine verificate l'efficacia delle vostre scelte facendo molti tentativi di ricerca e prestando attenzione ai risultati più interessanti, cioè a quelle combinazioni di parole che riportano un minor numero di documenti: in questi casi, infatti, si hanno più possibilità di apparire in cima alla lista. Tenete in considerazione il fatto che l’utilizzo di riferimenti geografici può avvantaggiarvi perché chi cerca una cosa, probabilmente la cerca vicino a casa; pertanto specie se la vostra attività è concentrata in una località ben precisa, fate leva anche su questo per catturare l'attenzione del visitatore evidenziandone la collocazione. Infine eliminate termini troppo generici che possono essere inseriti nelle liste di STOP-WORDS e, comunque, non garantiscono una particolare rilevanza (v. oltre). Ad esempio è da evitare l’uso di parole come "web", "Internet" oppure "computer". Anche la presenza degli articoli (a, la, il, ecc.), specie ad inizio di frase, potrebbe compromettere l'ottimizzazione (Riquadro 2). 
 
Che cosa determina il posizionamento 
Premesso che le regole indicate in seguito sono suscettibili di cambiare nel tempo, le norme che abbiamo definito per ora prevedono che l'indicizzazione si basa prevalentemente su alcuni parametri, che i diversi motori prendono in considerazione ciascuno a modo suo. I principali sono: 
  • rilievo della parola chiave, cioè quanto presto essa si presenta nel titolo, nella descrizione e nel contenuto di un documento; 
  • ripetizione, cioè quanto spesso la parola chiave appare nel titolo, nella descrizione e nel contenuto; 
  • rapporto fra il numero delle ripetizioni rispetto al numero totale di parole che compongono il testo, detto gravità della parola chiave; 
  • numero dei link che dagli altri siti catalogati puntano alla pagina, quindi sua notorietà
  • posizione della parola chiave, cioè sezione del documento che la contiene: titolo, descrizione, testo, collegamento ipertestuale, ecc.; 
  • vicinanza fra le parole chiave. 
  • E' indispensabile ricordare che il posizionamento può variare continuamente a seconda dell'inserimento di nuovi siti o della variazione nella metodologia di indicizzazione dei motori. Un monitoraggio costante è quindi d'obbligo per mantenere una situazione ottimale nel tempo. Una volta chiarite queste nozioni di base, passiamo ad analizzare alcuni TAG HTML importanti per i nostri obiettivi.  
    Cominciamo col tag <TITLE>, che riveste una particolare importanza per tutti i motori di ricerca. E' fondamentale che esso contenga informazioni precise poichè quasi tutti i motori di ricerca lo utilizzano come titolo nell’elenco dei risultati, con collegamento ipertestuale (in grassetto-sottolineato) alla vostra pagina: non soltanto sarà particolarmente visibile, ma solo se realmente accattivante indurrà l'utente a soffermarsi anche sulla spiegazione che lo segue. 
    I META TAG, invece, sono comandi che non sono mostrati sullo schermo e che indirizzano ed informano sul titolo del documento, la descrizione, le parole chiave ed altre informazioni. Attraverso i META TAG, è possibile evitare che lo spider usi, come spesso accade, le prime 20-25 parole del documento per descrivere il sito. Tra questi <meta name = “description”> contiene la descrizione del documento: chi si occupa della promozione di un sito non può non conoscere la sua importanza. Infatti la descrizione ottimale deve fare in modo che il messaggio trasmesso sia significativo; deve, allo stesso tempo, catturare l'attenzione e incuriosire, riassumendo con chiarezza e trasparenza ciò che realmente la pagina offre. 
    Il tag <meta name = “keywords”> serve, invece, per inserire l’elenco delle parole chiave da suggerire allo spider, e non si sottolinea mai abbastanza la sua importanza. 
    Secondo alcuni, poi, è possibile usare perfino i commenti (tag <!-- ->), che possono apparire in qualsiasi punto del documento, per l’inserimento di altre parole chiave, o per aumentare il peso di quelle già inserite.  
    Oppure si può usare il parametro ALT del tag IMG, che serve a specificare la descrizione delle immagini contenute in un documento. All’interno di esso, infatti, possono essere inserite parole chiave che parecchi motori di ricerca riconoscono e considerano valide.  
    Infine i tag dei titoli, cioè <H1>, <H2>, ecc... che enfatizzano il testo al suo interno, ponendolo in evidenza: anche qui è possibile inserire parole chiave. Stesso discorso vale per i link: inserendo le keyword all’interno dei collegamenti ipertestuali si otterrà un loro maggiore peso.  
    Infine, limitatamente ad alcuni motori di ricerca, è possibile avvalersi di titoli multipli, utilizzando più tag <TITLE> differenti, ma comunque contenenti descrizioni e parole chiave. Quest’ultima tecnica, benché consigliata da vari esperti, è scorretta in termini di sintassi HTML e pertanto non la consigliamo. 
    Tutte queste operazioni di ottimizzazione portano ad un miglioramento progressivo della pagina, senza modificarne l’aspetto né le funzionalità. Sarebbe bello poterne effettuare una “misurazione” con un programma, ma il discorso diventerebbe troppo lungo. Possiamo solo affermare che, con un programma del genere, non resta che effettuare la misura e confrontarla con quella ottenuta dalle pagine dei concorrenti. In questo modo si risparmia un considerevole numero di passaggi, e si può arrivare ai primi posti col minimo sforzo. Tra le altre ipotesi c’è poi quella di effettuare il monitoraggio continuo ed automatico della posizione, con avvisi nel caso di degrado rispetto a certi valori. 
     
    Oltre la semplice ottimizzazione: le pagine pilota e l’IP/Agent delivery 
    Passiamo alle armi pesanti: le pagine pilota sono pagine non più ottimizzate ma specifiche e si usano al posto delle normali pagine web per ottenere una migliore indicizzazione. Esse vengono in genere ottimizzate per ogni singolo motore di ricerca, in base alla conoscenza dell’algoritmo usato per il ranking dal motore stesso. In questo modo il motore indirizza i visitatori verso una pagina (pilota) che contiene il link alla pagina “vera” posto bene in evidenza. In genere la pagina pilota non ha un aspetto grafico curato, né un contenuto interessante, essendo ottimizzata per la sola indicizzazione. Questo può essere un inconveniente, poiché crea un effetto di sdoppiamento nel layout, oltre a generare confusione nel visitatore.  
    Per risolvere anche questo problema è necessario agire sul web server. Poiché quest’ultimo conosce molte informazioni che riguardano il visitatore, è possibile pensare di programmarlo per passare la pagina normale, a tutti i visitatori normali, e la pagina pilota allo spider che rappresenta un certo motore di ricerca. Infatti gli spider sono in qualche modo riconoscibili, nel momento in cui scaricano i contenuti di un sito.  
    I dati su cui proponiamo di agire, per eseguire tale riconoscimento, sono due: l’IP e l’AGENT. Quest’ultimo è il browser, nel caso di un utente normale; la sua conoscenza viene utilizzata più che altro per garantire la compatibilità, ma questa tecnica è utilizzabile anche per gli scopi che ci proponiamo. L’IP, d’altra parte, è un’informazione più specifica. Non è possibile, in questa sede, entrare in dettaglio riguardo a cosa è l’IP, basti solo sapere che si tratta di un indirizzo numerico che consente di individuare in modo univoco un computer collegato ad Internet. Anche in questo caso, come nel precedente, una volta che si conosce l’IP del computer dove risiede lo spider, è possibile agire sostituendo la pagina reale con la corrispondente pagina pilota. 
     
    Implementazione ASP dell’IP delivery 
    Vediamo come si implementa l’IP delivery nel caso del server Microsoft IIS. Anche se potrà sembrare un caso limitato, in realtà il codice che proponiamo ha, da una parte, una grande semplicità che consentirà a qualsiasi webmaster di effettuare la relativa traduzione nel linguaggio preferito, e dall’altra parte rappresenta il modo più popolare di realizzare pagine dinamiche. Non è infatti necessario conoscere CGI o Perl e simili. E’ ovvio che la soluzione migliore non può che essere un filtro ISAPI, e da tutti i punti di vista, infatti consente il massimo delle prestazioni, ed il minimo dell’impatto sulle pagine da ottimizzare. Purtroppo però la programmazione di componenti ISAPI non è alla portata di tutti, anzi risulta estremamente complessa, per cui vi proponiamo la nostra versione in VBScript. 
    Il primo obiettivo che ci poniamo è quello di non stravolgere la struttura del sito da ottimizzare, per cui si cercherà di limitare al massimo l’invasività della soluzione. E’ noto, però, che ASP funziona “al di dentro” della pagina per cui qualche modifica, alla fine, andrà fatta. Nel Riquadro 3 è indicata la procedura esatta che vi proponiamo per inserire in un sito la gestione completa dell’IP delivery di pagine pilota. Essa consiste essenzialmente nell’esecuzione di una certa subroutine subito prima di servire le pagine.  
    Se date un’occhiata al riquadro, noterete chiaramente che se avete eseguito i vari passi correttamente fino al punto 6, il vostro sito non è ancora cambiato, cioè mostra sia lo stesso aspetto sia lo stesso comportamento di prima. Il fatto di avere aggiunto la riga <!-- #include file="pilota.inc" --> <% Pilota %> al passo 7, invece, comporta la prima modifica reale. Vale la pena di ricordare che la direttiva #include file obbliga il server ad inserire il contenuto del file pilota.inc, nel punto esatto indicato, e quindi subito prima di <HTML>, mentre l’istruzione <% Pilota %>, corrisponde alla chiamata della subroutine Pilota, da eseguire sul server. Il compito di questa subroutine è quello di sostituire la pagina originale con la giusta pagina pilota, il presenza di uno spider di quelli presenti nella tabella dei motori già più volte ricordata. In presenza di un semplice visitatore, invece, la procedura deve limitarsi a non fare niente, ed in questo caso il server IIS continuerà a fornire la pagina originale. Naturalmente l’aggiornamento della tabella dei motori è uno dei compiti principali, dopo l’implementazione, senza del quale il sistema non funzionerà.  
    Potete trovare l’implementazione nel Riquadro 4, qui vi proponiamo solo un breve commento: alla riga 4 viene posto in una variabile l’IP dell’utente che ha richiesto la pagina; successivamente (5) viene recuperato il path fisico necessario per accedere al file richiesto dal client. Nella variabile vEngine, invece, viene posto un valore che restituisce la sigla del motore che sta visitando il sito in base alla tabella dei motori, oppure una stringa vuota, che sta ad indicare che il visitatore non è uno spider. La riga che segue ufficializza questa distinzione e, se la variabile vEngine non risulta vuota, si provvede a leggere tramite il file-system il file richiesto, ma con l’estensione cambiata, vale a dire la pagina pilota. E’ da notare che l’istruzione Response.End verso la fine, fa sì che il server interrompa la risposta subito dopo aver passato tutto il contenuto della pagina pilota al richiedente, cioè allo spider. Nell’altro caso, invece, la procedura esce senza fare nulla e di conseguenza il server restituisce la pagina originale senza alcuna modifica visibile. La logica della discriminazione tra spider ed utente è affidata ad una function che precedentemente abbiamo indicato come “tabella motori”, e che implementa il meccanismo di “IP delivery”. Infatti la chiamata vEngine = Engine(vIPVisitatore) ha il compito di stabilire se si tratta o no di un motore di ricerca, in base all’IP che viene passato come parametro. La sua implementazione è molto semplice e si trova sempre nel Riquadro 4, in fondo. 
    Le informazioni riguardanti i singoli motori di ricerca ed in particolare l’IP della macchina che esegue lo spider, sono da verificare costantemente. Infatti l’IP o il gruppo di IP che corrisponde ad un dato motore può cambiare nel tempo in base alla sola discrezione dei tecnici. Nel nostro caso abbiamo inserito nella tabella due motori cui corrispondono gli indirizzi 204.62.245.32 e 206.64.116.2, che appartengono a Excite e PlanetSearch; a questi motori verranno servite pagine pilota con estensione .EXC e .PLS rispettivamente. Naturalmente potrete modificare queste pagine con gli strumenti tradizionali, anche se l’estensione non è più .HTM, ma il risultato migliore si ottiene solo con un editor di testo ASCII, ed una discreta conoscenza dell’HTML. Infine, per perfezionare la nostra realizzazione, si dovrebbe anche considerare l’implementazione del file robots.txt, che consente di specificare un percorso ottimale per lo spider, ma non possiamo approfondire l’argomento un questa sede. 
     
    Alcuni fattori che possono determinare un problema: spamming e altre grane 
    I motori di ricerca cercano di evitare qualsiasi tipo di spamming, ovvero inopportune e ripetute richieste di indicizzazione, cercando di ostacolare chi si adopera eccessivamente per ottimizzare la posizione del proprio sito. Alcuni consigli per evitare di essere "censurati":  
  • partite sempre dall’idea che non siete a casa vostra: state utilizzando un sistema che non è vostro e, dall’altra parte, qualcuno vi osserva; di conseguenza non fate cose che potrebbero infastidire i tecnici del sistema; 
  • non utilizzate parole chiave inappropriate o non concernenti il contenuto dei vostri documenti; 
  • dividete le richieste di indicizzazione in più giornate;  
  • modificate il meno possibile la richiesta di indicizzazione di uno stesso documento;  
  • evitate di esagerare con le ripetizioni delle parole chiave e con le richieste di indicizzazione di pagine pilota molto simili fra loro.  
  • Al contrario, gli amministratori dei vari sistemi non avranno nulla in contrario se, e nel limite possibile, tenterete di migliorare la vostra posizione. 
    Anche l'utilizzo dei frame può creare problemi alla precisa indicizzazione di un sito perché, aumentando il numero di parole totali, si diminuisce l'impatto delle parole chiave sull'intero documento e, soprattutto, grossa parte dei motori di ricerca non è in grado di leggerne il contenuto. E' quindi preferibile costruire le pagine senza frame ma, se proprio non è possibile evitarlo, utilizzate il tag <NO FRAMES> di seguito al tag <FRAMESET> ed, eventualmente, create una pagina "parallela" che i motori siano in grado di indicizzare. In quest’ultima includerete le informazioni sul documento normale e i link alle altre pagine, in modo che lo spider possa individuare e quindi indicizzare anche tutto il resto. Naturalmente l’uso delle pagine pilota può ovviare a molti diversi inconvenienti, compresi quelli derivanti dall’uso dei frame. Infine abbiamo potuto costatare che alcuni motori di ricerca indicizzano anche il testo contenuto negli ALT e di questi, volendo, è possibile inserirne più del numero delle immagini realmente visibili, usando immagini di un unico pixel trasparenti o dello stesso colore dello sfondo della pagina. Questo trucco è ancora talvolta usato, ma è rischioso, poiché i navigatori che disabilitano le funzioni grafiche del proprio browser si ritroverebbero del testo privo di significato all’interno del documento che stanno visionando. Parallelamente, anche se può sembrare decisamente primitivo come mezzo, il testo invisibile è ancora largamente utilizzato anche se in molti ritengono che oggi non sia più influente come un tempo. Si tratta di inserire un testo ricco di parole chiave, dello stesso colore dello sfondo. Se può essere ancora uno stratagemma valido per migliorare la visibilità del sito, è consigliabile non abusarne giacché i motori di ricerca potranno essere presto in grado di individuarlo. 
    Conclusioni 
    L’inserimento di un sito nel catalogo di un motore di ricerca è un fatto inevitabile, dato che, almeno nel caso di Altavista, avviene senza che neanche vi venga notificato. Questa è una buona occasione per riflettere sul fatto che, prima o poi, bisogna prendere qualche provvedimento in proposito. Non è il caso di insistere, poi, nel sottolineare le differenze tra il marketing Internet e quello tradizionale: come spiegare, altrimenti, il successo strepitoso di iniziative come “The Blair witch project”?