Dans cet article, nous allons présenter l’architecture générale du crawler SEO de Babbar, Barkrowler. Un crawler web, également appelé robot, est un programme utilisé par des moteurs de recherche comme Google ou Bing pour explorer et collecter des informations sur l’immensité du Web.
Cependant, contrairement à Google, l’objectif principal de Babbar n’est pas de créer un moteur de recherche avec un index inversé destiné à répondre aux requêtes des utilisateurs. Il s’agit plutôt de recueillir des données sur les pages web, les sites et les domaines, ainsi que sur les liens qui les relient. Nous devons tout de même analyser le contenu et calculer des métriques de « popularité », ce qui fait que le travail réalisé par un crawler SEO généraliste est très proche de celui d’un crawler de moteur de recherche.
Voyons d’abord ce qu’est le web crawling en général, comment il se distingue du web scraping, et d’un index de recherche complet.
Qu’est-ce que le web crawling ?
Le web crawling est le processus consistant à explorer systématiquement des sites web et des pages pour identifier et indexer du contenu pertinent. Les crawlers de moteurs de recherche, tels que Barkrowler, visitent les pages web, lisent leur contenu et suivent les liens vers d’autres pages au sein du même site. Le crawler analyse ensuite les données collectées et extrait des informations utiles, comme les mots-clés, les métadonnées et le texte, qui seront ensuite utilisées par les moteurs de recherche pour fournir des résultats plus précis.
Pour assurer une exploration efficace, les crawlers s’appuient sur des algorithmes et des techniques avancées. Ils donnent la priorité aux sites populaires et fréquemment mis à jour, garantissant ainsi aux moteurs de recherche de disposer des informations les plus récentes. Les crawlers doivent également être prudents et respecter les consignes des propriétaires de sites web, car un crawling excessif peut surcharger les ressources des serveurs et perturber le fonctionnement des sites.
Le web scraping, quant à lui, est une technique visant à extraire des données spécifiques des sites web. Cet aspect ne sera pas abordé ici.
L’optimisation pour les moteurs de recherche (SEO) joue un rôle essentiel pour améliorer la visibilité et le classement d’un site dans les résultats de recherche. En optimisant le contenu, la structure et les balises méta d’un site web, les propriétaires de sites augmentent leurs chances d’être indexés et mieux classés par les moteurs de recherche. Comprendre le fonctionnement des crawlers permet de mettre en œuvre des stratégies SEO efficaces afin de générer un trafic organique sur les sites.
Le crawler de Babbar
La mission de Babbar est de fournir les informations les plus précises sur le web, de manière indépendante, afin que nos clients disposent de données de haute qualité sur leur propre site, mais également sur ceux de leurs concurrents, ainsi que sur les sites pertinents liés à leur activité (sites d’actualités, blogs, etc.). Pour atteindre cet objectif, nous devons collecter et analyser le contenu d’un grand nombre de pages web, exactement comme le ferait un moteur de recherche tel que Google ou Bing. En d’autres termes, nous devons explorer le web et effectuer un scraping d’informations générique, comme si nous disposions d’un index complet du web.
Le crawler de Babbar est une technologie de pointe qui reflète notre engagement envers l’innovation et l’efficacité. Bien que nous soyons une entreprise de taille relativement modeste, nous avons réussi à concevoir une solution qui rivalise avec les géants de l’industrie en termes de performance et de scalabilité. C’est une immense source de fierté pour notre équipe, car cela démontre notre capacité à repousser les limites du possible dans le domaine de la technologie SEO.
Notre crawler a constamment prouvé son excellence sur le terrain. Par exemple, selon le classement des bots de Cloudflare, le crawler de Babbar se classe comme le 3ᵉ bot le plus efficace dédié au SEO, au coude-à-coude avec les meilleurs de l’industrie. Encore plus impressionnant, il figure parmi les 20 meilleurs crawlers au monde, un accomplissement remarquable dans un environnement aussi compétitif. À un moment donné, nous avons même atteint la 2ᵉ place, et nous continuons à être très compétitifs, souvent à égalité avec le dotbot de Moz.

Cette réussite reflète non seulement l’excellence technique de notre crawler, mais également le soin minutieux apporté à l’optimisation de ses performances. De ses algorithmes sophistiqués à son architecture économe en ressources, chaque aspect du crawler a été conçu pour offrir des résultats exceptionnels tout en minimisant les contraintes. Le crawler de Babbar est une véritable démonstration de ce qu’une équipe passionnée et concentrée peut accomplir, prouvant que la taille n’est pas un obstacle à l’excellence dans le domaine de la technologie SEO.
Barkrowler est le nom (et la chaîne User-Agent) de notre Fetcher. En décembre 2024, nous traitons environ 3,3 milliards de pages par jour, comme le montre notre système de suivi :

