Ceci est une ancienne révision du document !
Table des matières
GEO Bot Monitor
Plugin WordPress pour surveiller les visites des robots SEO et GEO/AI sur votre site. Télécharger le plugin WordPress
Description
GEO Bot Monitor détecte et enregistre automatiquement les visites des robots sur votre site WordPress. Il catégorise les robots en quatre groupes : SEO, GEO/IA, Réseaux sociaux et Autres.
Fonctionnalités
* Détection automatique de 50+ robots (Googlebot, Bingbot, GPTBot, Claude-Web, PerplexityBot…) * Catégorisation : SEO, GEO/IA, Réseaux sociaux, Autres * Tableau de bord avec statistiques en temps réel et graphiques * Comparaison de périodes pour mesurer l'impact d'une action * Exports : CSV (Excel), PDF, Markdown * API REST pour connexion avec applications externes * Maintenance : purge des données anciennes
Installation
1. Télécharger le dossier `geo-bot-monitor` 2. Le copier dans `wp-content/plugins/` 3. Activer le plugin dans l'admin WordPress 4. Accéder au menu Bot Monitor
Configuration
Configuration API
Pour connecter une application externe (comme GEO Bot Dashboard) :
1. Aller dans Bot Monitor > API 2. Cliquer sur Générer une nouvelle clé 3. Enregistrer 4. Utiliser cette clé dans votre application
Utilisation
Tableau de bord
Le tableau de bord affiche :
* Nombre total de visites sur la période sélectionnée * Répartition par catégorie de robots * Graphique d'évolution journalière * Top 20 des robots les plus actifs * Top 10 des pages les plus visitées par les robots
Comparaison de périodes
Cette fonctionnalité permet de comparer deux périodes pour mesurer l'impact d'une action SEO ou GEO :
1. Sélectionner la période 1 (référence) 2. Sélectionner la période 2 (à comparer) 3. Cliquer sur Comparer
Le résultat affiche la variation en nombre absolu et en pourcentage, détaillée par catégorie et par robot.
Exports
Trois formats d'export sont disponibles :
* CSV : Compatible Excel, séparateur point-virgule, encodage UTF-8 BOM * PDF : Rapport HTML stylisé avec résumé et tableaux * Markdown : Format texte pour documentation
Maintenance
La page de maintenance permet de :
* Voir la taille de la base de données * Sélectionner et supprimer des mois de données pour libérer de l'espace
API REST
Endpoints
{| class=“wikitable” ! Endpoint !! Méthode !! Description
/wp-json/geo-bot-monitor/v1/ping | GET | ||
/wp-json/geo-bot-monitor/v1/auth | POST | ||
/wp-json/geo-bot-monitor/v1/stats | GET | ||
/wp-json/geo-bot-monitor/v1/visits | GET | ||
/wp-json/geo-bot-monitor/v1/compare | GET | ||
/wp-json/geo-bot-monitor/v1/bots | GET | ||
/wp-json/geo-bot-monitor/v1/categories | GET | ||
/wp-json/geo-bot-monitor/v1/database | GET | ||
/wp-json/geo-bot-monitor/v1/months | GET | ||
/wp-json/geo-bot-monitor/v1/export | GET | ||
Authentification
Option 1 : Header HTTP (recommandé)
<pre> X-GEO-Bot-API-Key: votre_cle_api </pre>
Option 2 : Paramètre URL
<pre> ?api_key=votre_cle_api </pre>
Exemples de requêtes
Statistiques des 30 derniers jours
<pre> curl -H “X-GEO-Bot-API-Key: gbm_xxx” \
"https://example.com/wp-json/geo-bot-monitor/v1/stats"
</pre>
Statistiques personnalisées
<pre> curl -H “X-GEO-Bot-API-Key: gbm_xxx” \
"https://example.com/wp-json/geo-bot-monitor/v1/stats?start_date=2025-01-01&end_date=2025-01-31"
</pre>
Comparer deux périodes
<pre> curl -H “X-GEO-Bot-API-Key: gbm_xxx” \
"https://example.com/wp-json/geo-bot-monitor/v1/compare?period1_start=2025-01-01&period1_end=2025-01-15&period2_start=2025-01-16&period2_end=2025-01-31"
</pre>
Paramètres des endpoints
/stats
{| class=“wikitable” ! Paramètre !! Type !! Défaut !! Description
| start_date | string | -30 jours | |||
| end_date | string | aujourd'hui | |||
/visits
{| class=“wikitable” ! Paramètre !! Type !! Défaut !! Description
| start_date | string | -30 jours | |||
| end_date | string | aujourd'hui | |||
| bot_name | string | (vide) | |||
| bot_category | string | (vide) | |||
| page | integer | 1 | |||
| per_page | integer | 100 | |||
/compare
{| class=“wikitable” ! Paramètre !! Type !! Requis !! Description
| period1_start | string | Oui | |||
| period1_end | string | Oui | |||
| period2_start | string | Oui | |||
| period2_end | string | Oui | |||
Robots détectés
SEO
* Googlebot, Googlebot-Image, Googlebot-News, Googlebot-Video * Googlebot-Mobile, Google-InspectionTool * Bingbot, BingPreview * YandexBot, YandexImages, YandexMobileBot * Baiduspider, Baiduspider-image * DuckDuckBot, DuckDuckGo-Favicons-Bot * Applebot * Sogou web spider * Exabot * facebot, facebookexternalhit * ia_archiver * MJ12bot * AhrefsBot * SemrushBot * DotBot * Screaming Frog * SEOkicks * Seobility * SISTRIX * rogerbot, Moz
GEO / IA
* GPTBot (OpenAI) * ChatGPT-User * Claude-Web, ClaudeBot (Anthropic) * anthropic-ai * PerplexityBot * Google-Extended * Cohere-ai * CCBot (Common Crawl) * Bytespider (ByteDance/TikTok) * PetalBot * YouBot * Diffbot * OAI-SearchBot * Meta-ExternalAgent * Meta-ExternalFetcher * Amazonbot * ImagesiftBot * omgili, omgilibot * webzio
Réseaux sociaux
* Twitterbot * LinkedInBot * Pinterest, Pinterestbot * Slackbot * TelegramBot * WhatsApp * Discordbot * Snapchat
Autres
* UptimeRobot * Pingdom * StatusCake * Netcraft * W3C_Validator * Validator.nu * GTmetrix * WebPageTest * Chrome-Lighthouse * archive.org_bot * Feedfetcher
Structure des fichiers
<pre> geo-bot-monitor/ ├── geo-bot-monitor.php # Fichier principal ├── includes/ │ ├── bot-signatures.php # Signatures des robots │ ├── class-bot-api.php # API REST │ ├── class-bot-dashboard.php # Pages admin │ ├── class-bot-detector.php # Détection des robots │ ├── class-bot-exporter.php # Exports CSV/PDF/MD │ ├── class-bot-logger.php # Logging en BDD │ └── class-bot-settings.php # Page paramètres API ├── assets/ │ ├── css/admin.css # Styles admin │ └── js/admin.js # Scripts admin └── readme.md </pre>
Base de données
Table {prefix}_geo_bot_visits
{| class=“wikitable” ! Colonne !! Type !! Description
| id | BIGINT | ||
| visit_date | DATETIME | ||
| bot_name | VARCHAR(100) | ||
| bot_category | VARCHAR(20) | ||
| user_agent | TEXT | ||
| ip_address | VARCHAR(45) | ||
| url_visited | TEXT | ||
| http_status | SMALLINT | ||
| response_time | FLOAT | ||
Index
*
idx_date
: sur visit_date *
idx_bot
: sur bot_name *
idx_category
: sur bot_category *
idx_date_category
: composite sur visit_date et bot_category
Désinstallation
La désinstallation du plugin supprime automatiquement :
* La table
{prefix}_geo_bot_visits
* L'option
geo_bot_monitor_db_version
* L'option
geo_bot_monitor_api_key
Changelog
1.0.1
* Corrections de sécurité (sanitization, escaping) * Génération de clé API côté serveur * Ajout index composite pour performance * Nettoyage automatique à la désinstallation
1.0.0
* Version initiale
Informations techniques
* Requires at least: WordPress 6.0 * Tested up to: WordPress 6.7 * Requires PHP: 7.4 * License: GPLv2 or later
Auteur
Erwan Tanguy
