I frame ed il posizionamento

Molti siti web, anche ben visibili sui motori di ricerca, sono realizzati utilizzando i frames. Nonostante questo è bene evitarne l’utilizzo se si è interessati ad un buon posizionamento. Vediamo perché.

L’utilizzo dei frame (letteralmente: fotogrammi) permette di mostrare più pagine web contemporaneamente sulla stessa schermata del pc. Ad ogni pagina viene assegnata una porzione rettangolare dello schermo specificata in un ulteriore file chiamato “frameset” ( cornice) . Nonostante il frameset sia il file che effettivamente corrisponde all’URL visualizzato nella barra dell’indirizzo del browser esso non contiene testo né immagini, ma soltanto (questo non è sempre vero, ma quasi, come vedremo in seguito) le istruzioni per “posizionare” gli altri file che formeranno la schermata visibile agli utenti.

Ecco un esempio di frameset:

<HTML>
<HEAD>
  <TITLE>Titolo del documento</TITLE>
</HEAD>

< FRAMESET COLS="150,*">
  <FRAME SRC=”menusx.htm”>
  <FRAME SRC=”homepage.htm”>
</FRAMESET>

</HTML>

Questa tecnica è sempre stata di ostacolo alla corretta indicizzazione dei contenuti da parte degli spider dei motori di ricerca, soprattutto perchè inizialmente questi ultimi non riuscivano a “leggere” le istruzioni contenute nel frameset. Di conseguenza i motori non indicizzavano nessuna pagina del sito a parte il frameset stesso, che, come abbiamo detto è privo di contenuti e quindi difficilmente posizionabile.

Sul web si possono comunque trovare esempi eccellenti di frameset ben posizionati sui motori di ricerca; per non incorrere in equivoci è bene capire fin da subito che lo sono soprattutto in virtù del loro pagerank, del testo dei backlink e di un buon utilizzo del tag <noframes>.

La funzione principale del tag <noframes> è quella di consentire ai browser che non sono in grado di interpretare i frame di visualizzare un contenuto alternativo. L’utilità di questo tag, attualmente, è limitata ai browser per non vedenti, agli spider di alcuni motori di ricerca e a poche altre applicazioni particolari, visto che tutti i browser commerciali sono in grado di visualizzare correttamente i frame ormai da molti anni.

Il tag <noframes> deve essere inserito all’interno del frameset, prima del suo tag di chiusura ed è consigliabile utilizzarlo per inserire del testo che riassuma in modo generale il contenuto del sito. Inoltre, se lo ritenete opportuno, potete inserirvi dei link (che stavolta gli spider seguiranno) ad alcune pagine costruite appositamente per rappresentare un’alternativa alle pagine interne del sito oppure direttamente a queste ultime.

<HTML>
<HEAD>
  <TITLE>Titolo del documento</TITLE>
</HEAD>

< FRAMESET COLS="150,*">
  <FRAME SRC=”menusx.htm”>
  <FRAME SRC=”homepage.htm”>
<NOFRAMES>
Il vostro browser non supporta i frame, vi consigliamo di aggiornarlo ad una versione più recente.

Inserire qui il contenuto alternativo del documento per browser che non supportano i frame.

Vi forniamo inoltre i collegamenti diretti ad alcune pagine rilevanti del nostro sito: (N.B. Una volta visualizzate le pagine potreste dover utilizzare il pulsante “Back” del browser per tornare a questo menù).
<a href=”pagina1.htm”>Pagina importante</a>.
<a href=”pagina2.htm”>Altra pagina importante</a>.

Inserire qui le informazioni di contatto
</NOFRAMES>
</FRAMESET>

</HTML>

Per ulteriori informazioni sul corretto utilizzo dei frame e del tag <noframes> consultate questa pagina del W3C, o questa che è una sua buona traduzione in lingua italiana.

Anche se un buon utilizzo del tag <noframes> aiuta a rimediare alla completa mancanza di visibilità sui motori di ricerca è mia opinione che rimangano molte buone ragioni per evitare l’uso dei i frame.

Infatti, costruire un “sito alternativo”, raggiungibile esclusivamente dal frameset e contenente tutte le informazioni ben ottimizzate, significa fare un sacco di lavoro e rischiare comunque che gli utenti provenienti dai motori di ricerca non vedano mai il sito principale anche se pensate di avere inserito dei link molto evidenti nelle pagine “parallele”.

Nel caso in cui, invece, inseriate nel frameset i link alle pagine interne del sito queste verranno sì correttamente indicizzate, ma una volta raggiunte dagli utenti dei motori, che le selezioneranno nelle pagine dei risultati, saranno visualizzate senza tutti gli altri elementi della schermata che avrebbero dovuto essere richiamati dal frameset e quindi rischiano di confondere gli utenti che si troveranno privi di preziosi elementi di navigazione (menù, testata ecc.).

Esiste la possibilità di rimediare in parte a questo problema utilizzando il linguaggio javascript. Inserendo in tutte le pagine interne della struttura uno script che verifichi l’indirizzo visualizzato dal browser (il costrutto location.top.href) e, nel caso in cui questo non corrisponda a quello del frameset, effettui un redirect a quest’ultimo,consentendo al browser di ricostruire la struttura completa.
Ecco una semplice funzione di esempio:

