publié le 13 sept. 2021
Spider Trap

Définition SEO de Spider Trap

Un spider trap (ou piège à robots en français) est un phénomène de boucle infinie lié au maillage interne d'un site web. Il trompe les robots des moteurs de recherche et les empêche d'explorer les pages du site en profondeur. Généralement non volontaire, la création d'un web spider trap peut aussi être intentionnelle dans le but de piéger certains outils d'exploration malicieux.

Définition de Spider Trap

Pour crawler un site internet et indexer son contenu, les robots d'exploration tels que ceux de Google suivent les liens internes qui s'y trouvent. Cette opération d'exploration a normalement un début et une fin. Mais il peut arriver qu'en raison d'un dysfonctionnement au niveau du maillage interne du site, les robots chargés du crawl se retrouvent coincés dans une boucle infinie de liens : ce phénomène est appelé spider trap ! Dans une telle situation, les crawlers ne peuvent plus explorer le site correctement et indexer son contenu.

Un piège à robots peut même occasionner le plantage (arrêt de fonctionnement) d'un spider lorsque celui-ci n'est pas très évolué. Parfois, les webmasters mettent en place des spiders trap intentionnellement pour piéger les robots de spam (spam bots) qui ignorent les directives fournies dans le fichier robots.txt. Dans ces cas précis, le phénomène n'affecte pas les crawlers des principaux moteurs de recherche : Googlebot, Bingbot.

Spider Trap : d'où cela provient ?

Un spider trap peut avoir plusieurs origines :

  • Création d'URL avec des structures de répertoire en double
  • Navigation à facettes créant différentes combinaisons
  • Mauvais paramétrage du calendrier
  • Identification des sessions différentes à chaque exploration

Création d'URL avec des structures de répertoire en boucle

Il n'est pas rare qu'une URL soit mal configurée sur un site. Cependant, lorsque cette mauvaise configuration génère un ajout de répertoire en boucle, chaque fois qu'un user-agent (robot d'un moteur de recherche) essaie d'accéder au lien du contenu, cela se transforme en spider trap.

Exemple : http://example.com/bar/for/bar/for/bar/for/.

Navigation à facettes créant différentes combinaisons

La navigation à facettes que proposent les sites de e-commerce permet aux internautes d'appliquer différents filtres à la liste des produits affichés pour trouver rapidement ce qu'ils recherchent. Dans une telle structure, chaque filtre ou combinaison de filtres génère une URL. On obtient donc plusieurs milliers d'URL liées qui mènent vers une seule et même page produit. Si la navigation à facette est mal configurée et que les URL ainsi créées sont accessibles au crawl (donc en HTML), cela se transforme en piège pour les robots d'exploration. Ces derniers s'engouffreront dans la boucle en considérant chaque lien comme étant celui d'une nouvelle page avec un contenu neuf.

Un mauvais paramétrage du calendrier

Certains sites web ont un calendrier sur leurs pages, avec des liens de type « jour suivant » et « jour précédent ». Une telle fonctionnalité peut se transformer en spider trap lorsqu'il est possible d'avancer ou de reculer à l'infini dans le calendrier. Puisque les robots d'exploration de Google, Bing ou Yahoo! ont pour vocation de suivre les liens, ils peuvent facilement s'engouffrer dans cette boucle en considérant chaque nouvelle date comme une nouvelle page à crawler et à indexer.

Identification des sessions différentes à chaque exploration

