Crawler des sites de grande taille.
Comment crawler des sites de grande taille avec le mode "Database Storage" et quelques astuces.
Comment crawler des sites de plusieurs millions d’URL sans bloquer l’ordinateur : mode Database Storage, mémoire allouée, choix des éléments à crawler, exclusions, include et échantillonnage.
Le mode Database Storage
Pour crawler un site de plusieurs millions d’URL, le mode « Memory Storage », qui stocke les données en RAM, n’est pas le choix recommandé : mon premier conseil est donc de passer en « Database Storage » depuis 1File›2Settings›3Storage Mode (sur Mac, le menu Settings se trouve sous Screaming Frog SEO Spider).


Pour tirer le meilleur de SEO Spider dans ce mode, prévois un SSD interne, ou externe si ton système prend en charge l’UASP.
Mémoire allouée
Une fois le mode « Database Storage » choisi, la deuxième étape consiste à augmenter la mémoire allouée depuis 1File›2Settings›3Memory Allocation.
Voici une comparaison des performances selon le nombre maximal d’URL crawlables.
| Mémoire allouée | Mode RAM | Database Storage |
|---|---|---|
| 4 Go | 2 à 3 millions d’URL | |
| 8 Go | 200 000 URL (minimum requis pour les grands sites) | 5 millions d’URL |
| 16 Go | 10 millions d’URL |
Ces chiffres ne sont que des repères : pars toujours du principe que plus la mémoire allouée est élevée, meilleures seront les performances de SEO Spider.
Réduire les données à crawler
Attributs à crawler
Il n’est pas toujours nécessaire de crawler tout un site : mieux vaut adapter le crawl à l’objectif précis de l’analyse. N’oublie pas que plus tu collectes de données, plus tu sollicites la RAM.
Pour choisir les métriques à crawler et celles à exclure, modifie directement les réglages de SEO Spider dans 1Configuration›2Spider›3Crawl.

Selon le type d’analyse, tu peux désactiver le crawl et l’enregistrement des éléments suivants :
- Images* ;
- CSS* ;
- JavaScript* ;
- SWF*.
*En termes de mémoire, désactiver ces ressources a beaucoup de sens, mais si tu utilises le rendu JavaScript, il faut les laisser activées pour ne pas pénaliser le rendu.
- External Links ;
- Canonicals ;
- Pagination ;
- Hreflang ;
- AMP.
Tu peux aussi désactiver l’extraction d’éléments non essentiels comme les « Meta Keywords » ou d’autres attributs qui ne sont pas strictement nécessaires à l’analyse, depuis 1Configuration›2Spider›3Extraction, en choisissant parmi les « Page Details » (par ex. page title, word count, headings), les détails d’URL, les directives ou les données structurées.

En plus de ces éléments, je te conseille de désactiver la fonction de position des liens dans 1Configuration›2Custom›3Custom Link Positions.

Autre bonne pratique : éviter de crawler avec des fonctions avancées comme celles-ci, que tu pourras ajouter dans une deuxième phase :
- Custom Search.
- Custom Extraction.
- Intégration Google Analytics.
- Intégration Google Search Console.
- Intégration PageSpeed Insights.
- Spelling & Grammar.
- Intégration Link Metrics (Majestic, Ahrefs et Moz).
Exclure des URL
Pour un crawl plus léger et moins gourmand en mémoire, tu peux limiter le crawl à certaines zones du site et exclure des éléments comme les tris générés par la « navigation à facettes », certains paramètres d’URL ou des URL infinies avec des répertoires répétés, avec la fonction 1Configuration›2Exclude.
Grâce aux expressions Regex, cette fonction permet d’exclure les URL que tu ne veux pas crawler. Attention : si les URL exclues contiennent des liens vers d’autres pages, celles-ci ne seront pas crawlées non plus.
Pour bien comprendre l’intérêt de la fonction « Exclude », prenons un cas réel : le site de John Lewis.

