nick774 Posté 14 Septembre 2003 Posté 14 Septembre 2003 Bonjour, J'ai créé un site avec frame et comme prévu, ça le fait pas avec les robots pour le référencement. Il me sort une page mais pas l'ensemble des cadres. Y'a t'il une solution à ça? Merci
Fupap Posté 14 Septembre 2003 Posté 14 Septembre 2003 bonjour et bienvenue a bord du hub j'ai eu un site en frames aussi avec le meme probleme, j'avais mis un bouton accueil sur chaque page mais ca oblige tout visiteur à repasser par l'entree ce qui peut etre contraignant pour celui qui a une connexion lente sinon il existe je crois des scripts qui permettent de rediriger sur les cadres des specialistes ici t'indiqueront sans doute lesquels
Monique Posté 14 Septembre 2003 Posté 14 Septembre 2003 Bonjour nick774, et bienvenue sur le Hub Pour te conseiller plus utilement, il serait mieux de disposer de l'URL de ton site. Pour cela, il te suffit de l'ajouter dans ton profil. Elle sera ainsi toujours disponible. La première chose à faire, c'est d'utiliser la balise noframes pour y ajouter du contenu et des liens à l'intention des navigateurs qui ne reconnaissent pas les cadres... y compris les robots de moteurs ! Voici le squelette recommandé par le W3C pour un site avec frames. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd"> <HTML> <HEAD> <TITLE>Un document avec jeu d'encadrement et NOFRAMES</TITLE> </HEAD> <FRAMESET cols="50%, 50%"> <FRAME src="principal.html"> <FRAME src="table_des_matieres.html"> <NOFRAMES> <P>Voici la <A href="principal-noframes.html"> version sans cadres du document.</A> </NOFRAMES> </FRAMESET> </HTML> Il est utile aussi de prévoir un plan du site et un lien entre les toutes les pages et la page d'accueil.
Philippe Batreau Posté 14 Septembre 2003 Posté 14 Septembre 2003 Ce qui est génant, ce n'est pas que le visiteur trouve des bouts de cadre dans les résultats du moteur, mais qu'il n'ait qu'une partie du site quand il clique dessus. Ce qui est souhaitable, c'est qu'il retrouve la page entière, avec tous les cadres, quand il clique sur un cadre isolé. C'est possible avec un javascript qui remet le cadre isolé dans son contexte. C'est ce que fait le site de la CNIL avec une page nommée "frame.html" qui contient le code suivant (extrait) : ----------- <html> <head> <title></title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <script LANGUAGE="JavaScript"> <!-- document.write('<FRAMESET COLS="112,*">'); document.write('<FRAME SRC="barver.htm" NAME="bar">'); document.write('<FRAME SRC="' +(location.search ? location.search.substring(1) : index.htm)+(location.hash)+'"" NAME="princ">'); document.write('<\/FRAMESET>'); //--> </SCRIPT> </html> --------------- Et les pages contenues dans les cadres ont ce script, extrait du code : -------- <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 3.0//EN"> <HTML> <HEAD> <TITLE></TITLE> <script language="JavaScript"> <!-- function checkFrame(){ if (self == top) { top.location.href='../frame.htm?' + self.location; } } //--> </SCRIPT> </HEAD> <BODY onLoad="checkFrame()"> ----------- Pour éviter d'indexer la page de menu du cadre, on rajoute la meta robots avec "noindex, follow" comme contenu.
nick774 Posté 15 Septembre 2003 Auteur Posté 15 Septembre 2003 merci de votre aide, j'ai rempli mon profil pour l'adresse du site web; sinon j'ai pas tout compris concernant le site de la CNIL !
Olivier Posté 15 Septembre 2003 Posté 15 Septembre 2003 L'exemple donné par philippe est interessant. D'avoir référencé ces pages et permis aux moteurs de lire le contenu des frames avec les balises noframes, a ensuite un inconvenient. Généralement le menu de la frame est séparée du contenu, qui ne contient que du texte et bien souvent il n'est pas utile de mettre retour à la page d'accueil, puisque le menu de gauche ou droite permet la navigation. Cependant si la page de contenu est dans l'index du moteur et qu'un visiteur y accède, il va avoir une page de texte, sans aucun lien pour naviguer et continuer sa visite. Le script proposé permet de re afficher la page avec son cadre itinial de navigation. Sans ce script il faut alors programmer la navigation en bas de chaque page de contenu, et maintenir celà à jour dès lors que le site évolue un peu.
nick774 Posté 15 Septembre 2003 Auteur Posté 15 Septembre 2003 y'a une autre solution sinon, qui est un script de reconstruction sur la page fille <script LANGUAGE="JavaScript"> if (parent.frames.length==0) { document.location.href = 'http://www.monurl.com/index.htm'; } </SCRIPT> qu'en pensez vous?
Philippe Batreau Posté 15 Septembre 2003 Posté 15 Septembre 2003 y'a une autre solution sinon, qui est un script de reconstruction sur la page fille <script LANGUAGE="JavaScript"> if (parent.frames.length==0) { document.location.href = 'http://www.monurl.com/index.htm'; } </SCRIPT> qu'en pensez vous? L'inconvénient de ce script est qu'il renvoie au cadre général (parent) sans forcément afficher le contenu de la page fille, si ce n'est pas le cadre par défaut affiché par la page index (nom dans cet exemple). Il faudrait, pour avoir le contenu désiré, créer autant de pages index (index1, index2, ...) qu'il y a de pages filles. Le script sur le site de la CNIL, affiché plus haut, affiche forcément le contenu désiré.
nick774 Posté 15 Septembre 2003 Auteur Posté 15 Septembre 2003 j'ai un ptit probleme concernant l'utilisation de votre exemple qui me parait plus judicieux en effet. Si vous pourriez me donner un ptit coup de main ce serait sympa! voila une partie de mon code dans la page index.htm <frameset framespacing="0" border="0" rows="140,*" frameborder="0"> <frame name="banniere" scrolling="no" noresize target="sommaire" src="bandeau2.asp" marginwidth="0" marginheight="0"><frameset cols="187,*"> <frame name="sommaire" target="principal" src="sommaire.asp" marginwidth="0" marginheight="0" scrolling="yes" noresize> <frame name="principal" src="principal.asp" marginwidth="0" marginheight="1" target="_self"> </frameset> j'espere que ça va pouvoir vous aider! Merci d'avance
Olivier Posté 16 Septembre 2003 Posté 16 Septembre 2003 Un exemple de site en frame Points positifs : PR6 1 er sur 19.000.000 de sites sur un mot 100 backlinks Points negatifs : des pages en erreur 404 des pages non référencées Javascript au minimum le site : http://www.google.com/search?q=publication Demain je me mets en frame
Philippe Batreau Posté 20 Septembre 2003 Posté 20 Septembre 2003 (modifié) j'ai un ptit probleme concernant l'utilisation de votre exemple qui me parait plus judicieux en effet.Si vous pourriez me donner un ptit coup de main ce serait sympa! voila une partie de mon code dans la page index.htm <frameset framespacing="0" border="0" rows="140,*" frameborder="0"> <frame name="banniere" scrolling="no" noresize target="sommaire" src="bandeau2.asp" marginwidth="0" marginheight="0"><frameset cols="187,*"> <frame name="sommaire" target="principal" src="sommaire.asp" marginwidth="0" marginheight="0" scrolling="yes" noresize> <frame name="principal" src="principal.asp" marginwidth="0" marginheight="1" target="_self"> </frameset> j'espere que ça va pouvoir vous aider! Merci d'avance La page index du site n'a pas à être modifiée. Il faut juste créer une nouvelle page appelée "frame.html" (voir mon premier message plus haut) par exemple dont l'unique objet est de rediriger le visiteur qui tombe sur une page fille dans les résultats d'un moteur de recherche vers le cadre parent. La page frame.html recrée la structure du cadre de la page index en appelant dans le cadre "principal" la page orpheline. Modifié 20 Septembre 2003 par Philippe Batreau
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant