Conséquences de l'emploi de <div display:none >...
17 messages
• Page 1 sur 2 • 1, 2
Consultez la formation au REFERENCEMENT naturel Google de WebRankInfo / Ranking Metrics
- seabird
- WRInaute occasionnel

- Messages: 308
- Inscription: 1 Déc 2003
Conséquences de l'emploi de <div display:none >...
Bonjour,
Pour rendre plus lisible le site. J'ai utilisé le <div display:none >...
En fait j'ai une liste de liens comme par exemple :
lien1
lien2
lien3
...
A chaque passage de la sourie sur le lien cela m'affiche le bloc avec les caractéristiques de ce lien ( description, commentaire, photo ...)
J'ai utilisé ce script:
Puis ensuite ces lignes:
Mais à la vue de ce que je peux lire. Google peut nous pénaliser pour ce div display none.
Quand est -il exactement ?
Merci
Pour rendre plus lisible le site. J'ai utilisé le <div display:none >...
En fait j'ai une liste de liens comme par exemple :
lien1
lien2
lien3
...
A chaque passage de la sourie sur le lien cela m'affiche le bloc avec les caractéristiques de ce lien ( description, commentaire, photo ...)
J'ai utilisé ce script:
- Code: Tout sélectionner
<script>
function visibilite(thingId)
{
var i;
var targetElement;
for(i=1; i<=3i++){
targetElement = document.getElementById("divid" + i) ;
targetElement.style.display = "none" ;
}
targetElement = document.getElementById("divid" + thingId) ;
targetElement.style.display = "" ;
}
</script>
Puis ensuite ces lignes:
- Code: Tout sélectionner
<a href="site1" onMouseOver="javascript:visibilite('1');" target="_blank">lien1</a><br>
<a href="site2" onMouseOver="javascript:visibilite('2');" target="_blank">lien2</a><br>
<a href="site3" onMouseOver="javascript:visibilite('3');" target="_blank">lien3</a><br>
<div id="divid1" style="display:none;">**** CONTENU LIEN1 *****</div>
<div id="divid2" style="display:none;">**** CONTENU LIEN2 *****</div>
<div id="divid3" style="display:none;">**** CONTENU LIEN3 *****</div>
Mais à la vue de ce que je peux lire. Google peut nous pénaliser pour ce div display none.
Quand est -il exactement ?
Merci
-

SuperCureuil - WRInaute impliqué

- Messages: 673
- Inscription: 9 Mar 2007
Salut,
Google ne va pas te "pénaliser", simplement il va peut-être passer à côté de la partie concernée puisqu'il ne lit pas complètement le JS. Cela sera donc dommageable pour tes pages mais en aucun cas il n'y aura de pénalité.
Le mieux à faire, c'est d'employer les balises <noscript></noscript> qui sont faites pour ça ...
@+
Google ne va pas te "pénaliser", simplement il va peut-être passer à côté de la partie concernée puisqu'il ne lit pas complètement le JS. Cela sera donc dommageable pour tes pages mais en aucun cas il n'y aura de pénalité.
Le mieux à faire, c'est d'employer les balises <noscript></noscript> qui sont faites pour ça ...
@+
-

French Dread - WRInaute passionné

- Messages: 2047
- Inscription: 7 Mai 2003
Non Google ne passera pas à coté du contenu, car le contenu de l'infobulle est techniquement accessible : javascript ne fait que modifier la propriété CSS à la volée.
Cela dit c'est moyennement accessible : mieux vaudrait mettre tes div en visible par défaut, et gérer le non-affichage par javascript, ce qui permet de présenter le contenu aux utilisateurs ayant javascript desactivé.
Cela dit c'est moyennement accessible : mieux vaudrait mettre tes div en visible par défaut, et gérer le non-affichage par javascript, ce qui permet de présenter le contenu aux utilisateurs ayant javascript desactivé.
-

rudddy - WRInaute accro

