Comment
référencer un site construit avec des
frames (juillet 2002 - révision
mars 2005)
Information : cet article
est extrait en partie du livre "Créer
du trafic sur son site Web" aux éditions
Eyrolles. Il a été néanmoins enrichi
d'un grand nombre d'informations complémentaires
dans la partie ci-dessous ainsi que dans celle qui est
réservée aux abonnés (voir en fin
d'article). L'article est subdivisé en deux
parties : l'"état de l'art" est consultable
gratuitement, mais la partie traitant des solutions
à mettre en oeuvre pour améliorer le référencement
d'un site réalisé avec des frames est
réservée aux abonnés (comment
s'abonner ?)
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 de la réalisation
de ce type de page en HTML.
Imaginons une page web imaginaire 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.
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. Dommage...
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.
Heureusement, il existe des solutions "miracles",
grâce à la balise <NOFRAMES>
et au Javascript, qui font que votre site, même
réalisé avec des frames, sera bien pris
en compte et affiché par les moteurs de recherche.
Ouf...