Passer en Ajax pour des liens, possible ?

OlivierShop

WRInaute discret
Bonjour à tous,

Aujourd'hui mon site en DEV (en local) fonctionne bien et j'ai travaillé les URLs.
J'ai un liste ainsi de X lien : www.monsite.com/pays/ville/article/produit
et lorsque je clique sur un lien j'ai son détail, et donc ça recharge la page entièrement pour l'afficher.

Maintenant cette même liste je l'ai passé en Ajax que pour l'affichage du détail se fasse instantanément sans recharge de la page, mais fatalement mon URL ne change pas (www.monsite.com/ma-liste.htm) et donc plus de lien avec des mots clés pour que les moteurs les captent.

Ma question est de savoir si le fait de passer en Ajax avec une URL de ce type les moteurs vont tout de même capter les mots clés ? Meme si cette URL visuellement n'est pas détaillée dans le navigateur :?:

Merci pour vos lumières :)
 

OlivierShop

WRInaute discret
hum hum, merci.

Donc pour être clair, vaut mieux de suite :) , les URLs sont lu par Google avec les mots clés en question sans pb ça c'est dit, maintenant si mon URL en encapsulée dans une fonction Ajax, Google pourra comprendre sans pb de la meme manière ou bien il ne va pas pouvoir analyser cette encapsulation et donc ne pas pouvoir prendre les mots clés ?

Exemple avec une URL : www.monsite.com/pays/ville/article/produit
Exemple avec la meme URL mais encapsulé : <a href="javascript:loadAjax('mapage.php?ref=00032', 'param1');">Mon élément</a>

Au passage, Google lit dans quel sens les URLs ? de gauche à droite ou l'inverse, pour placer de façon pertinente les mots.

Merci encore
 

jcaron

WRInaute accro
Sauf cas particuliers extrêmement simples, Google ne comprend pas le Javascript, donc si tu n'as que ça, il ne voit pas les liens en question.

C'est pour ça que spout te disait de faire des liens avec un href qui contient un lien "classique" et un onclick qui déclenche le JS. Le visiteur utilise le JS, Google utilise le href.

Il est aussi conseillé d'utiliser les #fragments pour que les utilisateurs puissent bookmarquer les pages correctement (modifier le location.href pour y ajouter un #fragment qui identifie la page chargée, et au chargement initial de la page, voir s'il y a un #fragment, et si c'est le cas charger la page correspondante).

Tout ceci étant dit, moi je reste dubitatif par rapport à tout ça, je ne vois pas très bien en quoi c'est plus "instantané" comme ça qu'avec un chargement de page...

Jacques.
 

OlivierShop

WRInaute discret
Merci pour vos réponses, je vais voir ça de près.

Jacques, je te donne mon exemple plus concrètement :
J'ai ma page avec une liste devant moi de 10 liens (des produits X), et sous cette liste j'ai un encart qui détail un produit X, le lien sur lequel je vais cliquer.
Si je passe en Ajax, ma fiche détail s'affiche sans charger toute ma page (l'intéret de l'Ajax donc), que ma zone Fiche Détail.
Si j'ai un lien classique, ma fiche va apparaitre mais ça recharge toute ma page car c'est un lien classique, un appel de page entière donc.
Et en terme de rapidité y a pas photo, c'est au clic niveau rapidité, pas besoin de recharger toute la page, que ma zone précis.
 

Leonick

WRInaute accro
si ton site a un code qui externalise bien (les css, js, etc...), qu'il n'emploie pas trop de js, le rechargement d'une nouvelle page ne prendra pas vraiment plus de temps que de charger en ajax les infos nouvelles (texte et photos, ...)
 

jcaron

WRInaute accro
Ben à quelques Ko transférés et un peu de CPU de part et d'autre près, c'est quand même la même chose (une requête http)... Et ça reste généralement moins agréable pour l'utilisateur si tu ne fais pas les efforts qui vont avec: les back et forward ne fonctionnent plus ou ne te ramènent pas au bon endroit, tu ne peux pas bookmarker, etc. Et si jamais la réponse à la requête n'est pas si instantané que ça et que tu n'as pas prévu un feedback visuel, tu ne sais pas vraiment ce qui se passe, si tu tu as bien cliqué ou pas, etc. Je ne te parle même pas des gens avec des handicaps visuels dont les "lecteurs de page" vont avoir un mal fou à comprendre ce qui se passe.

Tu peux regarder du côté de http://www.phatfusion.net/pageloader/ ça résoudra une partie de ces problèmes, mais pas tous.

En fait, tout ça, c'est quand même le retour déguisé des frames...

Jacques.
 

OlivierShop

WRInaute discret
Pour le suivi !

Bien que l'ajax fonctionne plutôt bien (rapidité d'affichage etc.), aujourd'hui il me parait un peu "dur" d'être optimum en référencement avec cette techno, je vais rester "classique" pour le coup.
Mais dès que les moteurs pourront être aussi performant avec du contenu en Ajax, j'y passerais car tout est fait :)

Merci à vous pour vos réponses
 

spout

WRInaute accro
Je ne vois pas en quoi c'est dur de faire un site optimisé SEO avec de l'AJAX partout.
Une ptite fonction magique en PHP:
Code:
function isAjax ()
{
	if (
		isset($_SERVER['HTTP_X_REQUESTED_WITH']) 
		&& $_SERVER['HTTP_X_REQUESTED_WITH'] == "XMLHttpRequest") 
		return true;
	return false;
}
Source: http://snipplr.com/view/16624/

Mettre un listener en JS sur les liens qui appellera la page AJAX.
Si request AJAX => layout/template AJAX (un layout tout simple, sans les menus du site, qui affiche juste le contenu)
Sinon => layout HTML (le layout complet du site)
 

elas

WRInaute impliqué
oui, c'est exactement cela qu'il faut faire. Si on a un site en full ajax pour une raison x ou y, alors il faut faire une version 'non truquée' pour les utilisateurs qui refusent javascript. Pareil que pour flash... et tout ce qui se lit mal avec lynx ou internet eplorer 0.9 ou le notepad
@stirfryfrog
 

Discussions similaires

Haut