Référencer un site en frames n’a rien de facile en raison de la structure même de ces sites web. Les frames (cadres en français) permettent d’afficher plusieurs pages web dans la même fenêtre d’un navigateur. Par exemple, le menu reste affiché dans un cadre alors que vous naviguez sur les pages internes du site. C’est l’utilisation la plus répandue qui est faîte des frames. Le système présente un inconvénient majeur en terme de référencement puisque les pages internes d’un site internet en frames (appelées pages filles) n’ont pas d’URL propres. Seule la page mère en a une, or celle-ci n’a en général pas de contenu réel, le contenu informatif se trouvant la plupart du temps sur les pages filles. Or, si l’on peut référencer la page mère aisément, les moteurs de recherche sont souvent incapables de trouver et d’indexer les autres pages du site car ils ne lisent pas ce qu’il y a entre les balises <frameset>…</frameset>. En effet, sur Google par exemple, vous verrez souvent en lieu et place de la description d’un site en frames « VOTRE NAVIGATEUR N’ACCEPTE PAS LES FRAMES », alors que ce site fonctionne parfaitement. Si Google met cette description, c’est bien parce que son robot ne lit pas les frames.
Malgré tout, il est possible de référencer ce type de site grâce à quelques petites astuces :
La première astuce consiste tout d’abord à mettre du contenu entre les balises <noframes>…</noframes>, afin de rendre toutes les pages du site accessibles aux robots des moteurs de recherche. Concrètement, voici ce qu’il faut faire :
<NOFRAMES>
<a href= »contenu1.htm »>contenu 1</a>
<a href= »contenu2.htm »>contenu 3</a>
<a href= »contenu3.htm »>contenu 3</a>
</NOFRAMES>
A l’intérieur de ces balises, vous pouvez ajouter les grandes rubriques du site (<h1>, <h2>, etc.) et ajouter une partie du contenu du site.
Google pourra alors trouver les pages filles du site web, mais celles-ci se retrouveront indexées de manière indépendante et s’afficheront en dehors de la structure globale dans laquelle elles devraient normalement s’insérer. Ainsi, lorsqu’un internaute ouvrira la page référencée, celle-ci s’ouvrira sans le cadre « menu » tel qu’il était prévu dans les balises frameset, pour reprendre notre exemple du début et sans parler du bouleversement que cela peut avoir sur le design et la navigation du site. Ce problème peut être contourné en utilisant du Javascript :
<SCRIPT language= »javascript »>
if (parent.location != « http://www.site_en_frames.com/index.htm »)
{
parent.location = « http://www.site_en_frames.com/index.htm »;
}
</SCRIPT>
Le site en frames s’affichera alors normalement, mais ce sera la page mère qui s’ouvrira au lieu de la page fille indexée. Le problème peut toutefois être contourné, toujours en utilisant le Javascript dans le cadre principal qui affiche la page fille :
<SCRIPT language= »JavaScript »>
function getParms()
{
if(window.location.search.length > 1)
{
var parms = window.location.search.substring(1).split(« & »);
var parmList = new Array();
for(var i = 0; i < parms.length; i++)
{
parmList[i] = new Object;
parmList[i].name = parms[i].substring(0,parms[i].indexOf(« = »));
parmList[i].value = parms[i].substring(parms[i].indexOf(« = »)+1);
}
return parmList;
}
else return null;
}
function Controle()
{
var Parms = getParms();
if(Parms != null)
{
for(var i = 0; i < Parms.length; i++)
{
if (Parms[i].name== »page »)
{
contenu.location=Parms[i].value
}
}
}
}
</SCRIPT>
Après le nom de domaine d’un site et l’URL propre d’une page, la critère qui arrive en premier dans le référencement d’un site web est le titre de la page. Or, dans un site en frames, les pages filles conservent toutes le même titre que la page mère. Là encore, ce problème peut être réglé grâce au Javascript :
<SCRIPT language= »JavaScript » type= »text/JavaScript »>
var chaine = new String(parent.location)
if (chaine.indexOf(« index.htm ») == -1)
{
parent.location= »index.htm?page=contenu1.htm »;
}
parent.document.title= »Contenu 1″
</SCRIPT>
Ces techniques de référencement de sites en frames, même si elles sont efficaces et permettent d’obtenir de bons résultats, peuvent toutefois être qualifiées de rustines et ne vaudront jamais en termes de simplicité et d’efficacité un site construit en PHP ou JAVA.
Mots-clefs : frames, Google, positionnement internet, référencement internet, référencement naturel, référencement site internet, référencement web, réferencement-SEO, référencer un site en frames, site web, web
