Les crawler traps freinent les crawlers lorsqu’ils explorent votre site web. Le crawling et l’indexation seront perturbés, ce qui finira par avoir un impact négatif sur le référencement du site.

Qu’est ce qu’un crawler trap?

En SEO, les “crawler traps” sont des problèmes provenant de la structure d’un site : les crawlers vont trouver un nombre virtuellement infini d’URLs non pertinents. En théorie les crawlers pourraient se retrouver piégés dans une partie de site internet et “crawler” ces URLs non pertinents sans fin. C’est pourquoi on les appelle “crawler” trap (piège à crawl).

Les crawler traps sont aussi parfois appelés “spider traps” (pièges d’araignée).

Crawler traps illustrated

Pourquoi devrais-je me préoccuper des crawler traps ?

Les crawlers traps réduisent votre crawl budget et sont à l’origine de contenu dupliqué.

Les crawler traps réduisent votre crawl budget

Le Crawl budget est le nombre de pages qu’un moteur de recherche est prêt à visiter lorsqu’il crawl votre site. C’est grosso modo l’attention que portent les moteurs de recherche à votre site. Gardez ça en tête et pensez aux crawler traps et au fait  qu’ils mènent à des pages sans aucune pertinence pour les SEO.

C’est un gaspillage de crawl budget. Lorsque les crawlers sont occupés à crawler ces pages non pertinentes, ils ne prêtent pas attention à vos pages importantes.

“Mais les moteurs de recherches ne sont-ils pas assez intelligents pour détecter ces crawler traps ?” vous demandez-vous.

Les moteurs de recherche peuvent détecter les crawler traps, mais il n’y a aucune garantie qu’ils le feront. De plus, pour détecter les crawler traps ils doivent d’abord tomber dans le piège du crawler trap : à ce moment là il est déjà trop tard. Quel est le résultat ? Un gaspillage de crawl budget.

Si les moteurs de recherche sont capables de détecter, ils les crawleront de moins en moins souvent avec le temps et cela deviendra moins problématique. Si vous ne voulez prendre aucun risque, nous vous recommandons de résoudre le problème dès maintenant.

Dan Taylor
Dan Taylor

Lorsqu'on parle des crawler traps on évoque beaucoup les ressources de crawl et à quel point ils sont nocifs et problématiques sur ce point. Cela dit ils peuvent aussi agir en noeud récepteur dans la distribution interne du PageRank. Bien évidemment on ne sculte pas le PageRank d'un site web comme on le faisait il y a 10 ans, mais il est toujours important de s'intéresser au problème et de s'assurer qu'on ne perd aucune opportunité de préserver le PageRank et de mieux connecter à l'interne nos "money pages".

Les Crawler traps posent des problèmes de contenu dupliqué

Il est important de noter que les crawler traps ne menacent pas seulement votre crawl budget : ils sont sont souvent à l’origine de pénalités de contenu dupliqué que les sites reçoivent inutilement. Pourquoi ? Parce que certains crawl traps génèrent beaucoup de pages de basse qualité accessibles et indexables pour les moteurs de recherche.

David Iwanow
David Iwanow

Les Crawler traps sont bien réels et les moteurs de recherche les détestent. Ils se présentent sous différentes formes. Par exemple, j'ai déjà vu des boucles de redirection provenant d'un regex  (ou expression régulière en français) victime d'une erreur de frappe dans .htaccess, des paginations infinies, des milliers de pages venant d'une recherche effectuée sur l'ensemble du site avec le mot "un", ou encore un nombre virtuellement infini d'attributs/de filtres ajoutés à un URL à cause d'une recherche à facettes défectueuse. Soyez à l'affût des crawler traps sur votre site et corrigez les : ils sont mauvais pour votre SEO!

Fili Wiese
Fili Wiese

Un site de grande marque qui est continuellement optimisé pour le SEO n'a aucune chance d'être compétitif au sein de Google si son crawl budget n'est pas géré. C'est le cas si les pages indésirables, redondantes ainsi que les landing pages obsolètes sont plus régulièrement crawlées qu'optimisées, le taux de conversion dépendant notamment des landing pages. C'est pourquoi il y a deux choses essentielles à faire : 1) constamment sauvegarder ET préserver les fichiers logs brut, 2) mener un audit SEO technique qui inclut l'analyse des fichiers log par un tiers  au moins une fois tous les douze mois. Avec un volume important de data pertinentes et un partenaire objectif qui n'hésite pas à mettre en lumière les défauts d'un site , on peut éviter les crawler traps et améliorer la SEO.

Comment identifier les cawler traps

Identifier les crawler traps est facile pour une personne qui connaît bien le site, contrairement aux crawlers qui auront plus de difficultées à les reconnaître. Il suffit de savoir quels URLs devraient être crawlés puis de regarder si les URLs qui n’auraient pas dû être crawler l’ont été ou non.

Soyez à l’affût des paternes d’URL ci-dessous :

En lien avec le compte

  • admin
  • cart
  • checkout
  • favorite
  • password
  • register
  • sendfriend
  • wishlist

En lien avec le script

  • cgi-bin
  • includes
  • var

En lien avec les commandes et les filtres

  • filter
  • limit
  • order
  • sort

En lien avec la session

  • sessionid
  • session_id
  • SID
  • PHPSESSID

Autres

  • ajax
  • cat
  • catalog
  • dir
  • mode
  • profile
  • search
  • id
  • pageid
  • page_id
  • docid
  • doc_id

Il y a trois façons de faire :

  1. Lancer un crawl
  2. Utiliser les opérateurs de recherche avancée de Google
  3. Vérifier les paramètres d'URLs dans la console Google Search
  4. Faire une analyse de logs

Lancer soit même un crawl

Crawlez votre site avec ContentKing et parcourez votre ensemble de données en cherchant les paternes d’URL mentionnées précédemment. Faites également défiler la liste de tous vos URLs. Un autre moyen efficace de trouver rapidement les URLs qui ne devraient pas être crawlés est de les filtrer par ordre d'importance ( du moins important ou plus important, les URLs avec le score le plus faible en tête de liste).

Vous trouverez notamment :

  • Des URLs avec des paramètres de requête (contenant un ? et/ou un &)
    Exemples:
    http://www.example.com/shoes?sex=men&color=black&size=44&sale=no et http://www.example.com/calendar/events?&page=1&mini=2015-09&mode=week&date=2021-12-04
  • Des URLs avec des paternes répétitives
    Exemple:
    http://www.example.com/shoes/men/cat/cat/cat/cat/cat/cat/cat/cat/cat/
  • Des pages avec des titres, des meta descriptions et des en-têtes en double
    Rechercher les pages avec des titres, des méta descriptions et des en-têtes en double est une très bonne manière de trouver de potentiels crawl traps.
Sam McRoberts
Sam McRoberts

Lorsque vous traquez les crawler traps, n'oubliez pas de vérifier avec différentes chaînes user-agent. J'ai vu des sites sur lesquels certains URLs sont redirigés pour les bots Google mais pas pour les visiteurs, des sites où les bots voient un tag canonique alors qu'un navigateur donnera un rendu différent. Dans certains cas un bot peut même voir un tag canonique, mais lorsqu'il se rend sur la page il est redirigé à nouveau sur la page d'origine, ce qui crée une boucle canonique/de redirection que seuls les bots peuvent voir. Si vous ne vérifiez pas votre site avec différents user-agents il se peut que vous n'ayez pas accès à l'ensemble du tableau.

Patrick Stox
Patrick Stox

La visualisation de site web ( en utilisant des outils tels que Gephi par exemple) peut vous aider à identifier ces pièges. ils apparaissent généralement en grappe ou comme une longue queue dans le diagramme du réseau.

Les opérateurs Google de recherche avancée

Utilisez les opérateurs Google de recherche avancée pour trouver manuellement les paternes URL mentionnées ci-dessus.

En utilisant le site: operator, vous demandez aux moteurs de recherche de limiter la recherche  au sein d’un domaine précis, tandis qu’avec inurl: votre recherche ciblera exclusivement les pages avec un certain type d’URL.

Exemple de requête:

  • site:example.com inurl:filter
  • site:example.com inurl:wishlist
  • site:example.com inurl:favorite
  • site:example.com inurl:cart
  • site:example.com inurl:search
  • site:example.com inurl:sessionid

