Amélioration de la détection et du signalement des crawlers probables dans vos données de trafic

Le tableau de bord d’administration peut désormais identifier le trafic probable des robots d’indexation (crawlers) — les bots et scrapers automatisés qui utilisent le JavaScript des navigateurs réels mais qui ne sont pas des visiteurs humains — et séparer ces pages vues de vos chiffres de trafic authentiques.

Dans ce sujet, nous vous expliquerons notre approche pour identifier ce type de trafic et comment vous pouvez activer cette fonctionnalité dès aujourd’hui.

:microscope: Les nouveautés

Discourse a toujours filtré les Crawlers qui s’identifient via des agents utilisateurs de bot standard (comme Googlebot) dans une catégorie distincte des données de trafic du site. Mais le trafic automatisé moderne est plus sournois : il exécute un navigateur complet, lance du JavaScript et se fond dans vos données de pages vues comme s’il s’agissait d’une visite réelle. Les administrateurs constataient des pics de trafic dans les pages vues Anonymes qui s’avéraient être des scrapers, ou des nombres de visiteurs gonflés par des bots d’IA — sans moyen de les distinguer du trafic humain véritablement anonyme (c’est-à-dire non connecté).

Cette mise à jour ajoute une catégorie Likely Crawlers (Crawlers probables) à vos données de trafic du site. Lorsque la détection améliorée des crawlers est activée, les pages vues que nos heuristiques identifient comme probablement automatisées sont isolées, ce qui rend vos chiffres de trafic humain plus précis.

Fonctionnement de la détection

Le système attribue un score à chaque page vue du navigateur à l’aide d’un ensemble de signaux comportementaux :

  • Agent utilisateur d’automatisation — l’agent utilisateur (UA) mentionne explicitement un navigateur sans interface graphique (headless) ou un outil d’automatisation (HeadlessChrome, Playwright, Puppeteer, Selenium, PhantomJS, jsdom)
  • ASN de crawler vérifié — le numéro de système autonome (ASN) de l’IP appartient à un réseau de crawler connu (Baidu, Ahrefs, Yandex, Internet Archive, etc.)
  • ASN de centre de données — l’IP se trouve dans l’espace d’adresses d’un grand fournisseur de cloud ou d’hébergement
  • Vélocité — l’IP + agent utilisateur génère un nombre inhabituellement élevé de pages vues par heure
  • Navigation rapide — l’intervalle médian entre les pages vues est inférieur à 5 secondes
  • Rotation de sessions — de nombreuses sessions courtes (majoritairement une seule page chacune) provenant de la même IP + agent utilisateur
  • Absence d’engagement — aucune interaction humaine enregistrée (mouvement de la souris, frappes clavier, défilement) pour une session et ses voisines
  • Ratio de référents défavorable — la plupart des pages vues arrivent sans référent ou avec un référent externe, suggérant un accès direct à l’URL plutôt qu’une navigation à travers le site
  • Demande directe unique — une page vue unique sans engagement et sans référent ; le score est plus élevé si l’URL contient un paramètre de localisation (locale)
  • Rotation rapide des IP — plusieurs IP utilisées au sein d’une même session, à une cadence plus rapide qu’un humain ne le ferait
  • Chromium obsolète — une version de Chrome dépassée sans signaux d’engagement

Les scores issus de plusieurs signaux s’additionnent ; lorsqu’une page vue présente un certain nombre des signaux ci-dessus, nous la classons comme likely crawler (crawler probable).

:gear: Activer la détection améliorée des crawlers dans votre communauté

Pour le moment, cela est considéré comme une modification expérimentale. Nous continuons à ajuster les heuristiques de détection et accueillons favorablement vos retours.

Pour l’activer, rendez-vous sur la page Modifications à venir dans votre espace d’administration et trouvez l’élément Improved crawler detection (Détection améliorée des crawlers). Mettez à jour le champ Enabled for… (Activé pour…) pour opter votre site pour cette fonctionnalité.

