Traffic Radar — Guide complet
Installer, configurer et exploiter le tableau de bord temps réel Traffic Radar : compteur en ligne humains/bots, détection des crawlers IA, graphiques, heatmap, contrôle robots.txt et export CSV pour PrestaShop 8 et 9.
Traffic Radar affiche en temps réel qui visite votre boutique PrestaShop et sépare les vrais visiteurs des robots et des crawlers IA. Le module installe un tableau de bord dédié dans Statistiques → Traffic Radar : compteur en ligne instantané (humains contre bots), graphiques d’évolution, heatmap d’affluence, top des crawlers IA, flux d’activité live, contrôle des crawlers IA via robots.txt et export CSV. Ce guide couvre l’installation, les réglages, le fonctionnement de la détection, chaque vue du tableau de bord, la confidentialité et le dépannage.
Installation
- Téléchargez l’archive
dftrafficradar.zipdepuis votre compte DataFirefly. - Back-office PrestaShop → Modules → Téléverser un module → envoyez le ZIP.
- À l’installation, le module crée ses deux tables (
df_traffic_visitetdf_traffic_online), enregistre ses hooks et ajoute l’onglet Statistiques → Traffic Radar.
Compatible PrestaShop 8.0 à 9.x, en PHP 7.4 à 8.3. Aucun override de thème, aucune dépendance Composer, aucun CDN (Chart.js est embarqué en local). Compatible multiboutique et multilingue (FR, EN, ES, DE, IT).
Configuration
Rendez-vous dans Modules → DataFirefly Traffic Radar → Configurer.
- Activer le suivi : interrupteur principal. Désactivé, plus aucune visite n’est enregistrée.
- Enregistrer les bots / crawlers IA : désactivez-le pour ne suivre que les visites humaines.
- Anonymiser les adresses IP (RGPD) : les IP sont toujours hachées ; cette option masque en plus le dernier octet avant le hachage.
- Rétention des données (jours) : les visites plus anciennes sont supprimées automatiquement.
0= conservation illimitée. Valeur par défaut : 90. - Intervalle du heartbeat (secondes) : fréquence à laquelle un visiteur en ligne envoie un signal pour rester compté. Valeur par défaut : 15.
- Fenêtre « en ligne » (secondes) : un visiteur est considéré « en ligne maintenant » s’il a été vu pendant cette fenêtre. Valeur par défaut : 90.
- Adresses IP exclues : une par ligne (ou séparées par des virgules). Idéal pour ignorer votre propre trafic et celui de votre équipe.
Ajoutez vos IP de bureau dans les IP exclues dès l’installation pour que vos propres tests ne gonflent pas les statistiques.
Comment fonctionne la détection
Traffic Radar combine deux signaux complémentaires, ce qui lui permet de séparer réellement les humains des crawlers.
Détection côté serveur
À chaque page vue, via le hook actionFrontControllerSetMedia, le module classe le User-Agent à partir d’une base de plus de 40 signatures (IA, moteurs de recherche, SEO, social, monitoring) et l’affecte à un type. C’est ce qui permet de capturer les crawlers IA, qui n’exécutent presque jamais de JavaScript.
Heartbeat côté client
Un petit script (tracker.js) envoie périodiquement un signal au contrôleur front track pour maintenir les vrais visiteurs comptés « en ligne » entre deux pages. Comme les bots ne déclenchent pas ce battement, le compteur temps réel des humains reste propre.
Les requêtes AJAX et les sous-requêtes de modules (ajout au panier, wishlist, avis, ainsi que le heartbeat lui-même) ne sont pas comptées comme des pages vues : seules les vraies pages navigables sont enregistrées.
Le tableau de bord
L’onglet Statistiques → Traffic Radar regroupe toutes les vues, filtrables par période (aujourd’hui, 24 h, 7 / 30 / 90 jours, personnalisé) et par audience (tout le trafic, humains, tous les bots, ou un type de bot précis).
- En ligne maintenant : compteur temps réel séparé en humains et bots, rafraîchi à la cadence du heartbeat.
- KPI : visites, sessions uniques, visites humaines, visites bots et hits IA / LLM. Chaque KPI affiche sa variation (▲ / ▼ en pourcentage) par rapport à la période précédente de même durée.
- Visites dans le temps : courbe humains contre bots, avec granularité automatique (horaire ou journalière selon la période).
- Répartition de l’audience : donut par type (humain, IA, moteurs, SEO, social, monitoring, autres).
- Top crawlers IA : barres horizontales des crawlers IA les plus actifs (GPTBot, ClaudeBot, PerplexityBot, Google-Extended, Bytespider…).
- Heatmap d’affluence : grille heure × jour de la semaine.
- Top pages, referrers et pays : classements en barres.
- Flux d’activité live : dernières visites avec type, identité, page, appareil et pays.
Le compteur temps réel
Le bloc « En ligne maintenant » s’appuie sur la table df_traffic_online, mise à jour à chaque page vue et à chaque heartbeat. Un visiteur disparaît du compteur dès qu’il n’a plus été vu depuis la durée définie par la fenêtre « en ligne ».
Si le compteur reste à zéro alors que des visiteurs sont présents, vérifiez que vous utilisez la version 1.1.1 ou supérieure : une différence de fuseau horaire entre PHP et MySQL pouvait fausser la fenêtre temps réel dans les versions antérieures. Le correctif aligne la lecture sur l’horloge d’écriture.
Radar des nouveaux crawlers
Le panneau « Nouveaux crawlers détectés » met en évidence les bots dont la toute première visite enregistrée tombe dans la période analysée. C’est l’outil idéal pour repérer immédiatement l’arrivée d’un nouveau crawler IA sur votre catalogue : nom du bot, type, date de première apparition et nombre de hits.
Contrôle des crawlers IA (robots.txt)
Le centre de contrôle liste 25 crawlers IA connus avec leur token robots.txt officiel. Pour chacun, vous choisissez « autorisé » ou « bloqué » via une case à cocher ; les crawlers d’entraînement sont pré-cochés comme bloqués par défaut, tandis que les agents qui répondent à une requête utilisateur sont laissés passer.
- Les crawlers réellement vus sur votre boutique sont signalés par un badge.
- Deux préréglages en un clic : « Tout bloquer » et « Réglages recommandés ».
- Le module génère en direct un bloc
robots.txtprêt à coller, avec un bouton Copier.
Dans cette version, l’application est volontairement manuelle : vous copiez le bloc généré dans votre fichier robots.txt. Le module n’écrit jamais le fichier automatiquement, ce qui garantit que vos directives existantes ne sont jamais écrasées par surprise.
Widget sur le tableau de bord d’accueil
Le module greffe une carte « Traffic Radar » dans la colonne de droite du tableau de bord d’accueil du back-office (hook dashboardZoneTwo) : compteur en ligne en direct (humains / bots) et compteurs du jour (visites, humains, bots, IA / LLM), avec un raccourci vers le tableau de bord complet.
Export CSV
Le bouton CSV de la barre d’outils exporte l’intégralité du trafic correspondant aux filtres actifs (période et audience). Le fichier est encodé en UTF-8 avec BOM pour s’ouvrir proprement dans Excel, et contient une ligne par visite : date, type, nom du bot, appareil, page, referrer, pays, etc.
Confidentialité et RGPD
- Aucune adresse IP brute n’est stockée : uniquement des hachages SHA-1 salés.
- L’anonymisation optionnelle masque le dernier octet (IPv4) ou les derniers groupes (IPv6) avant le hachage.
- La rétention est configurable, avec purge automatique probabiliste : aucun cron n’est requis.
- La liste d’IP exclues permet d’ignorer votre propre trafic.
Le nettoyage des anciennes données se déclenche de façon probabiliste au fil du trafic. Si vous préférez un nettoyage déterministe, vous pouvez appeler la purge depuis un cron, mais ce n’est pas nécessaire.
Compatibilité et notes techniques
- PrestaShop 8.0 à 9.x, multiboutique et multilingue.
- Architecture PSR-4 sous le namespace
DataFirefly/TrafficRadar(séparateur antislash) avec autoloader embarqué, sans Composer. - Contrôleur d’administration legacy (
ModuleAdminController) pour la compatibilité PS8 / PS9. - Endpoints AJAX back-office via le 4ᵉ argument de
getAdminLink(); réponses JSON émises par une méthode dédiée. - Hooks utilisés :
actionFrontControllerSetMedia,displayHeader,dashboardZoneTwo. - Deux tables utf8mb4 indexées :
df_traffic_visit(journal des visites) etdf_traffic_online(présence, clé unique par session). - Chart.js embarqué en local, aucun appel CDN.
FAQ et dépannage
« En ligne maintenant » reste à zéro. Assurez-vous d’être en version 1.1.1 ou supérieure (correctif de fuseau horaire entre PHP et MySQL). Vérifiez aussi que le suivi est activé et que votre propre IP n’est pas dans la liste des IP exclues.
Des entrées « module-… » apparaissaient dans le flux. Corrigé en 1.1.1 : les requêtes AJAX et sous-requêtes de modules ne sont plus comptées comme des pages vues.
Les crawlers IA sont-ils vraiment détectés ? Oui. La détection serveur les capture même sans JavaScript. Les signatures couvrent OpenAI, Anthropic, Google-Extended, Perplexity, ByteDance, Meta, Mistral, Cohere, Amazon, Common Crawl et d’autres.
Le module ralentit-il la boutique ? Non. La classification du User-Agent est une simple comparaison de chaînes en mémoire, et le suivi se résume à un insert et un upsert indexés par page vue.
Un cache pleine page fausse-t-il les chiffres ? Les pages servies depuis un cache pleine page ne repassent pas par PHP et ne sont donc pas recomptées côté serveur. Le heartbeat JavaScript continue toutefois de maintenir les visiteurs humains comptés en ligne.
Compatible PrestaShop 1.7 ? Non, uniquement PrestaShop 8.0 à 9.x.