- Messages: 2570
- Inscription: 1 Aoû 2007
moi je ne penses pas que GG va té penaliser : ton but n'étant pas de cacher du contenu pour faire de l'optimisation, mais plutôt de proposer à GG un véritable contenu (puisque ce sont des menus déroulants) susceptibles d'intéresser l'utilisateur
- tonguide
- WRInaute passionné

- Messages: 1406
- Inscription: 28 Nov 2003
J'avais posé la même question sur un topic (que je n'avais pas créé, donc je serais pas le retrouver) puisque j'utilise la même chose sur un de mes sites. L'une des personnes qui avaient répondu avait fait le test avant après avant (il avait remis son code du début), et à chaque fois qu'il retirait le display:none, il remontait de 2 places dans le classement sur ces mots clés.
Sinon je pense que la méthode de French Dread doit être plutôt bonne. C'est à dire tout en display:block (ou autre selon les cas) et via un window.onload mettre en display:none ensuite, ce qui devrait peut-être gêner moins Google. A tester ...
Sinon je pense que la méthode de French Dread doit être plutôt bonne. C'est à dire tout en display:block (ou autre selon les cas) et via un window.onload mettre en display:none ensuite, ce qui devrait peut-être gêner moins Google. A tester ...
-

SuperCureuil - WRInaute impliqué

- Messages: 673
- Inscription: 9 Mar 2007
Cela dit c'est moyennement accessible : mieux vaudrait mettre tes div en visible par défaut, et gérer le non-affichage par javascript, ce qui permet de présenter le contenu aux utilisateurs ayant javascript desactivé.
Bonne idée, moins prise de tête et finalement plus juste par rapport à l'effet du script ...
Merci pour le tuyau
- seabird
- WRInaute occasionnel

- Messages: 308
- Inscription: 1 Déc 2003
French Dread a écrit:Non Google ne passera pas à coté du contenu, car le contenu de l'infobulle est techniquement accessible : javascript ne fait que modifier la propriété CSS à la volée.
Cela dit c'est moyennement accessible : mieux vaudrait mettre tes div en visible par défaut, et gérer le non-affichage par javascript, ce qui permet de présenter le contenu aux utilisateurs ayant javascript desactivé.
Oui effectivement cela me parait plus judicieux de faire comme ça.
Voila donc ce que j'ai fais:
- Code: Tout sélectionner
<script>
function visibilite(thingId)
{
var i;
var targetElement;
for(i=1; i<=3;i++){
targetElement = document.getElementById("divid" + i) ;
targetElement.style.display = "none" ;
}
targetElement = document.getElementById("divid" + thingId) ;
targetElement.style.display = "" ;
}
</script>
<script>
function cacher()
var i;
var targetElement;
for(i=1; i<=3;i++){
targetElement = document.getElementById("divid" + i) ;
targetElement.style.display = "none" ;
}
</script>
puis
- Code: Tout sélectionner
<body onload="cacher()">
<a href="#" onMouseOver="javascript:visibilite('1');" target="_blank">lien1</a><br>
<a href="#" onMouseOver="javascript:visibilite('2');" target="_blank">lien2</a><br>
<a href="#" onMouseOver="javascript:visibilite('3');" target="_blank">lien3</a><br>
<div id="cacher">
<div id="divid1" ><table border=1><tr><td bgcolor=#FFFFFF width=200 height=200>**** CONTENU LIEN1 *****</td></tr></table></div>
<div id="divid2" ><table border=1><tr><td bgcolor=#FF0000 width=200 height=200>**** CONTENU LIEN2 *****</td></tr></table></div>
<div id="divid3" ><table border=1><tr><td bgcolor=#00FF00 width=200 height=200>**** CONTENU LIEN3 *****</td></tr></table></div>
</div>
</body>
Apparemment ça fonctionne correctement. Je pense néanmoins que je n'ai pas optimisé la façon de faire.
- tonguide
- WRInaute passionné