Une fois activée, la section Trafic du site de votre tableau de bord d’administration affichera les crawlers probables comme une catégorie distincte.

:warning: Notes importantes :

  • Ce n’est pas une science exacte et nous continuerons à affiner nos heuristiques au fil du temps. Cependant, nous ne rétro-appliquerons pas ces calculs lors de leurs mises à jour.
  • Classer une page vue comme un crawler probable ne refuse pas la demande et n’applique pas de limitation de débit (rate-limiting).
  • Les pages vues de crawlers probables sont exclues des référents, des pays et des autres répartition du trafic — de la même manière que les crawlers connus sont traités aujourd’hui.

:mega: Que pensez-vous ?

Nous aimerions avoir votre retour — en particulier de la part des communautés qui ont remarqué des modèles de trafic inhabituels ou des pics non expliqués. Les chiffres semblent-ils justes pour votre site ? Y a-t-il des visites qui sont signalées mais qui vous semblent être celles de vrais utilisateurs ? Partagez ce que vous observez dans ce sujet.

20 « J'aime »

Ça a l’air bien, mais est-ce que ça prend aussi en compte les utilisateurs connectés pour ces signaux ?

1 « J'aime »

Les likely crawler seront-ils toujours comptés dans la limite mensuelle de vues de page ? :slightly_smiling_face:

1 « J'aime »

J’ai oublié de modifier l’URL d’un élément que j’avais collé en utilisant un modèle, et sur un forum en construction, j’ai enregistré une augmentation de 35 000 %.

J’ai toujours la tâche en attente d’installer un petit modèle local pour nettoyer toutes les références réelles à ce sur quoi je travaille.

C’est génial d’avoir cette option comme second filtre. Merci de l’avoir créée.

C’est une bonne question, et nous n’avons pas encore pris de décision à ce sujet — nous prévoyons de devoir affiner nos modèles de détection de robots, et comme il s’agit d’une fonctionnalité facultative, nous ne savons pas encore quel impact cela aura, le cas échéant, sur les limites de pages vues.

Nous aborderons ce point en interne et je reviendrai vers vous pour vous tenir informé !

3 « J'aime »

Merci pour le travail fourni ici. La prochaine étape probable consistera-t-elle à permettre de prendre des mesures à leur égard une fois que vous serez satisfait de l’algorithme de détection ?

2 « J'aime »

Ce serait génial si nous pouvions obtenir la liste des user agents qu’il a identifiés, ou qu’il considère comme étant probablement des bots/crawlers.

Cela permettrait de les ajouter aux groupes bloqués ou soumis à une limitation de débit.

2 « J'aime »

Oui, nous essayons également de détecter les automatisations avec des utilisateurs connectés. Sur Meta, nous avons trouvé quelques « utilisateurs » de niveau de confiance 0 qui balayaient le site.

1 « J'aime »

Le défi est que les « probables crawlers » utilisent très souvent des agents utilisateurs légitimes. Parfois, la version du navigateur semble assez ancienne, mais ce n’est pas un signal suffisamment fort pour la considérer comme un robot probable. C’est pourquoi nous collectons de nombreuses métriques et essayons de les combiner pour évaluer la probabilité.

Lorsque le crawler se présente honnêtement via un agent utilisateur comme Bingbot ou Googlebot, il atterrit directement dans la catégorie « crawlers ».

1 « J'aime »

C’est vrai. Grâce aux statistiques que l’équipe Discourse pouvait extraire du backend, il s’agissait souvent d’agents utilisateurs plus obscurs, présentant généralement une hausse à court terme des motifs d’accès, ce qui nous permettait d’en éliminer quelques-uns de la liste sans impacter les utilisateurs.

Ce n’est pas une science exacte. Pouvoir associer ces données à des zones géographiques spécifiques permettrait probablement d’obtenir une meilleure résolution lors de leur gestion.

2 « J'aime »