Le problème des frames
De façon assez générale, il est très
souvent considéré que les frames sont un réel
obstacle pour les moteurs de recherche et donc pour le bon
référencement d'un site qui prendrait en compte
cette technique de subdivision de l'écran par différentes
fenêtres indépendantes. Et... c'est vrai !
Avant de voir comment les moteurs réagissent lorsqu'ils
arrivent sur une page ainsi réalisée, il est
nécessaire de dire deux mots à propos de la
réalisation de ce type de page en HTML.
Imaginons une page web qui aurait pour nom Frames.html et
dont le code HTML serait le suivant :
<FRAMESET ROWS=20%,80%>
<FRAME SRC="FH.html" NAME="haut">
<FRAMESET COLS=*,2*>
<FRAME SRC="FGB.html" NAME="gauchebas">
<FRAME SRC="FDB.html" NAME="droitebas">
</FRAMESET>
<NOFRAMES>
Cette page a été réalisée
avec des frames.
</NOFRAMES>
</FRAMESET>
La balise <FRAMESET> ... </FRAMESET> permet de
définir les cadres qui constitueront l'écran
du navigateur et d'indiquer quels fichiers HTML (ici FH.html,
FGB.html et FDB.html) seront affichés à l'intérieur
de ces zones (= cadres = frames). Notez bien que le fichier
Frames.html, que nous appellerons "fichier mère",
sert uniquement à la description des zones de découpage
de l'écran et ne contient aucune indication sur le
texte ou les images qui y seront affichées.
|
FGB.HTML
|
Texte de contenu
FDB.HTML |
Les fichiers FH.html, FGB.html et FDB.html, que nous appellerons
"fichiers filles", contiennent pour leur part les
informations à afficher dans chaque partie d'écran.
Le fichier Frames.html (fichier "mère") décrit
donc la façon dont ils seront affichés sur l'écran.
Mettons nous maintenant à la place du spider qui arrive
sur une page, obligatoirement de type "mère"
dans un premier temps. Il peut avoir quatre réactions
différentes :
Premièrement, il ignore complètement
la page Web et ne l'indexe pas, car il a décidé
(enfin, ses concepteurs ont décidé pour lui)
de ne pas prendre en compte les pages avec frames.
Deuxièmement, il indexe les fichiers "mère"
et "filles" et fonctionne exactement comme pour
une page sans frames. La situation est idéale : si
un mot clé est trouvé dans l'une des pages "filles",
il peut revenir au fichier "mère" et affiche
la page comme elle doit l'être normalement, restaurant
ainsi le contexte d'affichage initial. Très peu de
moteurs (et pour tout dire aucun) ne savent faire cela.
Troisièmement, le spider indexe uniquement
la page "mère", et notamment le contenu de
la balise <NOFRAMES>...</NOFRAMES> et ignore délibérément
les fichiers "filles" en ne suivant pas les liens
présents dans les balises <FRAME>. Bon nombre
de moteurs fonctionnent ainsi. Et d'autres, censés
bien prendre en compte les frames, n'en font souvent pas plus.
Quatrièmement, le spider indexe les fichiers
"mère" et "filles". Puis il les
considère tous comme des pages Web distinctes, sans
rapport les unes avec les autres. Si un mot clé est
trouvé, par exemple, dans la page FDB.html, le moteur
proposera un lien direct vers ce document et non pas vers
Frames.html. FDB.html s'affichera alors seul sur l'écran
du navigateur (voir figure ci-dessous). Le moteur n'a pas
pu reconstituer le lien entre le fichier "fille"
FDB.html et le "mère" Frames.html. Le contexte
des frames est ainsi perdu. L'internaute, qui a cliqué
sur un lien dans la page de résultats du moteur, se
retrouve avec une page sortie de son contexte "framé"
:
Conclusion simple, mais bien souvent irrémédiable
: réfléchissez bien avant d'utiliser des frames
dans vos pages. Leur contenu risque de ne pas être visible
dans les moteurs qui, en règle générale,
gèrent peu ou mal ces documents. Et comme il existe
de moins en moins de site réalisés avec des
frames (visualisez les cinquante premiers sites mondiaux en
termes d'audience et vous verrez vite qu'aucun n'utilise cette
technique, abandonnée même par son concepteur,
Netscape, sur son site), il y a peu de chances que les moteurs
fassent quoi que ce soit pour mieux les prendre en compte
à l'avenir. |