Il y a deux façons de transmettre l'identifiant de session à un utilisateur sur un site. Cela peut se faire via les cookies ou directement par URL. Si un site utilise la deuxième option, le problème du spider trap peut se poser lorsque les configurations ne sont pas bien faites. À chaque visite, un nouvel identifiant de session sera attribué au robot du moteur qui considérera alors la page qu'il avait précédemment visitée comme une nouvelle page à indexer (à cause de l'URL qui est différente). Par conséquent, une boucle se formera et le robot pourra indexer les mêmes pages plusieurs centaines de fois.

Les problèmes liés au Spider Trap

Contrairement aux spambot, les robots des moteurs de recherches sont suffisamment intelligents pour ne pas planter lorsqu'ils s'engouffrent dans une boucle de pages sans fin. En effet, ces spiders ne s'adressent à un même serveur qu'une fois par seconde. De plus, ils alternent leurs requêtes entre différents hôtes, ce qui leur permet d'éviter les dysfonctionnements. Ils ne sont donc que très peu affectés par les pièges.

À l'opposé, les problèmes qu'un spider trap provoque sur un site sont très nombreux :

  • Duplication et indexation d'un grand nombre d'URL
  • Création de pages vides
  • Dépense de votre budget de crawl
  • Dilution de votre Jus SEO

Duplication et indexation d'un grand nombre d'URL

Pour les robots, un lien est égal à une page. Par conséquent, si une boucle infinie de liens se présente, les crawlers des moteurs de recherche indexeront autant de pages qu'il y a d'URL. Si une même page est indexée à plusieurs reprises, cela sera considéré comme du contenu dupliqué et traité comme tel par l'algorithme de Google. Votre site internet risque ainsi de voir ses performances SEO chuter.

Création de pages vides

Certaines des défaillances techniques qui déclenchent un piège à robots sur un site peuvent également générer un grand nombre de pages vides. C'est le cas des calendriers sans fin. Chaque nouvelle date correspond à une page vide qui sera explorée et indexée par les spiders.

Dépense de votre budget de crawl

Googlebot doit explorer chaque jour plusieurs millions de sites sur la toile. Pour cela, le nombre de pages qu'il peut explorer sur votre site à chaque passage est limité. C'est ce qu'on appelle communément le budget de crawl (crawl budget en anglais) dans le jargon du référencement. Étant donné qu'un piège à robots génère des liens qui n'ont aucune valeur SEO, leur exploration en boucle résulte en un gaspillage de votre budget de crawl. Pendant que les robots d'un moteur de recherche comme Google perdent un temps précieux à explorer la boucle interminable, ils ratent vos derniers contenus à valeur ajoutée.

Dilution de votre Jus SEO

Les liens internes servent à la répartition du Jus de lien d'un site entre ses différentes pages. Lorsque vous avez des liens internes qui génèrent un très grand nombre d'URL sans valeur, votre Pagerank interne est dilué. Cela peut se solder par une baisse du nombre des mots-clés sur lesquels vous rankez et surtout une chute de votre trafic organique.

Que faire pour nettoyer un Spider Trap ?

Si un web spider trap est actuellement actif sur votre site, voici les grandes étapes à suivre pour le nettoyer et retrouver vos positions sur la page des résultats.

Identifier la cause du problème

Pour vérifier la présence d'un web spider trap sur votre site, lancez un crawl à l'aide d'un outil SEO comme Screaming Frog ou Botify. Si l'exploration est anormalement longue, alors il est probable que vous ayez affaire à un spider trap. Arrêtez le crawl et exportez la liste des URL explorées pour observer de près ce qui se passe. Si vous identifiez une chaîne d'URL identiques qui renvoient vers la même page, faites une analyse au cas par cas (en envisageant chacune des causes présentées ci-dessus) pour essayer de comprendre comment elles sont générées.

Désindexer les URL posant problème

Il faut établir une liste exhaustive des URL parasites pour pouvoir les nettoyer. Vous pouvez utiliser pour cela les données du crawler SEO. Une fois que la liste est faite, la désindexation peut être effectuée par l'ajout d'une balise noindex dans l'en-tête HTTP. Assurez-vous que les robots ont accès à la page qui contient la commande. Elle ne doit pas être bloquée via une commande Disallow dans le fichier robots.txt.

Il est aussi possible de créer un fichier sitemap de désindexation (fichier texte avec une URL par ligne) et de le soumettre à Google directement via la Search Console. Dans un cas comme dans l'autre, gardez à l'esprit que c'est un processus très long qui peut prendre plusieurs mois.

Comment éviter les Spider Traps ?

Pour éviter les spider traps liés à la navigation à facettes, vous avez le choix entre deux méthodes : l'intégration des filtres via JavaScript ou l'utilisation de la méthode PRG.

Intégrer des filtres et facettes via JavaScript

Avec la technologie AJAX (JavaScript + XLM), vous pouvez configurer des facettes qui seront uniquement accessibles aux internautes. Ainsi, les robots ne pourront pas y avoir accès pour les indexer lors de leur visite des pages. Une implémentation côté client est idéale pour un résultat optimal.

Intégrer des filtres et facettes via la méthode PRG - Post, Redirect, Get

Le Post, Redirect, Get est une combinaison de méthodes qui permet également de cacher les facettes aux robots de Google. Lorsqu'un utilisateur applique un filtre, la requête est envoyée en POST au serveur qui effectue une redirection vers l'URL filtrée avant d'envoyer la réponse en GET. Seul l'utilisateur verra la page avec ses filtres sélectionnés.