Veuillez noter qu’il est possible de combiner tout cela en une requête. Dans cet exemple nous avons combiné les six types d’URL ci-dessus pour amazon.com.

Vérifier les paramètres d'URL de Google Search Console

Lorsque vous allez dans Crawl > Paramètres d'URL sur Google Search Console, vous trouverez tous les paramètres d'URL que Google a trouvé lorsqu'il a crawlé votre site.

Analyser les fichiers logs

Parcourir les fichiers logs de votre serveur peut également être une façon de trouver ces paternes d’URLs. Les fichiers logs enregistrent toutes les requêtes effectuées sur votre serveur, y compris les visiteurs et les moteurs de recherches et autres bots. Cherchez les mêmes paternes d’URLs mentionnées ci-dessus.

Paul Shapiro
Paul Shapiro

Les sites de eCommerce sont particulièrement sujets aux problèmes de crawler traps. Les problèmes de pagination, de facettes, de mauvaise gestions de produits obsolètes font partis des nombreuses choses qui peuvent envoyer les crawler dans une boucle infinie. Les fichiers logs peuvent révéler beaucoup de choses, mais c'est aussi le cas d'un crawling régulier et d'une surveillance faite par un tiers. Si vous avez du mal à faire crawler et indexer rapidement de nouveaux produits, ça peut être le signe de la présence de crawler traps sur votre site.

Crawler traps courants et comment les éviter

Les crawlers traps qu’on trouve fréquemment dans la nature :

  • Les URLs avec des paramètres de requête: ils mènent souvent à un nombre infini d’URLs uniques.
  • Les boucles de redirections infinies: les URLs qui redirigent continuellement et ne s’arrêtent jamais.
  • Les liens vers des recherches internes: les liens vers les pages de résultats de recherches internes pour fournir du contenu.
  • Le contenu généré dynamiquement : là où l’URL est utilisé pour insérer du contenu dynamique.
  • Les pages de calendriers infinies : là où il y a un calendrier avec les événements des mois précédents ou à venir.
  • Les liens défectueux : liens qui menant à des URLs défectueux, ce qui génère encore plus d’URLs défectueux.

Ci-dessous, nous verront chaque crawler trap en détail et comment les éviter

Urls avec des paramètres de requête

Dans la plupart des cas, les URLs avec des paramètres de requête ne devraient pas être accessibles pour les moteurs de recherche parce qu’ils peuvent virtuellement générer des URLs à l’infini. Les filtres de produits en sont un bon exemple. Lorsqu’il y a quatre options de filtres pour huit critères de filtres, cela vous donne 4,096 (8^4) options possibles !

Pourquoi les paramètres sont inclus dans les URLs ?

Ils sont inclus entre autres pour stocker des informations telles que les critères pour filtrer un produit, les identifiants de session, ou les informations du référent (aussi appelé Referrer).

Exemple d’URL avec des critères de filtres produits:
http://www.example.com/shoes?sex=men&color=black&size=44&sale=no

Exemple d’URL avec des identifiants de session:
http://www.example.com?session=03D2CDBEA6B3C4NGB831

Exemple d’URL avec l’information du referrer:
http://www.example.com?source=main-nav

Conseil:
Évitez d’utiliser les paramètres de requête dans les URLs autant que possible. Si vous devez néanmoins les utiliser ou si vous devez les gérer de façon générale, assurez vous qu’ils soient inaccessibles aux moteurs de recherche : pour les exclure utilisez les fichiers robots.txt ou en définissant les paramètres d’URLs de Google Search Console et dans les outils pour Webmasters de Bing.

L'exception ici est la suivante :si vous avez des paramètres de requête au sein d'URLs  qui ont beaucoup de liens. Pour laisser les moteurs de recherche consolider les signaux à travers les URLs canoniques vers la version canonique de ces URLs, ils doivent être crawlables. Dans ce cas n'utilisez pas la balise disallow avec des fichiers robots.txt pour ces URLs.

Comment corriger et éviter les crawler traps ?

