Bloquez les robots qui ralentissent votre Odoo

Scrapers de prix, robots de réservation et robots des IA chargent vos pages publiques des milliers de fois par jour. Anti-Bot Rate Limiter les arrête à l’entrée d’Odoo, avant la session et le rendu de la page. Il fonctionne aussi sur Odoo.sh, où vous n’avez ni nginx ni pare-feu.

  • 49 €
  • Odoo 18 · 19 · 20
  • Community & Enterprise
  • Odoo.sh

Un problème que l’interface d’Odoo ne montre jamais

Un robot ne crée ni utilisateur, ni enregistrement, ni erreur. On n’en voit que les effets.

Un site lent sans raison apparente

Les pages publiques ralentissent aux heures creuses comme aux heures pleines, sans qu’aucun changement n’ait été fait.

Des workers tués, des crons en retard

Le serveur sature par vagues : Odoo.sh redémarre des workers, les tâches planifiées attendent leur tour.

Une formule Odoo.sh plus chère… pour rien

Ajouter de la capacité ne règle rien : le robot l’occupe aussi. Le problème est le volume, pas la puissance.

Jusqu’à 77 % du serveur pour un seul robot

Sur une base Odoo.sh de production que nous maintenons : 175 000 requêtes par jour sur les pages de prise de rendez-vous, depuis une soixantaine d’adresses d’une même plage, sans reverse DNS. Après blocage, sur deux journées comparables (même jour de la semaine) :

−96 %temps serveur du robot
−63 %temps serveur total
50 → 5minutes saturées
12 → 0workers tués

Le temps de réponse d’une page pour un visiteur humain, lui, n’a pas baissé : le gain porte sur la capacité libérée et la fin des saturations. Lire le cas complet.

Ce que fait Anti-Bot Rate Limiter

Une protection pensée pour Odoo : elle connaît ses URL, ses workers et ses utilisateurs connectés.

Règles par URL

Motifs d’URL (/appointment*, /shop*), méthode HTTP et User-Agent, avec un quota sur une fenêtre glissante. Le préfixe de langue est ignoré.

Par adresse ou par réseau

Comptage par IP ou par réseau (/24 en IPv4, /64 en IPv6) : un robot qui tourne sur toute une plage est vu comme un seul.

Observer, puis bloquer

Le mode Observer compte ce qui serait refusé sans rien refuser. Le mode Bloquer répond « 429 Too Many Requests », puis bannit temporairement le réseau.

Listes autoriser / bloquer

Vos bureaux et vos partenaires toujours autorisés, une plage bloquée pour de bon, les bannissements automatiques levés en un clic.

Rapport de trafic

Requêtes par adresse et par heure, en liste, tableau croisé et graphique. Bloquer un réseau depuis le rapport en un clic.

Zéro requête SQL par visite

Chaque worker compte en mémoire et partage ses compteurs toutes les 5 secondes, en un seul envoi. Un refus coûte quelques millisecondes.

Rapport de trafic d’Anti-Bot Rate Limiter dans Odoo, groupé par réseau : une plage refusée 53 746 fois, des visiteurs normaux à quelques dizaines de requêtes
Le rapport de trafic, groupé par réseau : une plage de robots refusée des dizaines de milliers de fois, les vrais visiteurs à quelques dizaines de requêtes.
Formulaire d’une règle Anti-Bot Rate Limiter : chemins, 120 requêtes par 60 secondes, comptage par réseau, mode Bloquer, bannissement de 10 minutes
Une règle : les pages coûteuses, 120 requêtes par minute et par réseau, puis 10 minutes de bannissement.

Installé en cinq minutes, sans rien bloquer par erreur

  1. Installer le module

    Quatre règles sont créées en mode Observer : site entier, connexion, pages publiques coûteuses, robots IA et SEO. L’installation ne refuse rien.

  2. Lire le trafic

    Après une journée, le rapport montre qui charge votre serveur : réseau, URL, User-Agent, requêtes, et ce qui aurait été refusé.

  3. Passer en Bloquer

    Basculez les seules règles dont les chiffres vous ont convaincu. Les changements s’appliquent en 5 secondes, sans redémarrage.

  4. Ajuster les listes

    Autorisez vos bureaux et vos intégrations, bloquez les plages connues, levez un bannissement si besoin.

Questions fréquentes

Non, pas avec les règles par défaut : les moteurs de recherche explorent généralement bien en dessous de 300 pages par minute depuis une adresse, et la règle « robots » ne vise que des outils IA et SEO, en mode Observer. Un « 429 » est compris par les moteurs comme « ralentissez », pas comme une erreur.
Non. Le contrôle d’une requête ne lit que la mémoire du worker, sans requête en base. L’état partagé est écrit toutes les 5 secondes en un seul envoi, et chaque seconde seulement pendant une attaque.
Oui, c’est même le cas pour lequel il a été conçu : Odoo.sh ne donne accès ni à nginx ni à un pare-feu. Sur un serveur à vous, derrière un proxy, démarrez Odoo avec --proxy-mode.
Cloudflare arrête le trafic avant Odoo, ce qui est encore mieux quand vous pouvez régler son pare-feu. Le module couvre les cas où ce n’est pas possible et les robots qui passent quand même.
Non. Les utilisateurs connectés, les adresses privées (réseau du bureau, proxy) et les réseaux autorisés ne sont jamais comptés. Et au moindre doute, le module laisse passer la requête.

Votre Odoo est lent et vous ne savez pas pourquoi ?

On regarde ensemble vos journaux de serveur. 30 minutes, sans engagement.