Nous rendons le référencement accessible

Votre compte formation

Votre compte formation vous permet d'accéder à la liste de vos formations ou pour vous pré-inscrire à de nouvelles

Félicitation,

Accéder au logiciel Optimiz.me

Se connecter au logiciel

Google annonce qu’il est désormais capable de crawler les sites en Ajax. Ah ouais ?

18/11/2015
ajax

Le 14 Octobre, Google a annoncé que les instructions spécifiques aux sites en AJAX (« Making Ajax Applications Crowlable »),  publiées en 2009, étaient désormais obsolètes. Cela signifie-t-il que vous pouvez maintenant compter sur Google pour indexer vos sites Ajax sans coup férir ? Voici l’avis de l’éditorialiste Marc Munroe.

Les concepteurs de sites Web et les ingénieurs aiment l’Ajax pour la construction de « Single Page Applications (SPA) »,  avec des framework populaires comme AngularJS et React JS. Ces technos permettent d’aboutir à une application web lisse, interactive qui réagit plus rapidement, un peu comme un logiciel de bureau.

Sur les site en AJAX, en règle générale, le contenu HTML n’est pas chargé dans le navigateur lors du chargement initial de la page web. Ajax utilise JavaScript pour communiquer de manière dynamique avec le serveur Web pour créer le code HTML « à la volée » en fonction du comportement de l’utilisateur. 

Un des problèmes récurrent avec les sites Ajax est le SEO, en phase d’indexation. En fait, Google est capable de crawler des contenus JavaScript depuis un certain temps. Une récente série de tests a confirmé la capacité de Google à explorer les liens, les métadonnées et le contenu insérés via JavaScript. En revanche,  les sites Web 100% Ajax sont des défis pour le SEO. En 2009, Google a proposé avec une solution pour rendre l’Ajax explorable. Cette méthode était d’abord basée sur la création d’URL  « escaped fragment » ou, plus récemment, des URLs propres incluant un Meta = « fragment » tag sur la page.

Les URL Escaped Fragment obligent Google à sortir du cadre de la page affichée dans le navigateur, pour obtenir un « pré rendu » de la page, issu de l’exécution de l’ensemble des éléments Javascript. Google peut alors parcer le contenu HTML ainsi généré, pour le crawler et l’indexer. 

Depuis que google a annoncé sa capacité à explorer le JavaScript de façon autonome, de nombreux sites ont décidé de laisser le moteur crawler leurs sites en Ajax. Globalement, cela n’a pas été une réussite. En 2015 Mark Munroe a réalisé des tests pour un ensemble de sites Web utilisant en particulier AngularJS. Au final, environ 30% des pages sont bien indexées correctement avec l’ensemble du contenu HTML, et 70% apparaissaient blanches.

Un site de vente de nourriture très connu aux Etats-Unis est récemment passé en full-AngularJS,  croyant que Google pourrait le crawler. Mal leur en a pris : ils ont perdu environ 70% de leur trafic organique et se remettent encore de cette débâcle. Ils ont été obligé de mettre en place le pré-rendu HTML, seule technique réellement efficace du moment. 

Et puis, le 14 octobre 2015, Google a publiquement affirmé : « Nous ne plus recommandons plus l’exploration AJAX selon les instructions que nous avions publiées en 2009 ».
Attention, en langage Google, il faut noter que le moteur  soutien toujours ces instructions. Il y a eu quelques articles annonçant qu’ils ne la soutenaient plus, mais ce n’est pas la réalité : ils ne la recommandent plus, mais elle reste en vigueur quoi qu’il en soit.

Néanmoins, en dévalorisant ainsi l’ancienne recommandation, Google semble indiquer qu’il peut désormais indexer l’Ajax.

Puis, juste une semaine après l’annonce, un client avec un site nouvellement lancé en Ajax m’a demandé de le vérifier. En examinant l’index et le cache de Google, nous avons vu quelques pages partiellement indexées, mais à l’évidence l’ensemble du contenu n’avait pas été crawlé. 

A l’évidence, Google n’est pas encore en capacité d’indexer les éléments javascript. John Mueller (Google Suisse), sur son webmaster Hangout, confirme d’ailleurs le 27 Octobre (moins de deux semaines après l’annonce initiale), que Google a en effet toujours des problèmes avec l’Ajax. Vous pouvez voir l’échange à environ autour de 1:08:00 dans la vidéo, où il y avait une question relative à une mise en œuvre Angular spécifique.

En gros : ils ont encore du mal avec le rendu, et ils espèrent faire mieux au fil du temps. John recommande certaines actions pour aider à débogguer les problèmes. En fin de compte, il a recommandé d’utiliser des instantanés HTML jusqu’à ce que Google indexe mieux l’Ajax (Oui, la méthode qui vient d’être officiellement obsolète).

Alors que faire ?

. Il faut appliquer la théorie de « l’amélioration progressive ». Le rendu côté serveur serait la première étape facilitant le travail du spider. La prochaine mise à jour Angular 2.0 prendra en charge le rendu côté serveur. Reagir quant à lui le permet déjà actuellement. 

Ceci représente, cependant, plus de travail que la simple création d’instantanés HTML. Vous devez vous assurer que vous prévoyez tous les liens nécessaires afin que Google puisse analyser et indexer le contenu supplémentaire qui est chargé dans la page.

Néanmoins, pour les sites utilisant un framework Ajax, ce serait l’approche recommandée par Google.

. Le pré-rendu instantané HTML reste la méthode la plus fiable (n’écoutez donc pas les annonces de Google).  Cependant, l’écriture du code de pré-rendu n’est pas triviale. La bonne nouvelle vient de certains applicatifs comme prerender.io qui feront le travail pour vous à un coût relativement faible. Cela est probablement l’approche la plus simple.

Cette méthode n’est toutefois pas idéale. Générer un code source différent pour les robots et les navigateurs (HTML vs JavaScript) peut être problématique. Cela peut être considéré comme une technique de dissimulation. Il est important de surveiller le cache de Google pour vous assurer que les robots indexent les bonnes pages.

Néanmoins, si vous utilisez une plateforme qui ne supporte pas le rendu côté serveur, alors ce peut être votre seule et unique solution.

 

 

Un projet souvent récompensé

Un projet souvent récompensé
Share
Tweet
Share
+1