Si les moteurs de recherche ont déjà indexés les pages de votre site avec les paramètres d’URLs, suivez les étapes ci-dessous, dans le bon ordre:

  1. Dites aux moteurs de recherche que vous souhaitez que ces pages ne soient pas indexées : implémentez la balise meta robots noindex.
  2. Laissez de temps aux moteurs de recherche pour crawler ces pages à nouveau et prendre en compte votre requête. Si vous n’avez pas la patience d’attendre, demandez qu’ils cachent ces URLs en utilisant Google Search Console ainsi que les outils pour Webmasters de Bing.
  3. Utilisez le dossier robots.txt pour ordonner aux moteurs de recherche de ne pas accéder à ces URLs. Si ce n’est pas possible pour une raison quelconque, utilisez l’outil de gestion des paramètres d’URLs de Google Search Console ainsi que les outils pour Webmasters de Bing pour demander à Google et Bing de ne pas crawler ces pages.
  4. De plus, lorsque ces URLs sont introduits via des liens : assurez vous d’ajouter l’attribut de lien rel=”nofollow” à ces liens. Ainsi, les moteurs de recherche ne suivront pas ces liens.

Gardez en tête le fait que si vous passez directement à l’étape 3 les moteurs de recherche ne seront jamais capables d’intégrer la directive noindex des balises meta robots (puisque vous leur interdisez l’accès ) et ils garderont les URLs dans leurs indexes bien plus longtemps..

Cependant, si jusqu’à présent les moteurs de recherche n’ont indexé aucune page avec les paramètres URLs, suivez seulement les étapes 3 et 4.

Dawn Anderson
Dawn Anderson

Les crawler traps peuvent sérieusement endommager un site, mais cela dépend du type de piège dans lesquels tombent les crawlers. Même si les espaces infinis tels que les calendriers sans fin et les paramètres générés dynamiquement tels qu'on les trouve sur les site de eCommerce peuvent causer beaucoup de problèmes, la pire sorte de crawler trap que j'ai vu (et expérimenté ) et celle qui vient de "paramètres logiques" (mais incorrectes).

Cela peut torpiller un site à long terme. C'est aussi sérieux que ça.

Nick Eubanks
Nick Eubanks

Les scénarios les plus courants de problèmes de crawler traps se trouvent sur les sites de eCommerce qui s'emportent sur la navigation à facette et lorsque cette navigation à facette utilise les paramètres URLs pour filtrer et trier le contenu en fonction de la sélection de l'utilisateur. Cela devient un problème exponentiel lorsque les managers du site décident d'activer le support facette pour toutes leurs variations de produits, (couleurs, tailles, longueurs, poids, finitions, liquidations, notes, marques, etc...).

Résultat : des centaines de milliers, voir des millions de nouveaux URLs. Identifiez les paramètres qui ne créent pas de changement matériel de contenu sur la page et utilisez GSC pour demander à Google de ne pas les crawler. Dans certains cas la meilleure chose à faire serait même de bloquer certains URLs paramétrés spécifiques en utilisant des fichiers robots.txt.

Les boucles infinies de redirection

Une boucle infinie de redirection est une série de redirections qui ne se terminent jamais. Lorsque vous rencontrez une boucle de redirection dans Google Chrome vous verrez ceci :

Redirect loop screenshot

Les boucles de redirection coinceront vos visiteurs sur un site et cela les fera probablement quitter le site. En général Google arrêtera de suivre les redirections après trois ou quatre sauts de boucles et cela aura un impact négatif sur votre crawl budget.Il est à noter que Google devrait recommencer à suivre ces redirections après un moment, mais vous devriez tout de même éviter cette situation.

Chained redirect

Comment sont créées les boucles de redirection ? Elles sont souvent le résultat d’une mauvaise configuration de redirection. Disons que toutes requêtes faites aux URLs sans slash de fin sont redirigées par la redirection 301 vers la version avec le slash de fin, mais qu’à cause d’une erreur toutes les requêtes faites aux URLs avec un slash de fin sont également redirigées par la redirection 301 vers la version sans slash de fin.

Comment corriger et éviter les crawler traps ?

Vous pouvez corriger les boucles de redirection en améliorant la configuration des redirections. Dans l’exemple donné précédemment, enlever la redirection 301 qui envoie les requêtes aux URLs avec un slash de fin vers une version sans le slash de fin réparera la boucle de redirection ( cela aura aussi pour conséquence de favoriser une structure d’URL qui a toujours un slash de fin).

Sur certains sites, les liens redirigeant vers les résultats de recherches internes sont créés pour mettre en avant leurs contenu plutôt que d’orienter les visiteurs vers des pages au contenu préexistant. Les liens vers les résultats de recherches internes sont particulièrement dangereux s’ils sont générés automatiquement. Cela peut potentiellement créer des milliers de pages de mauvaise qualité.  

Prenons un exemple : vous conservez une liste des recherches les plus fréquentes sur votre site et vous les liez directement à votre contenu puisque vous pensez que cela pourra être utile à vos utilisateurs. Ces pages de résultats de recherches peuvent contenir quelques résultats, voir même aucun résultat. C’est ce qui mène à un contenu de basse qualité qui sera accessible aux moteurs de recherche.

Comment corriger et éviter ce crawler trap?

Établir des liens vers des pages de résultats de recherche est rarement plus judicieux que de que d’établir des liens vers des pages au contenu préexistant. Si vous pensez malgré tout qu’il est utile de montrer ces liens aux visiteurs, il est essentiel de rendre ces pages de résultats de recherches internes inaccessibles aux moteurs de recherches en utilisant un fichier robots.txt.

Exemple:

Disallow: /search/ #block access to internal search result pages
Disallow: *?s=* #block access to internal search result pages

Si pour une raison quelconque vous ne pouvez pas utiliser les fichiers robots.txt, vous pouvez régler les paramètres d’URL en utilisant Google Search Console ainsi que les outils pour Webmasters de Bing.

Contenu généré dynamiquement

En SEO, le contenu inséré dynamiquement est un contenu inséré en utilisant un URL. Les mots de l’URL sont utilisés pour alimenter la page. C’est assez délicat, parce que les moteurs de recherche peuvent trouver beaucoup de pages avec un contenu de faible qualité.

Voyons un exemple pour illustrer ce crawler trap.

www.example.com/pants/green/  a un titre H1 “Acheter un pantalon vert en ligne sur boutique exemple” et il liste de véritable pantalons verts. Ça à l’air bien non?

Mais si www.example.com/pants/pink/  renvoie à un statut HTTP 200 et contient un titre H1 “Acheter un pantalon rose en ligne sur boutique exemple” mais qu’il ne montre en vérité aucun pantalon rose?

Effectivement, c’est plutôt dommage et décevant.

C’est seulement un problème lorsque les moteurs de recherche peuvent trouver ce genre de pages, et si les pages qui n’ont pas de résultats renvoient un statut HTTP 200.

Comment corriger et éviter ce crawler trap?

Il y a quelques solutions pour corriger ce problèmes :

  • S’assurer qu’il n’y a pas de liens internes vers ce genre de pages.
  • Puisque vous ne pouvez pas contrôler les liens externes, assurez vous que les pages qui ne devraient pas être accessibles et qui ne montrent aucun résultat renvoient le statut HTTP 404.

Les pages de calendriers infinies

Beaucoup de sites web ont des calendriers pour programmer des rendez-vous. Il n’y a aucun soucis avec ça dans la mesure où les calendriers sont intégrés correctement. Le problème de ces calendriers, c’est qu’ils intègrent souvent la date dans l’URL. D’autre part, on peut aller très, très loin dans le futur. Parfois jusqu’à des milliers d’années.

Comme vous pouvez le voir, ce crawler trap est similaire aux URLs avec des paramètres de requête, ce dont nous avons déjà discuté. Cela dit l’erreur est tellement fréquente qu’il nous semblait utile d’avoir une rubrique sur le sujet.

Une structure d’URL typique pour un calendrier serait :

  • www.example.com/appointment?date=2018-07 pour Juillet 2018
  • www.example.com/appointment?date=2018-08 pour Août 2018
  • www.example.com/appointment?date=2018-09pour Septembre 2018
  • Etc...

Cela mène à une avalanche de pages qui ne sont pas intéressantes pour les moteurs de recherche. Il vaut mieux leur en interdire l'accès.

Comment corriger et éviter ce crawler trap?

Voici ce que vous pouvez faire pour éviter que les pages de calendriers soient un problème :

  • Assurez vous que le calendrier ne contient qu’un nombre raisonnable de mois à venir pour les rendez-vous.
  • Ajoutez l’attribut de lien nofollow à vos liens “ Prochain Mois” et “ Mois précédent” ( respectivement “Next Month” et “Previous Month” en anglais).
  • Assurez vous que les URLs du calendrier soient inaccessibles aux moteurs de recherche en utilisant un fichier robots.txt.

Il y a un type de lien défectueux qui peut aussi créer un crawler trap. Cela arrive souvent lorsque les gens utilisent des URLs relatives et qu’ils oublient le premier slash.

Regardons un exemple de lien :

<a href="shop/category-x">Category X</a>

Ici, le problème est l’absence du premier slash avant ‘shop’. La version correcte est la suivante :

<a href="/shop/category-x">Category X</a>

Que se passe-t’il si on utilise le mauvais lien? Les navigateurs et les moteurs de recherche vont ajouter la partie shop/category-x après l’url courant, ce qui donnera : example.com/some-page/shop/category-x/ plutôt que l’URL attendu example.com/shop/category-x/. Sur example.com/some-page/shop/category-x/, le lien vers cette page deviendrait example.com/some-page/shop/category-x/shop/category-x/, et sur celui-ci, example.com/some-page/shop/category-x/shop/category-x/shop/category-x/, jusqu'à l'infini.

Il y a du soucis à se faire lorsque ces pages défectueusement liées renvoient le statut HTTP 200 (“OK”) au lieu du 404 (“Page not found” : page non trouvée en français). Les moteurs de recherche essaieront d’indexer ces pages, cela provoquera l’indexation de beaucoup de pages au contenu médiocre. ( Ce n’est pas un gros problème si les pages défectueusement liées renvoient un statut HTTP 404.)

Ce crawler trap est particulièrement désastreux s’il est inclus dans les éléments de navigation globale, comme la barre latérale et le bas de page. À ce moment là toutes les pages du site contiendront ce type de lien défectueux ( y compris les pages que vous avez mal liées).

Comment corriger et éviter ce crawler trap ?

Voici ce que vous pouvez faire pour éviter que cela pose problème :

  • Passer au crible votre site web en cherchant spécifiquement les liens incorrects. En faisant ça vous verrez une augmentation spectaculaire du nombre de nouvelles pages trouvées et vous trouverez rapidement la source du problème.
  • Assurez vous que les pages qui n’existent pas renvoient le statut HTTP 404.

Les meilleurs pratiques pour éviter les crawler traps

Les meilleurs pratiques pour éviter les crawler traps tiennent en deux choses :

  1. S’assurer que les bases techniques de votre site web sont en ordre, et
  2. Avoir des outils en place pour trouver rapidement les crawler traps.

S’assurer que les bases techniques de votre site sont en ordre

Si vous prenez en compte les points suivants dans les bases techniques de votre site, vous devriez facilement éviter les crawler traps:

  • Assurez vous que les pages qui n’existent pas renvoient un à un statut HTTP 404.
  • Interdisez aux moteurs de recherche l’accès aux URLs qui ne devraient pas être crawlés.
  • Ajoutez l’attributnofollow aux liens que les moteurs de recherche ne devraient pas crawler.
  • Evitez l’insertion dynamique de contenu.

Avoir des outils en place pour trouver rapidement les crawler traps

Avoir les bons outils en place pour trouver rapidement les crawler traps vous épargnera beaucoup de maux de têtes et d'embarras potentiels. Qu’est ce que ces outils sont censés faire? Ils devraient surveiller votre site web et être à l’affût de :

  • Contenu duppliqué,
  • Une augmentation soudaine de pages et de redirections.

Si des crawler traps sont détectés, vous voulez que cette information vous parvienne rapidement. Donc il vous faut des alertes. ContentKing s’en occupe pour vous, alors pourquoi ne pas essayer pour s’assurer que votre site est sans crawler traps ?

Commencer votre essai gratuit de 14 jours

Vous pouvez commencer en 20 secondes

Insérez un nom de domaine valide, s'il vous plaît (www.exemple.fr).
  • La carte de crédit n'est pas requise
  • Aucune installation requise
  • Sans engagement