Aller au contenu

Référencement avec des frames


Sujets conseillés

Bonjour à tous,

J'ai récupéré un projet web (http://www.cabrita-promotion.fr) qui a été initialement construit en frame.

Mon client me fait remarquer qu'en tappant "cabrita promotion" sur Google, le 2ème résultat renvoie vers la page main-intro.php alors que je souhaiterai qu'il renvoie vers http://www.cabrita-promotion.fr/ tout court.

(Ce problème n'apparait pas sur Yahoo).

Est-ce que la création d'un fichier robot.txt lui indiquant de ne pas indexer les dites pages va résoudre le problème ? Si oui, je risque quand même de voir déréférencer mon site. (Aujourd'hui c'est pas capital car aucune prestation de référencement n'est en cours mais je n'ai pas non plus envie de voir le site sortir de l'index).

Quelqu'un saurait comment résoudre ce problème ?

(J'ai aussi pensé à la redirection mais ça va coincer quand je vais vouloir afficher la frame main-intro.php)

Merci :)

Lien vers le commentaire
Partager sur d’autres sites

La solution à court terme n'est malheureusement pas envisageable pour le moment.

Ce problème est donc un problème classique des sites en frame ?

Merci pour ton aide :) Je vais voir si je peux trouver ce genre de javascript, car ce langage et moi ne nous connaissons pas.

Lien vers le commentaire
Partager sur d’autres sites

Bonjour Perrine,

De plus je vois que ce domaine a été créé avec 3 framesets imbriqués... le référencement doit être catastrophique.

Ce n'est pas le référencement qu'un site de ce type devrait avoir: 8 pages dans l'index Google, et zéro backlink... :wacko:

http://www.google.fr/search?hl=fr&q=site%3...echercher&meta=

Avec un peu de php et des frames virtuels (includes) la reconstruction de ce site devrait être rapide.

Dan

Lien vers le commentaire
Partager sur d’autres sites

J'entends bien vos propositions. Je serai la première à en parler au client quand j'en aurai l'opportunité (quoi que j'en ai déjà parlé, mais...). Le site a été refait (pas par mes soins, je vous rassure ;) ) il y a peu (moins d'un an) donc je ne peux rien proposer raisonnablement aujourd'hui.

Dans un premier temps, je souhaiterai juste trouver une solution à ce problème de frame sur Google. Et à moyen terme, proposer une alternative au site en frame et un référencement digne de ce nom :blush:

Lien vers le commentaire
Partager sur d’autres sites

Tu peux toujours forcer le retour à la page d'accueil si le frameset n'est pas complet...

Mais lorsque les personnes viendront de Google, elles tomberont automatiquement sur la page d'accueil en suivant n'importe quel lien. C'est loin d'être idéal.

Les frames interdisent aussi de mettre une page en favori vu que toutes les pages du site ont la même URL ... dommage pour vos visiteurs.

Ce serait quelque chose comme ceci, à mettre dans toutes les pages, sauf celle définissant les framesets:

<script type="text/javascript">
<!--
if(top == self)
    top.location.href = http://www.cabrita-promotion.fr;
-->

A placer entre <head> et </head> ;)

Lien vers le commentaire
Partager sur d’autres sites

Je connnais tous les inconvénients des frames (mauvais référencement, impossibilité de mettre en favori, mauvaise accessibilité...). D'ailleurs, quand on m'avait proposé de reprendre le projet, j'avais longtemps hésité car les frames sont en général une source d'embêtements (d'autant plus que je n'ai pas du tout l'habitude de travailler avec).

Mais je comprends aussi le client qui a réinvesti dans une refonte de son site l'année dernière et qui ne souhaite pas encore débourser des sous aujourd'hui. (Enfin, je le comprends à moitié car il n'est pas visible aujourd'hui sur le net et ça, c'est très dommageable pour lui...). Mais d'un point de vue financier, c'est compréhensible, non ?

Merci Dan pour ta solution en js, je vais tester ça dès que possible :)

Lien vers le commentaire
Partager sur d’autres sites

Tu peux toujours forcer le retour à la page d'accueil si le frameset n'est pas complet...

Mais lorsque les personnes viendront de Google, elles tomberont automatiquement sur la page d'accueil en suivant n'importe quel lien. C'est loin d'être idéal.

Il doit y avoir la possibilité de rediriger vers la bonne page avec les frames. En tous cas je l'ai déjà vu.

Lien vers le commentaire
Partager sur d’autres sites

Oui, mais avec 3 frameset imbriqués je n'ai pas la capacité de programmation en Javascript pour le faire...

Je l'avais fait pour un frameset avec 3 frames, ça marchait bien... mais j'avais copieusement pompé le code. :)

Lien vers le commentaire
Partager sur d’autres sites

Salut

Je pense qu'a moyen terme, la solution de refondre le site en php en appelant des includes dans des <div> avec des overflows sera a la fois la plus rapide et la moins couteuse...

Lien vers le commentaire
Partager sur d’autres sites

Encore merci pour votre aide et vos propositions.

Dan, je n'ai pas réussi à faire fonctionner ton script... ni d'ailleurs les quelques 4 ou 5 que j'ai trouvés sur le Net.

Finalement, j'ai trouvé ce dernier qui fonctionne parfaitement :

<script language="JavaScript">
<!--
if (parent.frames.length==0)
parent.location.href="index.htm"
//-->
</script>

Lien vers le commentaire
Partager sur d’autres sites

Il est vrai que je n'ai pas testé ce script avec autant de frameset imbriqués...

Mais je l'utilise sur le Hub sans problème ...

Dan

Lien vers le commentaire
Partager sur d’autres sites

  • 1 year later...

Bonjour, je viens de mettre en place la solution au problème. Si la page mere contient une frame nommée myiframe:

Dans toutes les pages filles, à l'interieur du body, inclure le code suivant:

< script type="text/JavaScript"> 
if (parent.frames.length==0){
parent.location.href="index.php?iframeurl="+location.href;
}
</script>

Dans le head de la page mere, inclure:
<script type="text/JavaScript">
function init(){
var query=this.location.search.substring(1);
if (query.length > 0){
var params=query.split("&");
for (var i=0; i<params.length; i++){
var pos = params[i].indexOf("=");
var name = params[i].substring(0, pos);
var value = params[i].substring(pos + 1);
if(name=="iframeurl"){
frames['myiframe'].location.href=value;
}
}
}
}
</script>

Invoquer cette fonction au chargement de la page:

<body  onload="init();">

Ca marche sur mon site, starletteslieusaint.free.fr.

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...