pallier de l'injection de contenus en JS (innerhtml) par une div secondaire masquée...
Règles du forum
Attention ce forum est destiné avant tout à ceux qui découvrent le référencement. Les membres qui auront l'amabilité de répondre à leurs questions sont priés de rester courtois, polis, indulgents, patients et pédagogues... Merci d'avance !
Par ailleurs, inutile d'utiliser ce forum uniquement pour obtenir des liens vers vos sites, les liens sont désactivés pour le référencement (nofollow).
Attention ce forum est destiné avant tout à ceux qui découvrent le référencement. Les membres qui auront l'amabilité de répondre à leurs questions sont priés de rester courtois, polis, indulgents, patients et pédagogues... Merci d'avance !
Par ailleurs, inutile d'utiliser ce forum uniquement pour obtenir des liens vers vos sites, les liens sont désactivés pour le référencement (nofollow).
5 messages
• Page 1 sur 1
Consultez la formation au REFERENCEMENT naturel Google de WebRankInfo / Ranking Metrics
- CW76
- Nouveau WRInaute

- Messages: 13
- Inscription: 16 Jan 2011
pallier de l'injection de contenus en JS (innerhtml) par une div secondaire masquée...
Bonjour à tous !
Le sujet qui m'amène va sûrement faire bondir plus d'un puriste, mais en gros voilà la situation :
J'ai été dans l'obligation de mettre beaucoup de Javascript dans la page d'accueil du site, car le client souhaite une navigation fluide, avec scrolling en douceur du menu vers le contenu choisi, sans rechargement total de la page pour assurer un effet de fluidité et sans rupture (je n'ai pas utilisé de iframe).
Du coup, au clic sur un lien, une fonction JS est appelée pour injecter le contenu (avec innerhtml) qui va bien dans la div qui va bien : du genre insereContenu('page1.php',div_contenu'). Et par la même technique je modifie également à la volée certains habillages css de la page, car chaque rubrique de menu à son propre univers graphique et ses propres codes de couleurs.
Donc en fait, j'ai bien autant de pages que de liens/catégories de menu (ces fichiers php pouvant avoir des paramètres GET), sauf que ces fichiers php sont composés uniquement du contenu de la div_contenu, et ils ne sont pas affichés directement (on ne lit pas leur url dans la barre d'adresse) mais insérés à la volée sur clic d'un lien.
C'est vrai que le résultat produit est bluffant (pas d'impression de rechargement de page, et en plus l'inclusion de contenu vraiment instantanée), sauf que le pb va se poser au niveau du référencement :
- en gros, il n'y a que la page index.php qui soit visible, tout au long de la navigation dans le site (c'est d'ailleurs la seule page toujours visible dans la barre d'adresse)
- le seul contenu référençable est l'édito de la page d'accueil, càd le contenu du fichier accueil.php injecté dans la div_contenu lors du chargement de la page index.php
- et en effet, quand on clique sur un lien de menu et que le contenu adéquat est injecté à la volée, ce contenu n'apparaît pas lorsqu'on affiche le code-source de la page dans le navigateur, et seul le contenu "édito accueil" chargé par défaut lors du chargement de la page d'accueil reste présent dans le code-source.
J'ai donc bien pensé, pour que le contenu de tout le site puisse être indexé, à insérer une div avec pour propriété css {display:none;}, qui recevrait le contenu d'une page "global.php" et qui serait lui aussi chargé/injecté dès le chargement de la page d'accueil du site. Cette page global.php serait un condensé pertinent, hiérarchisé et constamment à jour (puisque les contenus sont stockés dans une BDD Mysql) de toutes les catégories/menu du site, et aurait donc un contenu changeant et riche.
Sauf que ce genre de dissimulation de div pourrait blacklister le site, ou du moins avoir l'effet opposé à celui recherché en matière d'indexation.
Alors que pensez-vous de cette solution ? Après tout, ce n'est pas une div toute bête et figée avec une tripotée de mots-clés, c'est plutôt une div à contenu actualisé et dont les termes reflètent bien le contenu et la vocation du site, et en rapport avec les intitulés des menus hierarchisés (ul/li). Le pb, c'est où s'arrête l'optimisation et où commence le spamdexing selon les robots???
Merci beaucoup par avance pour vos retours d'expérience
@+
Le sujet qui m'amène va sûrement faire bondir plus d'un puriste, mais en gros voilà la situation :
J'ai été dans l'obligation de mettre beaucoup de Javascript dans la page d'accueil du site, car le client souhaite une navigation fluide, avec scrolling en douceur du menu vers le contenu choisi, sans rechargement total de la page pour assurer un effet de fluidité et sans rupture (je n'ai pas utilisé de iframe).
Du coup, au clic sur un lien, une fonction JS est appelée pour injecter le contenu (avec innerhtml) qui va bien dans la div qui va bien : du genre insereContenu('page1.php',div_contenu'). Et par la même technique je modifie également à la volée certains habillages css de la page, car chaque rubrique de menu à son propre univers graphique et ses propres codes de couleurs.
Donc en fait, j'ai bien autant de pages que de liens/catégories de menu (ces fichiers php pouvant avoir des paramètres GET), sauf que ces fichiers php sont composés uniquement du contenu de la div_contenu, et ils ne sont pas affichés directement (on ne lit pas leur url dans la barre d'adresse) mais insérés à la volée sur clic d'un lien.
C'est vrai que le résultat produit est bluffant (pas d'impression de rechargement de page, et en plus l'inclusion de contenu vraiment instantanée), sauf que le pb va se poser au niveau du référencement :
- en gros, il n'y a que la page index.php qui soit visible, tout au long de la navigation dans le site (c'est d'ailleurs la seule page toujours visible dans la barre d'adresse)
- le seul contenu référençable est l'édito de la page d'accueil, càd le contenu du fichier accueil.php injecté dans la div_contenu lors du chargement de la page index.php
- et en effet, quand on clique sur un lien de menu et que le contenu adéquat est injecté à la volée, ce contenu n'apparaît pas lorsqu'on affiche le code-source de la page dans le navigateur, et seul le contenu "édito accueil" chargé par défaut lors du chargement de la page d'accueil reste présent dans le code-source.
J'ai donc bien pensé, pour que le contenu de tout le site puisse être indexé, à insérer une div avec pour propriété css {display:none;}, qui recevrait le contenu d'une page "global.php" et qui serait lui aussi chargé/injecté dès le chargement de la page d'accueil du site. Cette page global.php serait un condensé pertinent, hiérarchisé et constamment à jour (puisque les contenus sont stockés dans une BDD Mysql) de toutes les catégories/menu du site, et aurait donc un contenu changeant et riche.
Sauf que ce genre de dissimulation de div pourrait blacklister le site, ou du moins avoir l'effet opposé à celui recherché en matière d'indexation.
Alors que pensez-vous de cette solution ? Après tout, ce n'est pas une div toute bête et figée avec une tripotée de mots-clés, c'est plutôt une div à contenu actualisé et dont les termes reflètent bien le contenu et la vocation du site, et en rapport avec les intitulés des menus hierarchisés (ul/li). Le pb, c'est où s'arrête l'optimisation et où commence le spamdexing selon les robots???
Merci beaucoup par avance pour vos retours d'expérience
@+
-

spout - WRInaute accro

- Messages: 4382
- Inscription: 14 Mai 2003
Re: pallier de l'injection de contenus en JS (innerhtml) par une div secondaire masquée...
J'ai pas trop compris, mais ta solution me semble bien compliquée.
Si tu veux faire un site AJAX indexable, il y a une technique simple:
http://forum.webrankinfo.com/vos-conseils-avis-sur-mon-site-utilisant- ... l#p1123481
Si tu veux faire un site AJAX indexable, il y a une technique simple:
http://forum.webrankinfo.com/vos-conseils-avis-sur-mon-site-utilisant- ... l#p1123481
-

zeb - WRInaute accro

- Messages: 4560
- Inscription: 5 Déc 2004
Re: pallier de l'injection de contenus en JS (innerhtml) par une div secondaire masquée...
CW76 a écrit:J'ai donc bien pensé, pour que le contenu de tout le site puisse être indexé, à insérer une div avec pour propriété css {display:none;}, qui recevrait le contenu d'une page "global.php" et qui serait lui aussi chargé/injecté dès le chargement de la page d'accueil du site.
Oulala bien compliqué ... donc mauvaise idée.
spout te parle de deux version de tes contenus (en fonction de qui le demande toi via ajax ou qqun d'autre) c'est le concept le plus simple et le plus sur.
Perso j'ajouterai qu'une réécriture d'url qui renvoie tout sur ton script d'accueil avec un paramètre qui défini le contenu demandé permettrait de servir d'entré le contenu demandé et de profiter de la fonctionnalité de fluidité mise en oeuvre via javascript / ajax tout en offrant une vue différente par page donc en permettant de tout indexer.
- CW76
- Nouveau WRInaute

- Messages: 13
- Inscription: 16 Jan 2011
Re: pallier de l'injection de contenus en JS (innerhtml) par une div secondaire masquée...
Merci Zeb et Spout pour vos pistes !
Je me suis documenté sur cette technique AJAX, mais celà reste assez obscur pour moi, et ça me prendrait trop de temps à maîtriser le sujet. Mais c'est super intéressant, et je garde ce concept dans un coin de ma petite tête pour l'approfondir plus tard, à mes heures perdues...
J'abandonne quand même l'idée de cette div cachée, et je vais plutôt m'orienter vers un "clonage" de mes fragments de fichiers en pages complètes et accessibles avec entête, habillage etc., lesquelles seront soumises dans le sitemap du site.
Ces pages étant dynamiques, je n'ai plus à m'occuper ni des fragments ni des pages complètes une fois qu'elles sont faites. Le seul pb sera en cas de modification de la structure du site, auquel cas il faudra penser à modifier à la fois le fichier-fragment et son clone.
Que pensez-vous de cette alternative au niveau du référencement ?
merci @+
Je me suis documenté sur cette technique AJAX, mais celà reste assez obscur pour moi, et ça me prendrait trop de temps à maîtriser le sujet. Mais c'est super intéressant, et je garde ce concept dans un coin de ma petite tête pour l'approfondir plus tard, à mes heures perdues...
J'abandonne quand même l'idée de cette div cachée, et je vais plutôt m'orienter vers un "clonage" de mes fragments de fichiers en pages complètes et accessibles avec entête, habillage etc., lesquelles seront soumises dans le sitemap du site.
Ces pages étant dynamiques, je n'ai plus à m'occuper ni des fragments ni des pages complètes une fois qu'elles sont faites. Le seul pb sera en cas de modification de la structure du site, auquel cas il faudra penser à modifier à la fois le fichier-fragment et son clone.
Que pensez-vous de cette alternative au niveau du référencement ?
merci @+
-

spout - WRInaute accro

- Messages: 4382
- Inscription: 14 Mai 2003
Re: pallier de l'injection de contenus en JS (innerhtml) par une div secondaire masquée...
C'est pourtant plus simple que de bidouiller comme tu veux faire avec 2 version différentes des contenus, j'ai fait une démo:
http://goo.gl/V0zdq
A essayer avec et sans JS activé.
Tout le code source est disponible ici (*.phps): http://goo.gl/O905q
Il y a moyen de changer l'URL avec un #hash dans l'URL avec jQuery BBQ: http://benalman.com/projects/jquery-bbq-plugin/
Afin que l'historique du navigateur fonctionne toujours et que les URL soient bookmarkables.
http://goo.gl/V0zdq
A essayer avec et sans JS activé.
Tout le code source est disponible ici (*.phps): http://goo.gl/O905q
Il y a moyen de changer l'URL avec un #hash dans l'URL avec jQuery BBQ: http://benalman.com/projects/jquery-bbq-plugin/
Afin que l'historique du navigateur fonctionne toujours et que les URL soient bookmarkables.
5 messages
• Page 1 sur 1
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 :
- Redirection non masquée
- redirection masquee
- Balises H1 masquée en CSS
- url masquée sur pop-up
- xmlHttp.responseText et innerHTML
- rafraichissement sur un innerHTML
- URL pas toujours masquée
- Problème Javascript IE/Firefox : InnerHTML
- [RESOLU] innerHTML valide XHTML 1.1
- Exécution de script lors de la ré-écriture innerHTML
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité
