Contrôler les Web Crawlers pour un site

:bookmark: Ce guide explique comment gérer les robots d’exploration web sur votre site Discourse.

:person_raising_hand: Niveau d’utilisateur requis : Administrateur

Les robots d’exploration web peuvent avoir un impact significatif sur les performances de votre site en augmentant les pages vues et la charge du serveur.

Lorsqu’un site remarque une augmentation soudaine de ses pages vues, il est important de vérifier comment les robots d’exploration web s’y intègrent.


Vérification de l’activité des robots d’exploration

Pour voir si les robots d’exploration affectent votre site, accédez au rapport Trafic du site (/admin/reports/site_traffic) depuis votre tableau de bord d’administration. Ce rapport détaille le nombre de pages vues provenant des utilisateurs de navigateur connectés, des utilisateurs de navigateur anonymes, des robots d’exploration et d’autres sources.

Un site où les robots d’exploration fonctionnent normalement :

Un site où les robots d’exploration sont hors de contrôle :

Identification des robots d’exploration spécifiques

Accédez au rapport User Agent des Robots d’Exploration Web (/admin/reports/web_crawlers) pour trouver une liste des noms de robots d’exploration web triés par nombre de pages vues.

Lorsqu’un robot d’exploration web problématique frappe le site, le nombre de ses pages vues sera bien supérieur à celui des autres robots d’exploration web. Notez qu’il peut y avoir un certain nombre de robots d’exploration web malveillants à l’œuvre en même temps.

Blocage et limitation des robots d’exploration

C’est une bonne pratique de ne pas bloquer les robots d’exploration des principaux moteurs de recherche, tels que Google, Bing, Baidu (chinois), Yandex (russe), Naver (coréen), DuckDuckGo, Yahoo et d’autres, en fonction de votre pays.

Lorsqu’un robot d’exploration web devient incontrôlable, il y a de fortes chances que le même robot ait visité d’autres sites et que quelqu’un d’autre ait déjà demandé des informations ou créé des rapports à son sujet qui seront utiles pour déterminer s’il faut limiter ou bloquer ce robot d’exploration particulier.

Notez que certains robots d’exploration peuvent générer un grand nombre de pages vues si vous utilisez des services tiers pour surveiller ou ajouter des fonctionnalités à votre site via des scripts, etc.

Pour obtenir une liste des robots d’exploration web non fiables, vous pouvez consulter cette liste, https://github.com/mitchellkrogza/apache-ultimate-bad-bot-blocker/blob/master/robots.txt/robots.txt

Ajustement des paramètres des robots d’exploration

Dans Admin > Paramètres, il existe quelques réglages qui peuvent aider à limiter le débit de certains robots d’exploration :

  • Ralentir les robots d’exploration en utilisant :

    • slow down crawler user agents — par défaut, cela inclut gptbot, claudebot, anthropic-ai, et brightbot
    • slow down crawler rate — le nombre de secondes entre les requêtes autorisées par robot d’exploration (défaut : 60)
  • Bloquer les robots d’exploration avec :

    • blocked crawler user agents — par défaut, cela inclut mauibot, semrushbot, ahrefsbot, blexbot, et seo spider
  • Autoriser uniquement des robots d’exploration spécifiques avec :

    • allowed crawler user agents — lorsqu’il est défini, seuls les robots d’exploration listés seront autorisés à accéder au site ; tous les autres seront bloqués. Cela agit comme une liste d’autorisation stricte. Avertissement : la définition de ceci remplacera blocked crawler user agents et bloquera tous les robots d’exploration qui ne sont pas sur la liste, y compris les principaux moteurs de recherche s’ils ne sont pas inclus.

Assurez-vous de connaître le nom d’agent utilisateur exact pour les robots d’exploration que vous souhaitez contrôler. Si vous ajustez l’un des paramètres ci-dessus et que vous ne constatez pas de réduction des pages vues de cet agent, vous voudrez peut-être vérifier que vous utilisez le bon nom.

En cas de doute sur la marche à suivre, commencez toujours par l’option « ralentir » plutôt que par un blocage complet. Vérifiez au fil du temps s’il y a des améliorations. Vous pouvez procéder à un blocage complet si vous ne constatez pas de résultats appréciables.

17 « J'aime »