- Messages: 1406
- Inscription: 28 Nov 2003
Si je peux me permettre d'optimiser un peu ton code.
évite le "onload" dans le <body>
Fait plutôt comme ça :
après la définition de ta fonction
tu fais
Si il y a un traket blank, si tu clics, même si c'est pas le but, tu vas ouvrir une nouvelle fenêtre avec la même page, ce qui est un peu inutile. Donc retire au moins le target blank. Sinon j'ai tendance à mettre "javascript:void(0)" à la place de "#" pour ne pas remonter (t'façon, le JS est forcement activé si on veut que ça marche donc bon ...)
et
fait plutôt <div id="divid1" class="machin">CONTENU</div>
pour la taille fixe de 200*200, tu le mets dans div.machin {} et pour la couleur, dans #divid1
évite le "onload" dans le <body>
Fait plutôt comme ça :
- Code: Tout sélectionner
window.onload = cacher;
après la définition de ta fonction
tu fais
- Code: Tout sélectionner
<a href="#" onMouseOver="javascript:visibilite('1');" target="_blank">lien1</a><br>
Si il y a un traket blank, si tu clics, même si c'est pas le but, tu vas ouvrir une nouvelle fenêtre avec la même page, ce qui est un peu inutile. Donc retire au moins le target blank. Sinon j'ai tendance à mettre "javascript:void(0)" à la place de "#" pour ne pas remonter (t'façon, le JS est forcement activé si on veut que ça marche donc bon ...)
et
- Code: Tout sélectionner
<div id="divid1" ><table border=1><tr><td bgcolor=#FFFFFF width=200 height=200>**** CONTENU LIEN1 *****</td></tr></table></div>
fait plutôt <div id="divid1" class="machin">CONTENU</div>
pour la taille fixe de 200*200, tu le mets dans div.machin {} et pour la couleur, dans #divid1
- seabird
- WRInaute occasionnel

- Messages: 308
- Inscription: 1 Déc 2003
tonguide a écrit:
- Code: Tout sélectionner
<a href="#" onMouseOver="javascript:visibilite('1');" target="_blank">lien1</a><br>
Si il y a un traket blank, si tu clics, même si c'est pas le but, tu vas ouvrir une nouvelle fenêtre avec la même page, ce qui est un peu inutile. Donc retire au moins le target blank. [code]
En fait dans le vrai code j'ai l'adresse du site externe à la place du #, d'ou le target blank. Dans le div ,il y a seulement, la description, une image, un avis ....
Merci pour la suggestion du window.onload. C'est corrigé en ce sens.
- seabird
- WRInaute occasionnel

- Messages: 308
- Inscription: 1 Déc 2003
Je voudrais éventuellement rajouter une petite option
.
Car ici à part au démarrage . Il y a toujours au moins une div de visible.
Je voudrais en fait masquer eventuellement la div visible, en cliquant par exemple sur un lien fermer situé dans le div et donc que toutes les div soient à nouveau invisibles.
Vous avez une idée de comment procéder ?
Car ici à part au démarrage . Il y a toujours au moins une div de visible.
Je voudrais en fait masquer eventuellement la div visible, en cliquant par exemple sur un lien fermer situé dans le div et donc que toutes les div soient à nouveau invisibles.
Vous avez une idée de comment procéder ?
- seabird
- WRInaute occasionnel

- Messages: 308
- Inscription: 1 Déc 2003
a autand pour moi , il suffit que je rajoute

- Code: Tout sélectionner
<a href="#" onclick="javascript:cacher();" >fermer</a>
17 messages
• Page 1 sur 2 • 1, 2
Formation recommandée sur ce thème :
Formation REFERENCEMENT naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.
Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.
Lectures recommandées sur ce thème :
- Suggestions de requêtes dans Google News - 29-04-2006
- Des remontées de Yahoo News dans les résultats web - 30-07-2008
- Google Labs lance Google Alternate Views - 09-10-2007
- Google Desktop pour Mac OS X - 05-04-2007
- Deux nouveaux blogs officiels : Google Talk et Google Base - 01-12-2005
- Le blog officiel de Google SketchUp - 24-07-2007
- Easter Egg dans Google Chrome (fonctions cachées) - 06-09-2008
- Offre d'emploi Référenceur CDI dans le Rhône - Juin 2010 - 08-06-2010
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité
