GoogleBot suit uniquement les requêtes Ajax simples en POST

Mathieu Chartier SEO 0 commentaire

Google Versus Javascript (indexation, crawl, rendu)

Martin Splitt, développeur chez Google, a effectué des tests pour voir comment GoogleBot prend en compte les requêtes fetch (ou XMLHttpRequest) pour Ajax en POST. Comme on pouvait s'y attendre depuis les progrès annoncés du moteur de recherche, l'Ajax est bel et bien suivi, mais pas dans tous les conditions...

GoogleBot arrive bien à suivre les requêtes Ajax en POST à partir du moment où elles parviennent de liens hypertextes, et pas autrement. Martin Splitt explique clairement que les requêtes POST provenant notamment de formulaires ne sont pas suivies par Google. Il cite l'exemple d'une navigation à facettes (filtres), souvent utilisée dans les sites e-commerce. Dans ce cas, les formulaires des filtres ne pourront pas être utilisés et suivis par GoogleBot en cas de changement avec une requête en POST. Pour être honnête, cela me semble normal puisque les formulaires ne sont jamais "remplis" par GoogleBot, mais Martin Splitt explique bien que tout autre chose qu'un lien hypertexte n'est pas suivi par GoogleBot dans le cadre de requête Ajax en POST (en fetch ou avec XMLHttpRequest).

Autre point non négligeable, les requêtes POST ne sont jamais mises en cache afin d'économiser du crawl budget et de la vitesse sur le serveur. Par conséquent, il est inutile d'effectuer des requêtes POST pour récupérer des modèles ou templates de pages. Pour être plus clair auprès des moins connaisseurs, sachez que de nombreux frameworks Javascript récupèrent dynamiquement les pages web d'un site avec des requêtes GET, afin de les afficher aux utilisateurs. L'avantage est que Google peut suivre ces requêtes GET et surtout les mettre en cache (et donc booster la vitesse de chargement à terme). Il semblerait que ce ne soit pas le cas avec les requêtes POST, et donc que cela n'ait pas d'intérêt particulier pour le rendering de pages web.

Ces tests ne sont pas nouveaux et ne révolutionnent pas le monde du Javascript, mais ils démontrent une nouvelle fois que le moindre écart en Ajax peut entraîner une lecture partielle voire impossible pour GoogleBot. Il convient donc de prendre des pincettes si on se lance dans ces démarches, notamment avec des requêtes en POST (c'est déjà bien mieux en GET, rassurez-vous...)...