Ressources pour développeur web

Théme de la semaine : WebDesign

GoSpider : le guide complet pour crawler un site

Temps de lecture estimé : 7 minutes
Accueil HTML5 GoSpider : le guide complet pour crawler un site

Vous cherchez un outil simple et efficace pour analyser la structure d’un site web ? GoSpider est un crawler puissant qui vous permet d’explorer les pages, détecter les erreurs et améliorer le SEO rapidement. Découvrez comment Google voit vraiement votre site et comprenez pourquoi certaines pages ne ressortent pas, ou pourquoi votre maillage interne ne fonctionne pas comme prévu.

  • Explorer un site web comme un moteur de recherche et identifier les problèmes qui freinent sa visibilité
  • Savoir utiliser un outil simple pour analyser ses pages, détecter les erreurs et améliorer son maillage interne
  • Gagner en autonomie pour auditer et optimiser son site sans dépendre d’outils complexes ou coûteux

Dans ce tutoriel, vous allez apprendre à utiliser GoSpider pas à pas. On va découvrir son fonctionnement, l’installer, l’utiliser, et surtout comprendre ce qu’il vous raconte (parce que oui… au début, ça peut sembler un peu barbare).

À quoi ça sert GoSpider ?

Imaginez un petit robot qui visite toutes les pages de votre site, comme le ferait Google. Il suit les liens, explore les pages, et vous rapporte tout ce qu’il trouve.

GoSpider
  • C’est exactement ce que fait GoSpider.

Un outil polyvalent : SEO, pentest et OSINT

GoSpider est un crawler web, c’est-à-dire un outil capable de parcourir automatiquement un site web pour en extraire des informations.

Selon votre objectif, vous pouvez l’utiliser pour plusieurs choses :

En SEO (référencement naturel)

C’est l’usage principal. GoSpider vous permet de :

  • visualiser la structure de votre site
  • détecter les pages oubliées (pages orphelines)
  • analyser votre maillage interne
  • repérer les erreurs (liens cassés, redirections…)

Exemple concret : Vous avez un article sur votre blog qui ne reçoit aucune visite. Avec GoSpider, vous pouvez vérifier s’il est bien lié depuis d’autres pages.

En pentest (sécurité)

GoSpider peut aussi être utilisé pour :

  • trouver des endpoints cachés
  • détecter des fichiers sensibles accessibles
  • explorer les paramètres d’URL

Un développeur peut découvrir des routes API non protégées.

En OSINT (recherche d’information)

Enfin, il peut servir à collecter :

  • des URLs internes
  • des sous-domaines
  • des ressources exposées

Bref, GoSpider est un outil simple mais puissant, qui fait une chose très bien : explorer.

Installer GoSpider

L’installation est rapide.

Vérifiez que Go est installé

go version

Si vous n’avez rien → installez Go :

brew install go

2. Installez GoSpider

go install github.com/jaeles-project/gospider@latest

3. Ajoute Go au PATH (si nécessaire)

Souvent indispensable :

export PATH=$PATH:$(go env GOPATH)/bin

Puis ajoute-le dans ton .zshrc pour que ce soit permanent.

4. Vérifie l’installation

gospider -h
GoSpider dans le terminal

Premiers pas avec GoSpider

On va commencer simple.

Lancer un premier crawl

Testez avec votre site :

gospider -s https://mon-site.fr

GoSpider va commencer à explorer toutes les pages accessibles.

👉 Ce que vous allez voir :

  • des URLs qui défilent
  • des statuts (200, 301, 404…)
  • des ressources détectées

Si GoSpider ne crawl qu’une seule page, c’est que l’outil s’arrête précautionneusement à la page d’accueil, c’est généralement dû à une configuration par défaut un peu trop restrictive ou à la structure même du site.

Voici les raisons principales et comment « forcer » GoSpider à aller plus loin :

La profondeur du crawl (--depth)

Par défaut, GoSpider a une profondeur assez faible. Si les liens intéressants sont situés deux ou trois clics après la page d’accueil, il ne les verra pas sans cet argument.

  • Solution : Augmentez la profondeur à 3 ou 5.
gospider -s "https://mond-site.fr" -d 3

Le périmètre du domaine (--include-other-source)

Parfois, GoSpider reste bloqué car il ne cherche pas activement dans les sources tierces (archives, moteurs de recherche) qui pointent vers des pages internes.

  • Solution : Activez la recherche via des sources passives pour découvrir des URLs historiques.
gospider -s "https://mon-site.fr" --other-source

Les sous-domaines (--include-subs)

Si le site mon-site.fr redirige vers des sous-domaines ou si les ressources sont hébergées sur des sous-domaines (ex: api.mon-site.fr), GoSpider les ignorera par défaut pour ne pas « sortir » de la cible.

  • Solution : Ajoutez l’option pour inclure les sous-domaines.
