Perché l'uso di frame può causare inconvenientiMolti, moltissimi siti web attualmente pubblicati sulla Rete presentano caratteristiche che ne limitano o addirittura impediscono una corretta catalogazione da parte dei motori di ricerca. Una di queste caratteristiche è indubbiamente l'errata realizzazione dei FRAME (FRAMES, in inglese) o, per essere più precisi, dei file contenenti i FRAMESET.
Diamo per scontato che sappiate cosa siano i FRAMESET, visto che tale guida è dedicata a coloro che possiedono nozioni, quantomeno basilari, del linguaggio HTML.
Le ragioni per le quali i FRAMESET vengono spesso realizzati in modo errato sono principalmente due: una conoscenza precaria del linguaggio HTML e l'uso superficiale di applicazioni per la creazione visuale di pagine web (FrontPage in testa). Molti webmaster alle prime armi, infatti, si fidano ciecamente di tali applicazioni e sono convinti che un sito web sviluppato con questi strumenti potenti non possa che essere ottimo dal punto di vista tecnico. Non è affatto detto che sia così.
Gli spider di diversi motori di ricerca, infatti, si comportano in maniera molto simile ai vecchi browser testuali in uso diversi anni fa, e ignorano molte caratteristiche tecniche avanzate, a cominciare dai frame.
Ciò significa che diversi spider saltano a piè pari i tag FRAMESET e tutti i loro contenuti, compresi gli URL ai file HTML contenuti nei tag FRAME, col rischio di non riuscire a trovare le altre pagine appartenenti al sito web visitato.
Bisogna dunque fare in modo che lo spider trovi altrove gli URL alle altre pagine o almeno un singolo URL ad una pagina che elenchi tutte le principali sezioni del sito, con relativi collegamenti. Il tag NOFRAMES è stato introdotto (anche) a questo scopo ed è dedicato a tutti quei browser che non supportano i frame.
Il suo utilizzo è semplice:
- Codice:
-
<NOFRAMES>
Questo testo viene letto solo dai browser
che non supportano i frame.
Qui va inserito un LINK ad un menu delle pagine del sito o
a qualsiasi pagina interna al sito da cui si possa risalire
a tutte le altre.
- Codice:
-
</NOFRAMES>
Lo standard HTML richiede che i tag NOFRAMES ed i loro contenuti vadano inseriti all'
interno dei tag FRAMESET e immediatamente prima o dopo la lista dei tag FRAME:
- Codice:
-
<HTML> <HEAD> <TITLE>Titolo</TITLE> </HEAD> <FRAMESET> <NOFRAMES> Questo testo viene letto solo dai browser che non supportano i frame... </NOFRAMES> <FRAME> <FRAME> </FRAMESET> </HTML>
Contenuti del tag NOFRAMESIn questa sede abbiamo trattato l'uso del tag NOFRAMES in previsione di una sua utilità con gli spider dei motori di ricerca. Tuttavia è bene precisare che il tag non è nato espressamente per tale scopo, quanto per fornire ai programmatori di codice HTML una via per gestire correttamente le visite di navigatori provvisi di browser obsoleti.
Tutti i vecchi browser che non possiedono il supporto dei frame, infatti, rischiano di non poter accedere alle pagine del sito qualora il progettista del sito web non abbia espressamente pensato a loro, sfruttando correttamente il tag NOFRAMES.
Ecco dunque che tale tag diventa essenziale per consentire anche ai navigatori meno aggiornati o ai browser per non-vedenti (che possono avere problemi a gestire correttamente i frame) di consultare i contenuti del sito web.
Un buon contenuto del tag NOFRAMES sarebbe quindi una breve descrizione del sito e dei suoi contenuti, collegamenti a
versioni testuali delle principali pagine del sito (che vale la pena di creare, qualora le normali pagine del sito web facciano massiccio uso di grafica) e infine recapiti postali, telefonici e di posta elettronica per coloro che preferissero entrare in contatto con una persona invece che continuare a navigare sul sito.
Nel caso in cui le pagine del sito contenessero principalmente materiale testuale ed il webmaster le ritenesse del tutto idonee alla consultazione da parte di browser testuali o comunque browser privi del supporto dei frame, all'interno del tag NOFRAMES potrebbe essere sufficiente inserire dei link alle normali pagine del sito.
Le indicazioni appena fornite, oltre a costituire delle semplici ed efficaci linee guida per rendere il proprio sito web usufruibile da quante più persone possibili, comportano per loro natura la produzione di contenuti (pagine testuali) di cui gli spider dei motori di ricerca andrebbero particolarmente ghiotti.
Per tale ragione, un sito web con poco testo o uso massiccio di grafica o di tecnologie non-testuali (Flash in testa) otterrebbe ottimi risultati se proponesse ai propri visitatori, spider compresi, un modo per accedere ad una versione testuale del sito stesso, attraverso un normale link HTML (Es. "versione testuale") posto sia all'interno del tag NOFRAMES che all'interno della pagina principale del sito.
Gli spider che supportano i frameCol passare degli anni gli spider di molti motori di ricerca si sono evoluti e i loro programmatori hanno aggiunto il supporto dei frame, che permette agli spider di trovare senza problemi i link interni ai tag FRAME.
Tuttavia, sebbene tale evoluzione nel codice degli spider abbia indubbiamente costituito un vantaggio per i webmaster, che sempre più spesso hanno sentito la necessità di utilizzare i frame, essa non costituisce realmente un cambiamento positivo. Difatti esistono almeno tre buone ragioni per continuare a preferire un sito privo di frame:
- Non tutti i motori di ricerca possiedono spider col supporto dei frame.
Sebbene i motori più importanti abbiano già provveduto ad implementare correttamente il parsing dei tag FRAMESET e FRAME, molti altri motori sono rimasti ancorati al vecchio codice, che non permette agli spider di trovare le pagine del sito web. Progettare e costruire due versioni del sito web (una con frame ed una senza) è, il più delle volte, un compito troppo gravoso per essere consigliato.
- Per sua natura, un sito con i frame possiede una quantità di testo inferiore ad una versione senza frame dello stesso sito.
L'esempio più immediato è quello del menù delle sezioni del sito, che solitamente sta in un frame a parte ma che in una versione del sito senza frame necessita di essere ripetuto in ogni pagina html. Ovviamente la presenza di tale menù in ogni pagina, specie se contenente importanti keyword, non fa altro che rafforzare i contenuti della pagina stessa.
- Il sito con i frame diviene, a causa del tipo di indicizzazione dei motori di ricerca, meno usabile per l'utente.
Ciò avviene perché i motori indicizzano e presentano ai propri utenti singoli file HTML. Ne consegue che quando l'utente segue dal motore di ricerca un link che punta ad una pagina appartenente ad un frameset, si ritrova davanti esclusivamente la pagina relativa al singolo file HTML a cui faceva riferimento il link e non l'intero frameset. Tutto ciò riduce drasticamente l'usabilità del sito e l'utilità di essere trovati sui motori di ricerca, in quanto molti utenti non si rendono conto che la pagina visualizzata appartiene ad un insieme di pagine più grande e, presa visione dei suoi contenuti, abbandonano il sito senza ipotizzare la presenza di altre pagine utili. Una (imperfetta) soluzione a questo problema può essere quella di realizzare codice Javascript che forza il caricamento dell'intero frameset nel caso in cui l'utente visualizzi una pagina fuori da esso.
Considerazioni finali sui frameDal punto di vista dell'ottimizzatore di codice HTML, in previsione di un indicizzamento del sito sui motori di ricerca, è preferibile fare a meno dei frame in tutti i casi possibili.
Alcune volte sarà necessario ricorrere al loro utilizzo e, per quelle occasioni, consigliamo di aggiungere contenuto testuale a cui gli spider e gli utenti di browser testuali possono accedere dal tag NOFRAMES.
In tali casi è inoltre opportuno provvedere a rinforzare i contenuti del sito offrendo ai suoi visitatori una pagina con la mappa delle pagine, particolarmente ghiotta agli spider e sempre di aiuto per i navigatori "umani".
La prossima lezione avrà per oggetto il titolo da attribuire ad una pagina web.