Menus déroulants javascript et référencement google

Menus déroulants javascript et référencement google - HTML/CSS - Programmation

Marsh Posté le 28-08-2004 à 13:21:34    

J'ai réussi à bidouiller une barre avec sous menus déroulants en javascript. J'étais super content. J'allais enfin pouvoir virer les frames de mon site. Et puis, d'un seul coup, je me suis demandé si ça ne posait pas de problème pour le référencement.  
 
J'ai cherché. Et, pour le moment, j'ai trouvé des réponses qui se contredisent. Certains disent que ça ne gêne pas, d'autre que si. Alors, s'il y avait quelqu'un qui savait, ici, ce serait sympa.  
 
Précision : les liens du menu déroulent sont dans un fichier javascript séparé (pas dans la page html).

Reply

Marsh Posté le 28-08-2004 à 13:21:34   

Reply

Marsh Posté le 28-08-2004 à 13:28:14    

glorb a écrit :

J'ai réussi à bidouiller une barre avec sous menus déroulants en javascript. J'étais super content. J'allais enfin pouvoir virer les frames de mon site. Et puis, d'un seul coup, je me suis demandé si ça ne posait pas de problème pour le référencement.  
 
J'ai cherché. Et, pour le moment, j'ai trouvé des réponses qui se contredisent. Certains disent que ça ne gêne pas, d'autre que si. Alors, s'il y avait quelqu'un qui savait, ici, ce serait sympa.  
 
Précision : les liens du menu déroulent sont dans un fichier javascript séparé (pas dans la page html).


 
Un menu déroulant doit être un raccourcis pour le visiteur et ne doit en aucun cas se substituer aux liens.
 
En clair, ton menu déroulant doit être conçu de telle manière, que le titre de chaque menu est un lien donnant la possibilité d'avoir les sous-menus en HTML quelque part dans ta page.
 
 :o

Reply

Marsh Posté le 28-08-2004 à 13:45:04    

Si le menu déroulant est bien fait (css+javascript), ça ne pose pas de problème pour le référencement.
Si c'est que du javascript ça peut poser des problèmes. Les moteurs de recherche "saute" le code js, donc si tous les liens sont dedans c'est fichu...

Reply

Marsh Posté le 28-08-2004 à 18:17:41    

Ouai, ça confirme les déclarations négatives. C'est con ça. Je tenais enfin mon menu. Enfin bon, je vais le faire avec des CSS + javascript (ou plutot, je vais essayer de le faire).
 
> Hermes :
Oui. Mais, si je veux mettre un menu déroulant, c'est qu'il y a trop de liens à mettre pour une seule page. Enfin, y en a pas 100.000 non plus. Mais, ça encombrerait inutilement. J'aurais voulu faire un truc clean quoi. Une seule barre de menu en haut de la page. Le truc clair, simple, pas surchargé.
 
Et puis, même en retenant cette solution, il y a la question des mises à jours des liens.  Avec une frame, pas besoin de mise à jour pour toutes les pages en liaison avec la frame ou il y a les liens. Sans frame, il faut mettre à jour toutes les pages. A moins qu'on puisse utiliser un CSS pour ce genre de truc ? Genre, un tableau avec les liens dedans automatiquement mis à jour avec un CSS ?
 
En tout cas, merci de m'avoir répondu. :jap:

Reply

Marsh Posté le 28-08-2004 à 18:30:12    

Ce que voulait dire Hermes c'est que le menu doit être accessible même pour ceux qui ont désactivé javascript. Donc la plupart du temps ça marche comme ça :

  • JS activé, quand le pointeur passe au dessus du menu, il se déroule
  • JS désactivé, l'utilisateur peut cliquer sur le menu, ce qui le renvoie à une page contenant le sous-menu


 
 
Pour les liens, si tu utilises un langage côté serveur (comme php), tu peux créer un fichier liens.php que tu inclus sur toutes tes pages. Sinon tu es coincé, les frames étant très très mauvaises pour le référencement.
 
Un lien pour le menu  : http://www.alsacreations.com/articles/deroulant/

Reply

Marsh Posté le 28-08-2004 à 19:16:10    

Ah ok, je vois. J'avais entendu parler ailleurs de la solution dont parle Hermes, mais, sur le coup, je n'avais pas trop compris en quoi ça consistait. Effectivement, ça résoud le problème de l'accessibilité et du référencement.
 
Mais bon, vu que je me suis récupéré un javascipt que j'ai seulement modifié, ça dépasse pour l'instant mes capacités techniques de faire cette adaptation. Je vais essayer de me récupérer et modifier le script qu'il y a sur le site que tu m'as donné.


Message édité par glorb le 28-08-2004 à 19:17:31
Reply

Marsh Posté le 29-08-2004 à 17:06:51    

Concernant JavaScript, il est bénéfique de séparer la forme du fond. Exactement comme pour XHTML + CSS. Peter Paul Koch a fait un article formalisant ce que beaucoup font déjà naturellement.
La traduction en français : http://www.pompage.net/pompe/separation/

Reply

Marsh Posté le 30-08-2004 à 08:04:42    

J'ai réussi à faire un menu déroulant avec l'article d'alsacreation. Par contre, je me rend compte d'un truc : c'est qu'alors qu'avec mon menu javascript, les liens étaient dans un fichier javascript séparé ; ici, ils sont dans la page html.
 
Du coup, ça pose problème pour la mise à jour. Si, à un moment, je veux mettre à jour le contenu de menu, je devrais le faire pour toutes les pages où il se trouve. C'est super galère.
 
