JeuWeb - Crée ton jeu par navigateur
[en cours] Architecture basée sur l'AJAX et référencement - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : [en cours] Architecture basée sur l'AJAX et référencement (/showthread.php?tid=4337)



[en cours] Architecture basée sur l'AJAX et référencement - thelos - 07-09-2009

Salut à tous,

Je n'ai jamais été très fan du Js pour des raisons d'accessibilité notamment.
Toutefois, je me suis récemment converti à la vue du pourcentage plus que respectable d'users supportant cette technologie (et la plupart du temps, celle de l'AJAX aussi).

Ainsi, j'en suis venu à l'idée de restructurer mes développements futurs autour de cette technologie.
Concrètement, ce que ça donne :
  • Une page principale (index.php) dans laquelle sont inclus différents fichiers tels que les fonctions générales du site, la classe de debug, le template ou encore des fichiers de langue contenant les différentes chaines du site.
  • Lors du clic sur un des liens présents sur cette page on envoie une requête AJAX au serveur, on charge le contenu de la page et on effectue les actions qui peuvent y être associées (liens de la forme : /user/#edit_profile par exemple)

Rien d'exceptionnel jusqu'à là.

En fait, la question que je vous pose ne concerne pas le faisabilité du projet mais son référencement. En effet, vous savez certainement que les moteurs de recherche n'indexent pas les contenus générés en AJAX mais uniquement le xHTML pur (pour la majorité des cas). Ainsi, seule la page index.php sera référencée et les autres pages perdront leur valeur en terme de référencement.
Connaissez-vous des solutions pour remédier à ce problème ? J'ai déjà lu quelque part qu'elles peuvent se situer au niveau des .htaccess, qu'en est-il ?


Merci d'avance à tous,
Th.


RE: Architecture basée sur l'AJAX et référencement - Sephi-Chan - 07-09-2009

Une solution simple : toutes tes pages doivent existent en version HTML classique.

Quand on cliquera sur un lien : si Javascript est activé, une requête sera lancée (avec comme destination l'URL indiquée dans l'attribut href du lien et tu récupérera le body de ta page distante pour l'injecter dans le body de ta page courante.

Si Javascript est désactivé, tu vas directement sur la page indiquée dans l'attribut href du lien.

Je t'invite à lire la réponse que j'ai donné sur le forum d'Alsacréations à quelqu'un qui souhaitait faire quelque chose du même genre. Il y a des exemples et même des ressources pour t'aider à générer tes ancres.


Sephi-Chan


[Résolu] Architecture basée sur l'AJAX et référencement - thelos - 07-09-2009

Ha c'est super, exactement ce qu'il me fallait, merci Wink


RE: Architecture basée sur l'AJAX et référencement - NicoMSEvent - 08-09-2009

pour moi, je fais d'abord tout en html (entièrement accessible si on désactive tout le javascript), puis je colle dessus les fonctionnalités AJAX. Comme ça je n'oublie pas de traduire certaines parties du site Wink


RE: Architecture basée sur l'AJAX et référencement - Allwise - 08-09-2009

Avec ZF ce qui est cool, c'est qu'on a quasiment pas à se soucier de ça car on peut facilement choisir d'afficher ou non le layout - le template principal du site - en fonction de la nature de la requête, si c'est une AJAX ou non. Suffit de placer un petit header dans la requête et le tour est joué. Du coup si c'est une requête Ajax, seul le contenu de la vue est renvoyé. Si c'est une requête standard, tout est renvoyé, vue + layout.


RE: Architecture basée sur l'AJAX et référencement - Sephi-Chan - 08-09-2009

Encore mieux : Une vidéo vaut mieux qu'un long discours. Je vous conseille d'aller jusqu'au bout. Wink


Sephi-Chan