function go_top(){
  ok_url = "http://www.nomedelsito.tld";
  if (top.location.href != ok_url) {
    top.location.href = ok_url;
  }
}

La funzione deve essere ovviamente invocata al caricamento della pagina, consiglio inoltre di includerla attraverso l’utilizzo di un file “.js” esterno.

E’ importante capire che in questo caso i motori di ricerca vengono “ingannati”, almeno formalmente. Essi infatti non interpretano le istruzioni javascript, perciò non seguono il redirect. La conseguenza è che i motori memorizzano, analizzano e posizionano la pagina che contiene lo script, mentre gli utenti che selezionano il collegamento nella pagina dei risultati vedono il documento di destinazione del redirect.

Questo tipo di comportamento viene utilizzato da webmaster malintenzionati per realizzare le cosiddette “doorway”, pagine costruite appositamente per essere ben posizionate sui motori ma che indispettirebbero qualsiasi essere umano ragionevole che dovesse consultarle. Per questa ragione le pagine doorway contengono un redirect che il motore non segue ma che dirotta l’utente su un documento più gradevole da consultare.

Il risultato è lo stesso: il motore di ricerca memorizza e posiziona un documento, ma l’utente che lo selezione dalla pagina dei risultati ne vede uno diverso, in questo caso, a volte, anche PROFONDAMENTE diverso.

I motori di ricerca vedono questa pratica come il fumo negli occhi, ed effettuano periodicamente controlli con operatori umani per ripulire i loro database da questo ed altri tipi di spam, è quindi teoricamente possibile incorrere in qualche tipo di penalizzazione per l’utilizzo di questa tecnica, per quanto a me personalmente ciò non sia mai accaduto.

Con qualche riga di javascript in più e magari con l’utilizzo di ASP o PHP si può “smussare” un pò anche questo problema.
Passando al frameset una querystring che consenta di rimontare l’intera struttura, richiamando la pagina esatta da cui è partito il redirect, è probabile che un essere umano deputato al controllo dei risultati dei motori non abbia niente da eccepire.

Per completezza va anche detto che adesso gli spider dei maggiori motori di ricerca sono in grado di “leggere” i frame e di indicizzarne le pagine. Nonostante questo, a mio modo di vedere, è comunque preferibile evitarne l’utilizzo a causa delle considerazioni fatte sopra sulle difficoltà di navigazione imposte agli utenti provenienti dalle pagine dei risultati dei motori di ricerca.

Per comprendere, infine, il tipo di anomalia che i frame inducono negli algoritmi dei motori di ricerca pensate a tecniche come il PageRank o la link-popularity: in esse i link sono considerati dei voti, dei consigli a consultare un determinato documento; ma un link che punta ad un frameset è, il più delle volte, un voto al documento sbagliato (perché è molto probabile che il webmaster intendesse inserire un collegamento a uno dei documenti “interni”), soprattutto nel caso in cui lo spider non riesca a leggerlo correttamente. Anche se ci riuscisse poi dovrebbe capire quali delle pagine che formano il frame è la destinataria del “voto”, ammesso che sia una di quelle richiamate di default al caricamento del frameset e non addirittura una diversa. Si può intuire facilmente come questa, dal punto di vista del motore, sia una situazione “strana”.

I frame sono stati comunque utilizzati abbondantemente, soprattutto quando i collegamenti ADSL erano inesistenti o poco diffusi e la velocità di navigazione in Internet era molto bassa. Infatti utilizzando i frame certe porzioni della struttura del sito (per es. la testata, il menù, il footer) possono essere caricate una sola vota, dopodichè vengono richieste al server solo le pagine che corrispondono alla porzione di contenuto che cambia.
Inoltre questo tipo di tecnica facilita la gestione del sito, perché eventuali modifiche al menù o alla testata contenute in un frame si riflettono automaticamente sull’intero sito e non costringono il webmaster a modificare decine o anche centinaia di pagine singolarmente.

Adesso però ci sono davvero poche ragioni per continuare ad utilizzare i frame, poiché la velocità di navigazione ammortizza di molto il disagio di dover caricare ogni volta tutte le parti della schermata (le immagini, peraltro, sono già memorizzate nella cache del browser).

Inoltre esistono soluzioni altrettanto efficienti dal punto di vista della gestione del sito e più performanti dal punto di vista dell’ottimizzazione, come per esempio i Server Side Include (SSI). Questa tecnica permette di includere il codice html contenuto in un file dentro un altro file. In questo caso l’operazione avviene “lato server”, vale a dire che il server web costruisce la pagina richiesta utilizzando i “pezzi” contenuti nei vari file predisposti e poi restituisce al browser una normalissima pagina HTML (o ASP o PHP). Questa tecnica è utilissima e vi consiglio sempre di verificare che il vostro fornitore di hosting vi consenta di utilizzarla.

Riassumendo, vi consiglio di utilizzare i frame solo se non potete farne a meno e di scegliere soluzioni diverse appena sia possibile, in quanto, a parità di altri fattori, i frame sono da considerarsi penalizzanti e, come minimo, fonte di complicazioni inutili.





Ultima modifica: 09/05/2006 - 11:16

Posizionamento Web
Guida al posizionamento nei motori di ricerca


Home Motori di ricercaOttimizzazione dei sitiFattori esterniRisorse


© 2004 - 2006 www.posizionamento-web.com - Tutti i diritti riservati - Vietata la riproduzione anche parziale -