Cet article porte sur l’architecture d’un « crawler », bien plus qu’un simple logiciel envoyant des requêtes GET sur le Web.
Avant d’entrer dans les détails de l’architecture, revenons sur l’historique qui nous a conduits à travailler sur un crawler, et surtout sur l’index destiné à capturer une image fidèle du Web.
Les origines de la technologie de Babbar : une évolution du traitement sémantique vers le crawling avancé
Avant la création officielle de Babbar, notre équipe posait déjà les bases de ce qui deviendrait le cœur de notre technologie. Cette aventure a commencé avec le développement de notre technologie de calcul d’embeddings textuels, qui alimente aujourd’hui plusieurs fonctionnalités clés de notre plateforme, comme le calcul de la valeur sémantique, la force induite et d’autres métriques avancées. Voici un aperçu de notre évolution :
1. La technologie des embeddings textuels (2008 – 2017)
- Développement et premières innovations (2008) : Notre technologie interne d’embeddings textuels a vu le jour en 2008, conçue pour représenter les textes humains sous forme de vecteurs numériques. Ces vecteurs permettent de calculer des distances sémantiques, un pilier pour analyser et interpréter le sens des textes à grande échelle.
- Atout clé : Haut débit pour l’apprentissage et l’inférence.
- Algorithme d’apprentissage à l’échelle du Web (2015) : Nous avons développé une version capable de gérer de vastes ensembles de données, s’appuyant sur des processus d’apprentissage en ligne pour s’adapter dynamiquement.
- Montée en puissance (2017) : Pour tester la robustesse et l’efficacité de notre système, nous avons commencé à l’entraîner sur des ensembles de données massifs.
2. Expérimentation avec des ensembles de données à l’échelle du Web
- Premières expériences avec CommonCrawl : Bien que vastes, ces ensembles de données contenaient beaucoup de bruit, ce qui posait des défis tout en offrant des apprentissages précieux.
- Intégration de BUbiNG : Nous avons utilisé BUbiNG, un crawler open-source de l’Université de Milan. Bien qu’efficace pour le crawling, il manquait d’« intelligence » pour des tâches plus complexes et a rapidement montré ses limites.
- Prise de conscience du potentiel : Malgré ses limites, BUbiNG a montré que le SEO pouvait être révolutionné en repensant la qualité des données disponibles.
3. Une nouvelle vision : construire un outil SEO intelligent
- Redéfinir les métriques des moteurs de recherche : Plutôt que de créer un moteur de recherche complet, nous avons choisi de développer un système de calcul de métriques pour offrir des insights exploitables aux professionnels du SEO.
- Avancée du crawling : Nous avons conçu une solution complète en mettant l’accent sur le stockage et l’indexation.
4. Où en sommes-nous aujourd’hui ?
De cette progression — de la recherche en embeddings à l’exploration massive du Web — est née la plateforme sophistiquée qui alimente Babbar. Nous avons comblé des lacunes critiques en matière de qualité des données SEO, redéfinissant ainsi la manière dont les experts interagissent avec les données du Web.
Quelle est l’architecture d’un crawler général ?
Un crawler classique explore un site, mais il se distingue nettement d’un crawler généraliste. Voici pourquoi :
- Continuité et mise à jour : Contrairement à un crawler ciblé, un crawler général fonctionne en continu, actualisant en permanence le graphe des liens et les informations des pages.
- Échelle : La taille de la liste des URL (appelée « Web Frontier ») augmente constamment, nécessitant des processus de gestion.
- Performances : Un crawler général traite des milliers de sites simultanément, exigeant une architecture optimisée et distribuée.
Les composants clés d’un crawler
- Fetcher : Gère les requêtes et collecte les réponses, incluant la résolution DNS, les caches, et les directives
robots.txt
. - Parser : Analyse les données HTML, extrait les métadonnées, les liens, et le contenu pertinent.
- Index : Stocke les données structurées pour faciliter la récupération, incluant des empreintes pour le contenu dupliqué.
- Politique de crawl : Détermine quelles URL prioriser, en fonction de métriques, historiques, et contraintes spécifiques.
- Calcul d’embeddings sémantiques : Analyse générique et robuste du contenu pour des métriques SEO avancées.
- Calcul des métriques : Fournit des indicateurs précis et frais, essentiels pour les professionnels et la gestion des ressources.
- Distribution et compression : Assure une mise à jour continue des données tout en optimisant les coûts.
Nous détaillerons ces aspects dans de futurs articles.