"Techniques de référencement web" : les bonnes feuilles La technique viable de l'HTML 5

Aucune technique n'est parfaite pour résoudre les problèmes posés par l'Ajax, c'est pourquoi le meilleur conseil est de l'utiliser avec parcimonie et prudence, notamment si votre site est encore intégré avec d'anciennes versions des langages HTML et xHTML.

Mettre en place l'historique de navigation en Ajax

HTML 5 s'est développé en parallèle des progrès réalisés avec l'Ajax, et il n'est donc pas anodin de voir certaines fonctionnalités implémentées par défaut, notamment l'objet pushState qui pourrait sauver bien des référenceurs frustrés par des contenus générés en Ajax. En effet, HTML 5 a introduit une nouvelle fonction visant à générer un historique de navigation fonctionnel avec l'Ajax, ce qui permet par exemple d'utiliser les boutons Précédent et Suivant sans revenir sur la page précédente mais bien à l'état précédent de la page...

La fonction complète s'écrit sous la forme :

history.pushState(data, title, URL);

Malheureusement, HTML 5 n'est pas encore bien implanté dans les navigateurs

Globalement, cela signifie que les données (data) sont reliées à une URL et un titre donnés (title), ce qui permet de notifier toutes les informations dans un historique qui peut être parcouru par les usagers et les robots. En effet, les URL sont changées "en dur" dans le navigateur donc elles deviennent lisibles pour tous les robots, ce qui est bien plus performant et simple à mettre en place que la technique du headless browser. De nombreuses ressources sont disponibles sur la Toile pour mettre en place l'historique de navigation en Ajax, notamment les articles publiés sur les sites moz.com (source) et hypnotic.pt (source).

Créer des sites en Ajax optimisés en SEO 

Malheureusement, HTML 5 n'étant pas encore bien implanté dans les navigateurs, la fonction history.pushState() ne fonctionne pas idéalement sur tous les navigateurs classiques et mobiles. Il convient de passer par des polyfills (petits scripts visant à rendre compatible des fonctionnalités avec d'anciens navigateurs) pour contrecarrer le problème. Voici une courte liste de ces programmes qui permet de rendre compatible la fonctionnalité et donc de créer des sites en Ajax optimisés en SEO :

 history.js : voir la page dédiée sur GitHub

 jquery-pjax : voir la page dédiée sur GitHub

 HTML 5-History-API : voir la page dédiée sur GitHub


Certains développeurs utilisent plutôt la technique proposée par jQuery Mobile avec la navigation Ajax qui fonctionne mieux avec la fonction $.mobile.navigate de la bibliothèque. Vous pourrez trouver davantage d'informations à ce sujet en consultant cette page

Si nous faisons le point, l'Ajax est un langage vraiment intéressant mais qui pose encore de nombreux problèmes d'intégration dans certains cas. Il est possible d'utiliser à bon escient les fichiers Sitemap XML et autres techniques pour forcer l'indexation des pages bien que l'entièreté des contenus risque fortement de ne pas être lue. En définitive, la meilleure technique consiste à opter pour HTML 5 et un polyfill associé pour contrecarrer le problème.