Si la conception d’applications utilisant la technologie AJAX ( Asynchronous JavaScript and XML ) est en vogue, c’est avant tout pour l’amélioration de l’ergonomie de l’application. Une navigation plus agréable et plus rapide pour l’internaute est la clé du Web 2.0. En AJAX, le serveur est interrogé sur un requête précise, et cela ne nécessite pas le rechargement globale de la page. Le but de cet article n’est pas d’expliquer en détail le fonctionnement d’AJAX, mais plus de définir la problèmatique d’Ajax sur le référencement…
Une des règles du référencement veut que ce que l’internaute voit en cliquant sur un lien, le robot doit voir la même chose. En PHP brute, l’idée est de détecter si nous avons à faire à une requête AJAX ou non.
if (array_key_exists('HTTP_X_REQUESTED_WITH', $_SERVER) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH'])=='xmlhttprequest'){ // On affiche juste ce dont nous avons besoin }else { // Nous devons afficher l'application dans son ensemble }
Pour les adeptes de la conception Web sous Symfony, il est possible de traiter cette problématique de façon simple sur Symfony 2. Il vous suffit de faire suivre l’objet « Request » à votre template Twig et de choisir le template « Maître » en fonction.
{% extends request.isXmlHttpRequest ? '::ajax.html.twig' : '::base.html.twig' %}ajax.html.twig étant un template minimaliste, et base.html.twig un template complet avec header et footer en bonne et due forme.
Pour conclure, Ajax et SEO peuvent très bien cohabiter ensemble, il suffit juste d’y penser durant la conception de votre application.
Vous pouvez suivre tout les commentaires avec le flux RSS 2.0 Vous pouvez laisser un commentaire, ou trackback.