Donc, en réfléchissant à ça, je me demande s'il est possible d'avoir un menu déroulant qui permette en même temps :
 
1) un référencement google (comme pour l'exemple CSS + JS d'alsacreation)
 
2) une mise à jour pour l'ensemble des pages lorsqu'il y a modification du contenu du menu (comme avec un javascript mis dans un fichier séparé)
 
Ca semble être un peu la quadrature du cercle. Si on ne met pas le contenu des menus dans un fichier séparé, on ne peut pas les mettre à jour facilement pour toutes les pages. Et si on veut régler ce problème en les mettant dans un fichier séparé, le référencement google en prend un coup.


Message édité par glorb le 30-08-2004 à 08:06:06
Reply

Marsh Posté le 30-08-2004 à 08:18:22    

glorb a écrit :

J'ai réussi à faire un menu déroulant avec l'article d'alsacreation. Par contre, je me rend compte d'un truc : c'est qu'alors qu'avec mon menu javascript, les liens étaient dans un fichier javascript séparé ; ici, ils sont dans la page html.
 
Du coup, ça pose problème pour la mise à jour. Si, à un moment, je veux mettre à jour le contenu de menu, je devrais le faire pour toutes les pages où il se trouve. C'est super galère.
 
Donc, en réfléchissant à ça, je me demande s'il est possible d'avoir un menu déroulant qui permette en même temps :
 
1) un référencement google (comme pour l'exemple CSS + JS d'alsacreation)
 
2) une mise à jour pour l'ensemble des pages lorsqu'il y a modification du contenu du menu (comme avec un javascript mis dans un fichier séparé)
 
Ca semble être un peu la quadrature du cercle. Si on ne met pas le contenu des menus dans un fichier séparé, on ne peut pas les mettre à jour facilement pour toutes les pages. Et si on veut régler ce problème en les mettant dans un fichier séparé, le référencement google en prend un coup.


 
Le problème (le vrai), c'est avant tout ton incompétence. Utiliser des scripts pris ici ou là a ses limites. On ne peut pas tout avoir.
 
Soit tu te mets sérieusement au HTML/CSS/JS/PHP (ou autre langage serveur) et tu peux réellement faire ce que tu veux, soit tu continues à bricoler, et évidemment, certaines choses resteront inaccessibles.
Le fait de mettre facilement à jour un site en particulier nécessite d'utiliser un langage serveur comme PHP. En HTML pur, il n'y a que les frames... Or celles-ci nuisent au référencement...

Reply

Marsh Posté le 30-08-2004 à 08:45:12    

Ah oui. Donc, avec du CSS/JS, on ne peut pas avoir en même temps les 2 caractéristiques mentionnées plus haut. Il faut rajouter du PHP.
 
Ce serait quand même bien que les gens qui font ce genre d'exemple le mentionnent. Parce que c'est quand même vachement important.
 
Donc, hors inclusion de données avec du php, on ne peut pas avoir en même temps une mise à jour des données du menu pour toutes les pages ET un référencement google. C'est sur que ça complique encore un peu le truc.
 
Et il n'y a personnes qui a fait un tutorial sur ce genre de problème ? Si on en trouve en JS en CSS+JS, on doit bien en trouver en CSS/JS/PHP.
 
C'est pas que je ne veux pas m'y mettre sérieusement. Mais, actuellement, j'essaye déjà de me mettre au PHP. Me mettre en plus au JS, c'est un peu lourdingue pour moi. Surtout pour ne faire qu'un menu déroulant (à priori, c'est tout ce que je veux faire avec du JS sur mon site). Ce serait investir beaucoup de temps pour une application très limitée. Alors, si avec un exemple bidouillable, je peux arriver à obtenir un truc, ça me simplifierait les choses.

Reply

Marsh Posté le 30-08-2004 à 08:45:12   

Reply

Marsh Posté le 30-08-2004 à 09:50:35    

glorb a écrit :

Me mettre en plus au JS, c'est un peu lourdingue pour moi. Surtout pour ne faire qu'un menu déroulant (à priori, c'est tout ce que je veux faire avec du JS sur mon site). Ce serait investir beaucoup de temps pour une application très limitée. Alors, si avec un exemple bidouillable, je peux arriver à obtenir un truc, ça me simplifierait les choses.


 
Tu raisonnes mal.
 
On apprend énormémement quand on fait les choses soi-même. Par exemple, moi, je suis en train de me faire une gallerie d'image en XHML 1.1 + CSS + JS + PHP (sans base de données).  
Hors ce type de gallerie existe et est très répandu. Je pourrais sans problème télécharger une gallerie toute faite et la placer sur le serveur.
 
Idem pour toutes sortes de choses et de recherches que j'ai faite récemment ou moins récemment (ceux qui me connaissent peuvent en témoigner).
 
Si tu veux réellement maitriser les choses, il faut toujours tout faire soi-même.
 
Comme tu as l'air assez curieux de nature et assez courageux également, c'est tout à fait à ta portée. Le JS, c'est pas bien compliqué, généralement, il s'agit d'afficher et de masquer des divs dynamiquement en modifiant via JS des propriétés CSS. Une fois qu'on a compris le principe, on peut pratiquement tout faire.
 
Pour commencer, intéresse toi seulement à masquer ou afficher un div via javascript...  ;)  Une fois que tu auras compris ça, tu verras que bcp de choses vont s'éclaircir. Le JS à l'heure actuelle est indissociable des CSS.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed