11550 sujets

JavaScript, DOM et API Web HTML5

Bonjour tout le monde,

Je termine tout doucement un site pour mon boulot.

Quand je vérifie le code source, je m'aperçois que je n'obtiens quasi rien :


<body onload="Changer_page('FR','index.php');" >
<div id="site">
	
</div>
   

</body>
</html>


J'utilise AJAX pour remplir la div "site".

Le retour de PHP est envoyé dans la div "site" avec ce code :

document.getElementById('site').innerHTML = LeRetour;


2 questions :

1) si la balise "site" est vide, je serai moins bien référencé sur google ?
2) si oui, avez-vous une solution tout en gardant ma solution en AJAX ?

J'avais pensé créer une div dont l'ID est site et y ajouter un contenu, peut-être que le code source aurait alors affiché le code ?

Merci d'avance pour votre aide et vos conseils.

beegees
Modérateur
Bonjour,

Quel est l'intérêt au juste d'avoir créé la navigation en AJAX?

Dans l'absolu, les robots d'indexation n'interprètent pas le Javascript. Si tu désactives le Javascript sur ton site, le résultat est ce que les robots d'indexation verront. S'il n'y a aucun contenu de présent, aucun contenu de ton site ne sera référencé.

Il est préférable de créer le site parfaitement fonctionnel sans Javascript, et d'ajouter par la suite la surcouche Javascript, comme la navigation en AJAX. Autrement, tu vas droit dans le mur.

Personnellement, je n'ai jamais compris cet engouement pour la navigation en AJAX pour les sites réguliers... Smiley confus
Bonjour,

Merci pour ta réponse rapide.


a écrit :
Quel est l'intérêt au juste d'avoir créé la navigation en AJAX?


Site plus rapide et plus dynamique, pas de rechargement de page.

a écrit :
Il est préférable de créer le site parfaitement fonctionnel sans Javascript


Si je mets le code de la page dans des balises <noscript></noscript>, est-ce que le robot va se servir de ce code pour référencer le site ?

Merci pour ton aide.

beegees
Modérateur
beegees a écrit :

Site plus rapide et plus dynamique, pas de rechargement de page.


Plus rapide : Un navigateur Web met en cache la majorité des éléments d'une page Web (Feuille de style CSS, Fichiers Javascript, Images). Si le site est bien optimisé, la différence de chargement entre un site en AJAX et un site standard est presque imperceptible.

Plus dynamique : Bof, et si c'est pour mettre des effets de transitions d'une page à l'autre, rebof.

Pas de rechargement de page : Pour un site régulier, je ne vois réellement pas l'intérêt (voir le point 1). Par contre, pour un site comme Facebook ou une application Web, là par contre ça peut être intéressant.

Bref, en comparant les minces avantages versus les inconvénients (pour l'utilisateur, pour le développeur et pour les robots d'indexation), je ne vois réellement pas l'intérêt d'une navigation en AJAX. On dirait la revanche des framesets. Smiley lol

Sinon, pour ton problème, la balise noscript peut aider, mais idéalement, tu devrais rendre le site 100% fonctionnel sans Javascript. C'est-à-dire un bon vieux menu en HTML avec des liens vers les pages Web. Comme un bon vieux site Web. Par la suite, tu ajoutes du Javascript pour modifier le comportement du menu principal (navigation AJAX). J'étais d'ailleurs tombé sur un tutorial là-dessus, mais je n'arrive plus à mettre la main dessus.

Bonne continuation! Smiley smile
Modifié par Tony Monast (27 Jul 2010 - 16:18)
Hello,

En terme de référencement, ton site est inexistant. Ajouter certains contenus très précis du site par AJAX peut avoir ses avantages (information nécessaire en temps réel, delay de certains éléments pour accroitre le sentiment de vitesse), par contre tout afficher en Ajax par défaut est une erreur.

Comme te l'explique Tony, le Javascript (et AJAX) n'est qu'une surcouche, pour faire les choses bien, il faut qu'il se rajoute sur du code HTML existant.
Dans ton cas, tu peux par exemple afficher la homepage en html classique, avec des liens qui amènent vers les pages intérieures, etc. Mais pour les utilisateurs avec JS, tu peux ajouter un event onclick sur les liens pour ne recharger que la partie centrale du site, celle qui change à chaque page.

Ca t'économise certes quelques kb de transfert sur le réseau (tout le <head> entre autres), donc bien fait peut te faire gagner quelques ms.
Par contre ça te force à reprogrammer des tas de choses que le navigateur faisait déjà de lui même comme la gestion des boutons précédent/suivant, la possibilité de bookmarker l'url, l'indication de la progression du chargement, etc.
Bonjour,

Merci pour ta réponse.

Je vais recommencer mon site et dans le future, je n'utiliserai plus AJAX pour créer un menu de navigation.

beegees