Définition
Un bot (robot ou crawler) est un programme informatique automatisé qui parcourt systématiquement le web pour collecter des informations. Les moteurs de recherche utilisent des bots pour découvrir, analyser et indexer les pages web, formant ainsi la base de leurs résultats de recherche.
Types de bots principaux
Bots des moteurs de recherche
Principaux search bots :
├── Googlebot : Google
├── Bingbot : Microsoft Bing
├── Slurp : Yahoo
├── Baiduspider : Baidu
├── Yandexbot : Yandex
└── DuckDuckBot : DuckDuckGo
Bots spécialisés
- AdsBot-Google : Vérification Google Ads
- Googlebot-Image : Indexation images
- Googlebot-Video : Contenu vidéo
- Googlebot-News : Google News
- facebookexternalhit : Aperçus Facebook
Fonctionnement des bots
Processus de crawl
1. Découverte URL
├── Sitemap XML
├── Liens internes
└── Liens externes
2. Requête HTTP
├── GET page content
└── Respect robots.txt
3. Analyse contenu
├── Parse HTML
├── Extract links
└── Evaluate content
4. Stockage index
Identification des bots
# User-Agent Googlebot
Mozilla/5.0 (compatible; Googlebot/2.1;
+http://www.google.com/bot.html)
# User-Agent Bingbot
Mozilla/5.0 (compatible; bingbot/2.0;
+http://www.bing.com/bingbot.htm)
Gestion des bots
Fichier robots.txt
# Autoriser tous les bots
User-agent: *
Allow: /
Crawl-delay: 1
# Bloquer bot spécifique
User-agent: BadBot
Disallow: /
# Limiter Googlebot
User-agent: Googlebot
Disallow: /private/
Crawl-delay: 10
Meta robots
<!-- Contrôle par page -->
<meta name="robots" content="index, follow">
<meta name="googlebot" content="noarchive">
<meta name="bingbot" content="nocache">
Optimisation pour les bots
Crawl budget
Facteurs d'optimisation :
├── Vitesse serveur : <500ms
├── Structure site : Profondeur limitée
├── Liens internes : Navigation claire
├── Contenu dupliqué : Minimisé
└── Erreurs HTTP : <1%
Faciliter le crawl
- Sitemap XML : Plan du site
- Architecture plate : 3 clics max
- Liens HTML : Pas de JavaScript
- Mobile-friendly : Responsive design
Analyse des logs bots
Informations extractibles
Log line exemple :
66.249.64.123 - - [15/Jan/2024:10:30:45 +0000]
"GET /page.html HTTP/1.1" 200 5234
"-" "Googlebot/2.1"
Analyse :
├── IP : Vérifier authenticité
├── Date/heure : Fréquence crawl
├── Page : Priorités bot
├── Status : Erreurs éventuelles
└── Taille : Ressources consommées
Métriques importantes
- Pages crawlées/jour
- Fréquence par section
- Ratio pages/ressources
- Temps réponse moyen
Bots malveillants
Types de bad bots
Bots néfastes :
├── Scrapers : Vol contenu
├── Spambots : Commentaires spam
├── DDoS bots : Attaques
├── Vulnerability scanners : Failles
└── Click fraud : Faux clics
Protection
# Nginx : Bloquer bad bots
if ($http_user_agent ~* (badbot|scraper|crawler)) {
return 403;
}
# Rate limiting
limit_req_zone $binary_remote_addr
zone=one:10m rate=10r/s;
Vérification authenticité
Googlebot authentique
# Vérification reverse DNS
host 66.249.64.123
# Doit finir par googlebot.com
# Double vérification
host crawl-66-249-64-123.googlebot.com
# Doit retourner l'IP originale
Évolution et IA
Bots modernes
- Rendu JavaScript : Chrome headless
- Mobile-first : Priorité mobile
- Core Web Vitals : Mesures UX
- IA understanding : Compréhension contextuelle
Les bots sont essentiels à la visibilité web. Optimiser pour leur passage garantit une indexation efficace et un meilleur référencement.