Avec les réglages par défaut de SEO Spider, à cause des nombreux tris, le crawl comprendrait une série infinie d’URL comme celle-ci :
https://www.johnlewis.com/browse/men/mens-trousers/adidas/allsaints/gant-rugger/hymn/kin-by-john-lewis/selected-femme/homme/size=36r/_/N-ebiZ1z13ruZ1z0s0la1
C’est très courant sur les e-commerces qui utilisent la « navigation à facettes » pour les marques, la couleur, la coupe des pantalons, etc., créant des combinaisons infinies et alourdissant inexorablement le crawl.
Dans ce cas précis, il suffit de lancer un crawl d’échantillon pour repérer ce type de modèle d’URL à paramètres et l’exclure.
Limiter la zone de crawl
Sous-dossiers et sous-domaines
Si le site est très volumineux, tu peux envisager de crawler séparément les sous-domaines, voire, de façon plus fine, certains sous-dossiers.
Par défaut, SEO Spider ne crawle que le sous-domaine saisi, et tous les autres sous-domaines rencontrés sont traités comme des liens externes, dans l’onglet ‘External’.
Tu peux choisir de crawler tous les sous-domaines, mais cela demandera évidemment plus de mémoire.
SEO Spider peut aussi être configuré pour ne crawler qu’un sous-dossier : saisis l’URL du sous-dossier avec son chemin et désactive, dans 1Configuration›2Spider›3Crawl, les options Check Links Outside of Start Folder et Crawl Outside of Start Folder.
Par exemple, imaginons que tu veuilles crawler uniquement la partie blog du site de Screaming Frog.
La première étape consiste à identifier le sous-dossier et à lancer le crawler ; dans notre cas : https://www.screamingfrog.co.uk/blog/.

À noter : pour crawler un sous-dossier, n’oublie pas le slash final « /blog**/** », sinon SEO Spider ne le reconnaît pas comme tel. Tu peux avoir le même problème si la version avec « / » redirige vers la version sans.
Dans ce second cas, utilise la fonction « include » avec une règle Regex (par exemple « .*blog.* »).
Pour aller plus loinCrawler des sous-dossiers.Comment limiter le crawl à un ou plusieurs sous-dossiers avec les réglages de dossier et la fonction Include.Lire le guideLa fonction Include
En plus d’exclure des zones et/ou de désactiver des éléments à crawler et enregistrer, tu peux utiliser la fonction 1Configuration›2Include, qui limite les URL à crawler grâce aux expressions Regex.
Par exemple, pour ne crawler que les pages qui contiennent « search » dans l’URL, il suffit d’ajouter la Regex « .*search.* » dans la fonction « include ».

Sur le site de Screaming Frog, tu obtiendrais les résultats suivants.

Échantillonnage
Autre façon de gagner du temps et d’alléger le crawl : travailler sur des échantillons du site grâce aux limites de 1Configuration›2Spider›3Limits :

Limit Crawl Total : fixe le nombre maximal de pages à crawler au total.
Limit Crawl Depth : limite la profondeur du crawl aux pages les plus proches, en clics, de la page de départ (ou de la page d’accueil) pour obtenir un échantillon de tous les modèles.
Max URL Length to Crawl : ne crawle que les URL jusqu’à un nombre maximal de caractères, en évitant les URL très profondes.
Limit Max Folder Depth : limite le crawl selon la profondeur des dossiers.
Limit Number of Query Strings : limite le crawl des paramètres selon le nombre de query strings. Avec une limite de ‘1’, SEO Spider crawle les URL qui ont au maximum un seul paramètre (?=couleur, par exemple), en évitant les combinaisons infinies.
Tutoriel vidéo (en italien)
Des questions sur Crawler des sites de grande taille?
Ces guides naissent de projets réels. Si quelque chose ne colle pas dans ton crawl, ou si tu veux appliquer cette méthode à ton site, écris-moi.