Devrait-il y avoir une sorte d’avertissement indiquant que cela ne fonctionne qu’avec ceux qui se comportent bien ? Et même Google contournera tout cela lorsqu’il proviendra de liens de Gmail.

Les deux sont appliqués sur le serveur.

Cependant, si un mauvais bot se fait passer pour Chrome ou quelqu’un d’autre en usurpant les en-têtes, nous ne pouvons pas utiliser les en-têtes pour le détecter…

2 « J'aime »

Fait killer : les cartes d’aperçu comptent comme une vue de page !

Le serveur que j’administre semble avoir été submergé de requêtes de cartes d’aperçu du type http.rb/5.1.0 (Mastodon/4.0.2; + [https://mstdn.science/](https://mstdn.science/))

Je ne pense qu’une action puisse être entreprise à part dire aux utilisateurs de Mastodon d’inclure une image afin que la carte d’aperçu ne soit pas ajoutée automatiquement.

1 « J'aime »

Je reçois déjà plus de 1500 visites par jour de la part des robots d’exploration. :tired_face: Puis-je tous les bloquer en utilisant Cloudflare DNS ? Ou quelle option est nécessaire pour les bloquer tous de force ? (Instance privée)

Je n’en veux tout simplement pas.

Utiliser Nginx comme proxy inverse et bloquer les user agents indésirables. Cela aide beaucoup. Bloquer les pays dont vous n’avez pas besoin aide aussi énormément.

Je ne peux pas bloquer les États-Unis, la France et l’Allemagne (grands pays hébergeant des VPS), mais pour moi, la Russie, le Vietnam, l’Iran, l’Irak, etc. ont beaucoup aidé.

Mais Discourse est assez… est-ce que “résilient” est le bon mot. La situation est très différente de celle de WordPress où ces robots SEO inutiles, ces “knockers”, ces script kiddies et ces acteurs malveillants peuvent facilement mettre un serveur à genoux.

2 « J'aime »

J’héberge chez Hetzner Allemagne, avec seulement deux ports ouverts dans mon pare-feu (80/443). Et Discourse fonctionne derrière le gestionnaire de proxy NGINX (certes, il existe de meilleures solutions, mais je suis trop paresseux pour coder et j’aime les interfaces web).

Maintenant, je vais opter pour la liste blanche, avec une chaîne aléatoire comme seule entrée autorisée… à partir de maintenant, plus de vues de page :smiley:

Une question sur ce qu’il faut mettre exactement dans « ralentir les agents utilisateurs des robots d’exploration ».
Pour nous, Facebook est un coupable majeur, Bing étant un troisième proche.
Le rapport montre les agents suivants comme principaux robots d’exploration qui consomment des vues de page :

Que faut-il mettre exactement dans « ralentir les agents utilisateurs des robots d’exploration » - ces URL exactes incluant « https » ou « http » ? Ou tout ce qui suit les doubles barres obliques ? Ou autre chose ? Ou devons-nous procéder par essais et erreurs ?

Merci !

Pour simplifier, vous devriez utiliser les noms de ces robots. Mais vous pouvez utiliser n’importe quelle partie de la chaîne de l’agent utilisateur, mais assurez-vous que cela n’affecte pas plus que ce que vous souhaitez.

Ralentir les robots est une méthode très peu fiable, mais certains suivent cette règle. Mais ceux-ci proviennent de vos partages, etc. et ne créent pas autant de charge de travail. WordPress serait une autre histoire.

Mais cela fait partie de ma liste de robots bloqués. Vous comprenez l’idée.

1 « J'aime »

Merci pour cela, @Jagster - très utile. J’ai parfois l’impression de jouer au jeu du « whac-a-mole », mais je comprends l’idée d’utiliser une partie de la chaîne du nom du crawler plutôt que la totalité.\n\nUn travail en cours pour moi en tant qu’administrateur du site, je suppose - en avant !

1 « J'aime »

Il peut y avoir plusieurs raisons, mais Googlebot a son budget, et lorsque les sitemaps sont le moyen le plus important de trouver des liens, il n’atteint jamais les liens internes lorsque le budget quotidien/hebdomadaire/mensuel est utilisé.

Et dans un forum, les liens internes sont importants pour les utilisateurs, pas pour Google.

Mais je ne sais pas si Googlebot voit les liens internes. Il devrait, cependant.

1 « J'aime »