gospider -s "https://mon-site.fr" --include-subs

Le rendu JavaScript

C’est le point le plus probable pour les sites modernes : GoSpider est un crawler « statique » (il lit le code HTML brut). Si le site est une application Single Page (SPA) construite avec React, Vue, Angular ou Svelte, les liens n’existent pas dans le code source initial mais sont générés en JavaScript.

  • Le problème : GoSpider ne « voit » pas ces liens car il n’exécute pas le JS.
  • Solution : Dans ce cas, GoSpider montre ses limites. Il est souvent couplé à un outil comme Katana (de ProjectDiscovery) qui possède un mode « headless » (navigateur réel) pour interpréter le JavaScript.

La commande « ultime » pour tester

Essayez cette combinaison qui est beaucoup plus agressive :

gospider -s "https://mon-site.fr" -d 3 --include-subs --other-source -r

Petite vérification manuelle :

Si vous ouvrez le site dans votre navigateur, les menus de navigation sont-ils des liens standards (ex: <a href="/contact">) ou est-ce que rien ne se passe quand vous désactivez JavaScript ? Si c’est du tout-JavaScript, GoSpider restera malheureusement aveugle.

Souhaitez-vous que je vous montre comment utiliser un outil complémentaire comme Katana pour pallier ce problème de JavaScript ?

Comprendre les résultats

Au début, ça peut sembler incompréhensible. C’est normal.

Les statuts HTTP

Chaque URL a un statut :

  • 200 → OK, la page fonctionne
  • 301 / 302 → redirection
  • 404 → page introuvable (mauvais signe)
  • 500 → erreur serveur

Exemple concret :

[200] https://mon-site.fr/blog
[404] https://mon-site.fr/ancienne-page

Ici, vous avez une page cassée à corriger.

👉 Aller plus loin avec Les codes de statut HTTP.

Formation web et informatique - Alban Guillier - Formateur

Des formations informatique pour tous !

Débutant ou curieux ? Apprenez le développement web, le référencement, le webmarketing, la bureautique, à maîtriser vos appareils Apple et bien plus encore…

Formateur indépendant, professionnel du web depuis 2006, je vous accompagne pas à pas et en cours particulier, que vous soyez débutant ou que vous souhaitiez progresser. En visio, à votre rythme, et toujours avec pédagogie.

Découvrez mes formations Qui suis-je ?

Les liens internes

GoSpider vous montre comment les pages sont liées entre elles.

Exemple :

https://mon-site.fr -> https://mon-site.fr/blog

Cela signifie que votre page d’accueil pointe vers votre blog. C’est important car Google suit ces liens pour comprendre votre site.

Utiliser le mode « Verbose » pour voir la source

Pour savoir quelle page a mené à quelle autre, vous devez demander à GoSpider d’afficher la provenance de chaque lien trouvé.

Utilisez l’option -v (verbose). Dans la sortie, vous verrez une structure de ce type :

