Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Motori di ricerca e frame

È vero che i frame sono nemici dei motori? Qualche consiglio per non avere problemi con questa modalità di strutturazione delle pagine web
È vero che i frame sono nemici dei motori? Qualche consiglio per non avere problemi con questa modalità di strutturazione delle pagine web
Link copiato negli appunti

Come tutti sanno, i frame sono strutture che permettono di visualizzare contemporaneamente più documenti HTML in un'unica finestra. Gli scopi dell'uso di frame nella costruzione di un sito web sono principalmente legati alla possibilità di:

  • mantenere fissi determinati oggetti del layout, ad esempio testata grafica e menu di navigazione, permettendo viceversa lo scrolling dei contenuti della pagina
  • sfogliare le pagine del sito cambiando solo i contenuti, e non il template grafico, velocizzando i tempi di caricamento
  • facilitare l'aggiornamento dei contenuti ad utenti meno esperti permettendo di lavorare esclusivamente sulle pagine caricate dai frame, senza il rischio di intaccare la struttura grafica

In passato, soprattutto grazie agli editor HTML visuali più diffusi, l'uso dei frame nella più classica delle modalità (template grafico fisso e contenuti a scorrimento) ebbe un largo successo, appunto per la semplicità di creazione, gestione e aggiornamento, oltre che per il risultato in termini di estetica.

Con gli anni i frame hanno anche coadiuvato una serie di attività legate ad impaginazioni grafiche complesse ed effetti grafici interessanti, ad esempio con l'uso, ancora oggi massiccio, degli iframe (frame inseriti in linea, non legati ad un frameset ma impaginati ed allineati a piacimento in qualsiasi posizione nella pagina). Il tutto però con moltissimi sforzi dal punto di vista della compatibilità tra browser diversi, soprattutto nel confronto (in passato fondamentale) tra Explorer e Netscape.

Con la diffusione dei layout CSS based, la progressiva scoperta delle potenzialità e l'adeguamento dei principali browser agli standard, molti web designer hanno trovato strumenti alternativi per l'ottenimento dei benefici e degli effetti di cui sopra, abbandonando di fatto l'uso dei frame.

Il codice base per l'impostazione di un documento HTML diviso in frame si sviluppa con la dichiarazione di un frameet in sostituzione del tag body. Nel seguente esempio si prevede una struttura con colonna sinistra, ad esempio per un menu di navigazione, ed un corpo pagina per i contenuti:

<HTML>
<HEAD>
<TITLE>Pagina con frame</TITLE>
</HEAD>
<FRAMESET cols="20%, 80%">
<FRAME src="colonna-sinistra.htm">
<FRAME src="contenuti.htm">
</FRAMESET>
</HTML>

Non essendo necessario in questa sede indicare tutte le possibilità in termini di attributi e varianti applicabili, analizziamo il codice di cui sopra allo scopo di notare che per avere una struttura con una colonna sinistra e un corpo pagina scorrevole, è necessario impiegare ben 3 documenti HTML: la pagina che dichiara il frameset, la pagina caricata come colonna di sinistra, la pagina dedicata ai contenuti.

Il primo problema nell'uso dei frame, nell'ottica dell'ottimizzazione di un sito per il posizionamento, è proprio in questa caratteristica. Diversi spider dei motori di ricerca (come particolari tipi di browser) non sono in grado di interpretare il frameset e di seguire i link inseriti nel tag, di fatto quindi ignorando i contenuti delle pagine che ne fanno parte.

Per ovviare a questo problema esiste un ulteriore tag, il noframe, in grado di permettere la lettura dei contenuti e di seguire i link, come da codice seguente (posizionato prima della chiusura del frameet) :

<NOFRAME>
Testo utile a browser e/o motori spider non abilitato.
Menu alternativo.
</NOFRAME>

Oltre alla possibilità di essere utilizzato per inserire un testo alternativo, il tag può quindi essere necessario a consentire la navigazione tra i contenuti del sito tramite uno o più link.

