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

Le tableau de bord d’administration peut désormais identifier le trafic probable des robots d’indexation — les bots automatisés et les scrapeurs qui utilisent du JavaScript de navigateur réel mais ne sont pas des visiteurs humains — et séparer ces pages vues de vos statistiques de trafic authentiques.

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

:microscope: Ce qui a changé

Discourse a toujours filtré les Crawlers qui s’identifient avec des user-agents de bots standards (Googlebot, par exemple) dans une catégorie distincte des données de trafic du site. Mais le trafic automatisé moderne est plus rusé : 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 voyaient des pics de trafic dans les pages vues Anonymes qui s’avéraient être des scrapeurs, ou des compteurs de visiteurs gonflés par des bots IA — sans moyen de les distinguer du vrai trafic humain anonyme (c’est-à-dire non connecté).

Cette mise à jour ajoute une catégorie Probables robots d'indexation (Likely Crawlers) aux données de trafic de votre site. Lorsque la détection améliorée des robots est activée, les pages vues que nos heuristiques identifient comme probablement automatisées sont séparées, rendant vos chiffres de trafic humain plus précis.

Comment fonctionne la détection

Le système évalue chaque page vue via navigateur en utilisant un ensemble de signaux comportementaux :

  • User-agent d’automatisation — le user-agent nomme explicitement un navigateur headless ou un outil d’automatisation (HeadlessChrome, Playwright, Puppeteer, Selenium, PhantomJS, jsdom)
  • ASN de robot vérifié — le numéro de système autonome de l’adresse IP correspond à un réseau connu de robots (Baidu, Ahrefs, Yandex, Internet Archive, etc.)
  • ASN de centre de données — l’adresse IP se trouve dans une plage d’adresses d’un fournisseur cloud ou d’hébergement majeur
  • Vélocité — l’IP + le user-agent génèrent un nombre anormalement élevé de pages vues par heure
  • Navigation rapide — l’écart médian entre les pages vues est inférieur à 5 secondes
  • Renouvellement de sessions — de nombreuses sessions courtes (principalement une page chacune) provenant de la même IP + le même user-agent
  • Absence d’engagement — aucune interaction humaine enregistrée (mouvement de souris, frappe au clavier, défilement) pour la session et les sessions voisines. Ce signal a plus de poids pour le trafic anonyme que pour le trafic connecté.
  • Ratio de référents manquants — 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 via le site
  • Requête directe unique — une seule page vue sans interaction et sans référent ; le score est plus élevé si l’URL contient un paramètre de langue/locale
  • Rotation rapide des IP — plusieurs IP utilisées au cours d’une même session, changeant plus vite que ce que ferait un humain
  • Chromium obsolète — une version de Chrome dépassée sans signaux d’engagement
  • Trafic distribué — certains robots font tourner les adresses IP et commencent une nouvelle session pour presque chaque page vue. Nous recherchons désormais des modèles parmi les visites anonymes qui partagent un user-agent et soit un réseau, soit une source de référencement externe

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

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

Pour l’instant, il s’agit d’une modification expérimentale. Nous continuons à affiner les heuristiques de détection et accueillons vos retours.

Pour l’activer, accédez à la page Modifications à venir dans votre zone d’administration et recherchez l’élément Détection améliorée des robots (Improved crawler detection). Mettez à jour le champ Activé pour… pour opter pour cette fonctionnalité sur votre site.

Une fois activé, la section Statistiques de trafic de votre tableau de bord d’administration affichera les robots probables comme une catégorie distincte.

:warning: Notes importantes :

  • Ce n’est pas une science exacte et nous continuerons à affiner nos heuristiques avec le temps. Cependant, nous ne recalculerons pas rétroactivement les données lors de la mise à jour de ces calculs.
  • Classer une page vue comme un robot probable n’entraîne pas le refus ou la limitation de débit de la requête.
  • Les pages vues par les robots probables sont exclues des référents, des pays et d’autres ventilations du trafic — de la même manière que les robots connus sont traités actuellement.
  • Les modifications des règles de détection ne recalculent pas automatiquement tout le trafic historique.

:mega: Qu’en pensez-vous ?

Nous aimerions avoir vos retours — en particulier de la part des communautés qui ont remarqué des modèles de trafic inhabituels ou des pics inexpliqués. Les chiffres vous semblent-ils corrects pour votre site ? Y a-t-il des visites signalées qui vous semblent provenir de vrais utilisateurs ? Partagez vos observations dans ce sujet.

21 « 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.

3 « 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 »