[href] - [https://source.com] -> https://destination.com

Exporter les données pour analyse

Pour manipuler ces données et voir les connexions, le plus simple est d’enregistrer la sortie dans un fichier :

gospider -s "https://mon-site.fr" -d 3 -o output_dir -v

Dans le dossier output_dir, vous trouverez un fichier texte par domaine. Chaque ligne indique le lien trouvé.

Visualiser le graphe (Le « Maillage »)

GoSpider lui-même ne génère pas de graphique (image). Pour transformer la liste de liens de GoSpider en une carte visuelle des relations, les professionnels utilisent souvent un format de données appelé DOT ou des outils de visualisation de graphes comme Gephi ou Obsidian (avec le plugin Canvas).

👉 Pour en savoir plus : Cartographie du maillage interne WordPress avec Gephi

Si vous voulez simplement voir quels fichiers (JS, images, liens internes) sont appelés par une page précise :

  1. GoSpider va extraire tous les liens.
  2. Regardez dans le dossier de sortie le fichier nommé mon_site_fr.
  3. Chaque ligne qui commence par [linkfinder] vous montre les relations extraites directement du code source de la page visitée.

Une alternative plus visuelle

Si votre but est vraiment de voir la hiérarchie visuelle (un arbre généalogique du site), GoSpider n’est peut-être pas l’outil le plus intuitif seul.

Beaucoup d’utilisateurs redirigent la sortie de GoSpider vers des outils comme Gowitness (pour prendre des captures d’écran de chaque page trouvée) ou utilisent Burp Suite (Target > Site Map) qui construit automatiquement cet arbre relationnel au fur et à mesure du scan.

Les ressources détectées

GoSpider peut aussi extraire :

  • fichiers JS
  • images
  • endpoints API

Exemple :

https://mon-site.fr/js/script.js

Les options utiles

Maintenant qu’on a compris la base, passons aux options.

Limiter la profondeur

gospider -s https://mon-site.fr -d 2

Comme vu précédemment, cela limite l’exploration à 2 niveaux.

Très utile pour éviter de crawler tout le site inutilement.

Sauvegarder les résultats

gospider -s https://mon-site.fr -o output.txt

Vous obtenez un fichier exploitable.

Extraire uniquement les URLs

gospider -s https://mon-site.fr -q

Résultat propre, parfait pour analyse SEO.

Exemple concret d’analyse SEO

Imaginez que vous analysez votre site mon-site.fr.

Vous lancez :

gospider -s https://mon-site.fr -o crawl.txt

En ouvrant le fichier, vous remarquez :

  • plusieurs pages en 404
  • certaines pages jamais liées
  • beaucoup de redirections inutiles

Action concrète a effectuée :

  • corriger les liens cassés
  • ajouter des liens internes
  • simplifier les redirections

C’est exactement ce que fait un audit SEO.

Comparatif avec Katana et hakrawler

Katana ou Hakrawler sont souvent comparés à GoSpider.

GoSpider, Katana et Hakrawler sont trois outils de crawling orientés sécurité et analyse web, mais chacun a sa philosophie.

GoSpider mise sur la simplicité et la rapidité pour extraire des URLs à partir d’un site, idéal pour un premier niveau d’exploration.

Katana, développé par ProjectDiscovery, va beaucoup plus loin avec un moteur moderne capable de gérer le JavaScript, les formulaires et des scénarios complexes, ce qui en fait un crawler très complet pour les audits avancés.

Hakrawler, quant à lui, est ultra léger et rapide, parfait pour des pipelines automatisés ou du bug bounty, mais plus limité en profondeur.

  • En résumé, GoSpider est simple et efficace, Hakrawler est minimaliste et rapide, tandis que Katana est le plus puissant et polyvalent.
CritèreGoSpiderKatanaHakrawler
Facilité d’utilisation⭐⭐⭐⭐☆ (simple)⭐⭐⭐☆☆ (plus technique)⭐⭐⭐⭐⭐ (très simple)
Performance⭐⭐⭐⭐☆⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐
Support JavaScript❌ limité✅ avancé❌ non
Profondeur de crawl⭐⭐⭐☆☆⭐⭐⭐⭐⭐⭐⭐☆☆☆
Extraction d’URLs⭐⭐⭐⭐☆⭐⭐⭐⭐⭐⭐⭐⭐⭐☆
Automatisation (CLI)⭐⭐⭐⭐☆⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐
Cas d’usage principalSEO, scraping basiqueAudit complet, pentest, crawling avancéBug bounty, reconnaissance rapide
Courbe d’apprentissageFaibleMoyenne à élevéeTrès faible

Tableau des commandes essentielles de GoSpider

CatégorieOption (Flag)Description
Cible-s--siteSpécifie l’URL cible (ex: https://example.com).
-S--sitesChemin vers un fichier contenant une liste d’URLs à scanner.
Configuration-c--concurrencyNombre de threads simultanés (Défaut : 20).
-d--depthProfondeur maximale du crawl (Défaut : 2).
-t--timeoutTemps d’attente max pour une requête (Défaut : 10s).
-r--random-useragentUtilise un User-Agent aléatoire pour chaque requête.
Filtrage--blacklistRegex pour exclure certains liens (ex: images, pdf).
--whitelistRegex pour n’inclure que certains liens spécifiques.
--include-subsInclut les sous-domaines trouvés dans le scan.
Sortie (Output)-o--outputDossier où sauvegarder les résultats.
-v--verboseAffiche plus de détails sur les erreurs en temps réel.
--no-passiveDésactive les sources passives (OTX, WayBackMachine, etc.).
Authentification-H--headerAjoute un header personnalisé (ex: Cookie: session=123).

GoSpider n’est pas l’outil le plus flashy du monde, et clairement, il ne va pas vous faire des graphiques colorés comme certains logiciels SEO. Mais justement… c’est sa force.

Il vous montre la réalité brute de votre site. Sans filtre.

Et quand vous commencez à comprendre ce qu’il vous dit, vous entrez dans une autre dimension : celle où vous ne subissez plus votre SEO, mais où vous le maîtrisez.

Alors oui, au début ça pique un peu. Mais une fois apprivoisé, GoSpider devient un allié redoutable. Et entre nous… il a ce petit côté “outil de hacker” qui donne presque envie de lancer des scans juste pour le plaisir.