Il tag noframe è tra l'altro indicato dal W3C (World Wide Web Consortium) come indispensabile per fornire un'alternativa agli utenti in possesso di browser non abilitati alla lettura dei frame stessi:

“User agents that do not support frame must display the contents of NOframe in any case."

Detto questo, rimane il fatto che i motori di ricerca in linea di principio non vedono di buon occhio siti web realizzati con frame; Google, considera i frame addirittura "non conformi al modello concettuale del web" , dichiarando, nel centro assistenza webmaster:

" Se Google determina che la ricerca di un utente trova corrispondenza in una pagina nella sua totalità, Google restituisce l'intero set di frame; se, invece, la ricerca trova corrispondenza in un unico frame all'interno della pagina, Google restituisce solamente il frame pertinente. In questo caso non appare l'intero set di frame della pagina."

Quindi, qualora tutte le url del frameset venissero raggiunte e indicizzate dallo spider del motore di ricerca, quest'ultimo archivierà tutti i documenti che lo compongono. In questo modo è molto probabile che, ad esempio, nella ricerca di una chiave contenuta in una pagina interna, verrà trovata tra i risultati solo quella pagina, impedendo dunque all'utente la visualizzazione di informazioni e strumenti indispensabili, quali ad esempio la testata grafica o peggio il menu necessario alla navigazione.

È necessario quindi rinunciare ai frame?

La risposta potrebbe sembrare scontata: se, come accennato prima, si conoscono le potenzialità dei fogli di stile CSS, oppure semplicemente gli include php o asp per soddisfare esigenze di versatilità nella gestione e nell'aggiornamento di parti di codice, che senso avrebbe perdere tempo a risolvere il problema dei frame?

In realtà, nell'attività di molti webmaster, non sempre ci si trova nelle condizioni di poter scegliere tutte le caratteristiche di un progetto, o più semplicemente, potrebbe capitare di dover ottimizzare un sito già esistente e realizzato proprio con i frame.

Di fronte al fatto compiuto quindi, sarà bene predisporre tutte le operazioni necessarie a far indicizzare al meglio i documenti, limitando i danni:

1) usando il tag noframe, come nell'esempio di sopra, accogliendo e indirizzando l'utente (e lo spider) verso il resto dei contenuti, ma senza abusarne sfruttandolo come un contenitore "di massa" per le keywords

2) se possibile, creando delle welcome pages, ovvero delle pagine ben ottimizzate, che superino nelle SERP gli altri documenti del sito, e che accolgano i visitatori.

In questo senso la presenza dei frame può essere interpretata in modo simile all'eventualità di dover ottimizzare un sito realizzato interamente in Flash. Per quanto possibile cioè, sarebbe utile anteporre pagine da noi realizzate appositamente per agevolare l'ingresso dei visitatori, anziché rischiare situazioni imperfette come prima accennato.

3) inserendo una sitemap efficace per permettere l'indicizzazione di tutte le url, oltre a creare mappe ad hoc per motori come Google e Yahoo

4) evitando l'utilizzo di Javascript utili a reindirizzare le pagine trovate senza template, come questo:

<script>
if(parent.frame.length==0)
window.location.replace("home.htm")
</script>

dato che, per quanto funzionali e comodi a dirottare rapidamente l'utente verso una pagina completa (ad esempio l'home page), di fatto rappresentano una causa molto probabile di penalizzazione o ban da parte dei motori di ricerca, in quanto da essi considerati spam.

5) se abbiamo previsto contenuti sostitutivi, proponendo ai motori di ricerca di "ignorare" le pagine contenute nei frame, con l'uso di attributi nofollow sui link diretti a tali pagine, congiuntamente all'esclusione delle cartelle o dei singoli documenti nel file robots.txt.

In conclusione quindi, qualora l'uso dei frame sia indispensabile, sarà necessario seguire i comportamenti precedentemente illustrati, mentre, nell'iniziare un nuovo progetto web, esso è vivamente sconsigliato, soprattutto se si desidera ottenere una buona risposta da parte dei motori di ricerca e mantenere un buon livello di usabilità per i visitatori.

Ti consigliamo anche