| | I motori di ricerca |
Siti dinamici, Flash, frames
I siti di grandi dimensioni, o in più lingue, sono composti di pagine dinamiche: le pagine
HTML sono
generate al volo dal server, estraendo dati e parametri da un database. Nel momento in cui sono scaricate nel
browser,
esse in realtà non esistono già più. Tali siti sono in genere amministrati da programmi, detti
CMS
(Content Management System). Per i siti di commercio elettronico, non esistono alternative: la scelta è obbligata.
E' luogo comune che i motori di ricerca trovino difficoltà ad indicizzare
simili pagine "virtuali". La difficoltà non risiede tanto nell'uso degli script
server-side (ASP, PHP,
JSP, CFM, ecc): infatti, agli
occhi del motore di ricerca una pagina dinamica si presenta, una volta generata dal
server, con le stesse caratteristiche e
con gli stessi contenuti di una pagina statica. La difficoltà sembra invece risiedere nella sintassi dei link.
Più in particolare:
la pagina dinamica è riconoscibile, oltre che dall'estensione, dal fatto che l'estensione è seguita da un
punto interrogativo e da una serie di coppie nome/valore, che comunicano alla pagina chiamata i parametri necessari
affinchè essa si materializzi con le modalità e i contenuti voluti dal programmatore nel contesto specifico.
Ebbene: proprio questi caratteri risulterebbero particolarmente indigesti, oltre al fatto che farebbero scattare un
meccanismo (stop-word) che tronca la stringa tout-court, depurandola dei parametri. In parole povere, il motore leggerebbe
solo la parte sinistra della stringa; a questo punto il link, senza parametri, sarebbe un
dead-link, irraggiungibile.
Di qui la comune credenza che le pagine dinamiche possono essere indicizzate, ma solo se provengono da pagine statiche.
A complicare le cose, una seconda caratteristica delle pagine dinamiche è quella di cambiare totalmente contenuti
e forma in base a quei parametri, fino ai casi in cui esse chiamano se stesse all'infinito, per cui abbiamo infinite
pagine, tutte con lo stesso nome, ma con contenuti totalmente diversi l'una dall'altra. E qui i comportamenti dei motori di
ricerca differiscono: Google riesce ad arrivare molto in profondità e a risolvere correttamente i link, gli altri si
perdono per strada o tralasciano i parametri delle querystring, quindi non rintracciano la pagina chiamata e interrompono
l'indicizzazione a quel livello.
La soluzione proposta da molti è di ricorrere ad artifici o a software che permettono di modificare le querystring
(così si chiamano le stringhe che si trovano a destra del punto interrogativo) in modo da renderle più
leggibili, e neutralizzare lo stop-word. Esiste una funzione intrinseca al
server Apache (mod_rewrite) che modifica
automaticamente i caratteri indigesti, ed è possibile attivarla
semplicemente agendo sulla configurazione. Per i sistemi Windows, invece, esistono vari software, come ad esempio URL
replacer, che ottengono lo stesso risultato, anche se sono più difficili da gestire a livello di codice.
Se per quanto concerne la pagina dinamica non cambia nulla in quanto il suo contenuto è stato già processato
dal server e quello che vede lo
spider non è affatto diverso da quello che vede l'utente normale,
nella gestione dei link, il motore di ricerca recupera l'URL, non importa se provvisto o privo di parametri, e va a ricercare la
pagina web che corrisponde a quell'URL. Anche nella migliore delle ipotesi che il motore riesca a digerire
query complesse
che passano diverse variabili, è sul contenuto di queste variabili che occorre ragionare, per non incorrere in situazioni
paradossali.
Ad esempio, occorre evitare di passare come querystring un ID di sessione: uno
spider non è in grado di attivare
le sessioni, nè se sono passate come URL, nè se sono passate come
cookies, e di conseguenza
tutte le informazioni contenute nelle pagine PHP o ASP condizionate dall'esistenza di quell'ID di sessione vengono perdute.
Questo non dipende dal fatto di risolvere quella parte di URL o meno: che senso avrebbe richiamare uno script in base a un ID di sessione
scaduto? Anche ammesso che la pagina venga indicizzata con quell'ID, cosa accade poi al visitatore che clicca sul collegamento?
Il tipo di pagina che vedrà dipende a questo punto dal codice del software, ma sicuramente non corrisponde alle sue
aspettative.
- Indicizzare un sito in Flash
L'ultima generazione di sviluppatori web ha visto affacciarsi in questi anni una schiera sempre più nutrita di sviluppatori
Flash. Si tratta in genere
di esperti in grafica ed effetti speciali, che spesso non conoscono neanche l'
HTML. Un sito in
Flash non possiede testo: il file in
Flash
(SWF) è un oggetto esterno incorporato (embedded) nella pagina
HTML. Mentre i motori di ricerca si stanno attrezzando
per poter estrarre il testo anche da questi files, si assiste in genere a un accanimento spesso ingiustificato dei programmatori della
prima ora contro questo strumento, ormai diventato uno standard di facile implementazione. Esistono due vie per rendere digeribile
un sito in Flash ai motori di ricerca:
- La prima, più economica, consiste nel produrre una copia del sito contenente solo testo, con una struttura di link speculare.
Ogni pagina può contenere un link oppure un reindirizzamento alla versione
Flash.
- La seconda, più costosa, consiste nel rivolgersi a un'azienda specializzata. Esiste infatti un modo per indicizzare il sito puntando
ad esso dall'esterno. Il vantaggio di questa seconda soluzione è di poter agire in maniera indipendente dal sito.
Il problema principale dei siti interamente in
Flash è però un altro: è impossibile renderli dinamici dal lato
admin. In parole povere il committente, per qualsiasi modifica, deve rivolgersi alla web agency che lo ha creato.
- Lo spinoso problema dei frames
A differenza di un luogo comune molto diffuso, i principali motori di ricerca sono in grado di indicizzare le pagine web contenute
all'interno dei frames. Le problematiche sull'uso dei
frames e le motivazioni che hanno portato al loro abbandono sono in realtà
di natura diversa. Il frame indicizzato esiste agli occhi del motore di ricerca come un documento a tutti gli effetti,
si genera il suo titolo e la sua descrizione (se il webmaster non ha trascurato di implementarli), ma il link visualizza quel frame,
cioè un pezzo di pagina spesso incomprensibile perché privo di contesto. Esistono, è vero, semplici
script capaci di caricare il frameset contenitore, ma in questo caso il contenuto del frame reindirizza alla homepage, e spesso
non è quello che si aspetta il visitatore. Inoltre, molti webmaster hanno trascurato questo problema, per cui trovarsi di
fronte a pagine orfane accade più spesso di quanto si creda.
Se proprio ci troviamo in un contesto per cui l'uso dei frames è inevitabile, allora, oltre ad usare lo script di cui sopra, è
necessario adottare altri accorgimenti. Molti trascurano erroneamente il tag <noframes> nella convinzione che ormai
tutti i browser supportano i
frames, il che corrisponde al vero, ma ragioniamo un attimo. Uno
spider, quando accede a un
frameset,
incontra solo tags, e l'unico testo che è in grado di indicizzare è il seguente: "il tuo
browser non supporta i
frames etc etc". E tale testo viene poi visualizzato come descrizione del sito nei risultati. (la stessa cosa che accade con le pagine
interamente in Flash: "per visualizzare questa pagina occorre scaricare il plug-in etc etc"). Per questo motivo il tag <noframes>
va implementato. Ma non solo per questo: esso può diventare veicolo di una descrizione completa del sito, ricca di parole
chiave, e dotata di link a tutte le pagine interne: l'utente non vedrà mai tutto questo, ma il motore di ricerca sì.
A differenza di altre, si tratta di una pratica totalmente lecita.
|