L'outil Screaming Frog permet de crawler un site pour en extraire bon nombre de données utiles en SEO. Mais il recÚle quelques fonctionnalités peu connues et pourtant trÚs utiles et qui permettent souvent de gagner beaucoup de temps. Vous pensez bien connaßtre Screaming Frog ? Cet article va certainement vous surprendre...
Screaming Frog est un crawler frĂ©quemment utilisĂ© par les rĂ©fĂ©renceurs : vĂ©ritable boĂźte Ă outil du SEO, il permet non seulement de crawler des sites Web pour effectuer des analyses poussĂ©es, mais Ă©galement de rĂ©cupĂ©rer de nombreux Ă©lĂ©ments sur les pages via des expressions rĂ©guliĂšres, des sĂ©lecteurs CSS ou le langage Xpath. Par ailleurs, il dispose de plusieurs connecteurs avec des outils externes (Google Search Console, Google Analytics, Ahrefs, etc.) afin de qualifier les URL pour permettre dâidentifier rapidement les KPI liĂ©s Ă des pages spĂ©cifiques : nombre de liens externes, clics, temps de chargement,âŠ
RĂ©guliĂšrement mis Ă jour, cet outil se voit dotĂ© de nouvelles fonctionnalitĂ©s parfois discrĂštes et peu connues. Nous verrons dans cette sĂ©rie dâarticles autour de Screaming Frog Seo Spider, la façon dont un crawl doit ĂȘtre configurĂ©, les fonctionnalitĂ©s intĂ©ressantes de lâoutil, mais surtout la façon dont il faut analyser les donnĂ©es pour dĂ©ployer une stratĂ©gie dâoptimisations SEO. Rappelons Ă©galement que cet outil est disponible pour 3 familles de systĂšmes dâexploitation : Windows, MacOS, et Linux (distribution Ubuntu).
Avant de lancer un crawl, il est nĂ©cessaire de configurer un certain nombre de paramĂštres : en fonction des sites, il peut ĂȘtre utile de crawler (ou non) certains Ă©lĂ©ments comme les images ou les fichiers JS et CSS, et le comportement du crawler pourrait ne pas permettre de dĂ©tecter certaines problĂ©matiques. Nous allons voir dans cet article les principaux Ă©lĂ©ments Ă paramĂ©trer avant de lancer un crawl.
Autres articles Ă lire sur Screaming Frog :
Stockage des crawls
Mode Base de données
Lâoutil dispose de 2 modes de stockage : « Memory Storage » et « Database Storage ». Par dĂ©faut, il permet de lancer des crawls en utilisant la mĂ©moire vive de lâordinateur (Memory Storage), pour ensuite les enregistrer sous la forme de fichiers portant lâextension « .seospider ».
La limite de 2Go par dĂ©faut peut ĂȘtre augmentĂ©e en fonction de lâimportance des crawls Ă rĂ©aliser et des Ă©lĂ©ments rĂ©cupĂ©rĂ©s (Menu Configuration > System > Memory Allocation), mais il est inutile dâallouer plus de 50% de cette mĂ©moire, ce qui ralentirait le fonctionnement du systĂšme dâexploitation et serait contre-performant.
Augmentation de la mémoire vive utilisée pour un crawl en mode "Memory Storage"
Â
LâĂ©criture de donnĂ©es sur la mĂ©moire vive permet de crawler des sites de façon rapide et performante. Cependant, elle peut vite trouver ses limites dans le cas oĂč les sites Ă crawler comportent plusieurs centaines de milliers dâURL.
La capacitĂ© de la mĂ©moire RAM Ă©tant limitĂ©e, il est prĂ©fĂ©rable dâutiliser un autre mode de stockage pour des sites importants et des crawls rĂ©guliers, Ă savoir le mode « Storage Mode » (Menu Configuration > SystĂšme > Storage Mode) :
Configuration du "Storage mode"
Avec un disque SSD (recommandĂ©) qui dispose de temps dâaccĂšs rapides et dâun taux de transfert Ă©levĂ©, ce mode dâenregistrement Ă©crira directement sur le disque dur lâensemble des donnĂ©es de vos crawls. Outre cet avantage permettant de crawler des sites consĂ©quents, ce mode fera apparaĂźtre une nouvelle entrĂ©e dans le menu « File » appelĂ©e « Crawls » qui listera lâensemble de vos crawls, et qui vous permettra de les renommer ainsi que de les organiser Ă votre guise en fonction de vos projets :
Organisation des crawls effectués par projet
Dans ce mode, nul besoin dâenregistrer vos crawls, qui seront stockĂ©s dans une base de donnĂ©es (utile en cas de plantage de votre ordinateur, ce qui Ă©vitera de repartir de zĂ©ro). Veillez malgrĂ© tout Ă rĂ©guliĂšrement faire le mĂ©nage pour Ă©viter de surcharger le disque dur inutilement (cf. capture ci-dessus, espace occupĂ© indiquĂ© en bas Ă droite).
Comportement du crawl
User-agent
Avant de paramĂ©trer les multiples options liĂ©es au comportement du crawler, il est indispensable de paramĂ©trer son identitĂ© ainsi que sa vitesse. En effet, Screaming Frog envoie son identitĂ© aux serveurs quâil visite via son « User-Agent », de la mĂȘme maniĂšre que le fait un navigateur ou un robot. Ce user-agent spĂ©cifique par dĂ©faut (« Screaming Frog Seo Spider » pouvant ĂȘtre bloquĂ© par dĂ©faut sur certains serveurs, il est prĂ©fĂ©rable de le modifier via le menu « Configuration > User-agent ».
Paramétrage du user-agent
Il faut Ă©galement garder Ă lâesprit que certains sites disposent dâune URL dĂ©diĂ©e pour leur version mobile (m.monsite.com), ou encore renvoient du contenu diffĂ©rent en fonction de lâappareil utilisĂ© (dynamic serving).
Google utilisant depuis 2018 lâindex mobile dans son moteur, une mauvaise configuration du user-agent pourrait dĂ©livrer une version erronĂ©e du site Ă analyser (le mieux est de regarder dans les paramĂštres de la Search Console pour votre site quelle est la version de Googlebot utilisĂ©e : Desktop ou Mobile et de configurer votre crawl en consĂ©quence).
Par ailleurs, certains sites effectuant du rendu JS via du SSR (Server Side Rendering), la configuration du user-agent avec « Googlebot (Smartphone) » vous permettra dâĂȘtre au plus proche du contenu dĂ©livrĂ© Ă Google, tout en accĂ©lĂ©rant le crawl dans le cas du SSR, le rendu JS du crawler Ă©tant particuliĂšrement gourmand.
Javascript
Screaming Frog a la capacitĂ© dâeffectuer un rendu JS des pages crawlĂ©es. Cette option est utile quand des sites utilisent des frameworks Javascript sans paramĂ©trage de SSR. Vous trouverez les Ă©lĂ©ments relatifs au rendu JS dans la fenĂȘtre Configuration > Spider (onglet Rendering).
Option de rendu JS
Il vous sera possible de crawler des sites en React, Angular, Ember ou tout autre framework, mais pas exactement Ă la façon de Google,  dans la mesure oĂč le moteur de rendu de Screaming Frog nâest pas le mĂȘme que celui de Google. En effet Googlebot Evergreen utilise le moteur de rendu rĂ©cent de Chrome, tandis ce que Screaming Frog utilise une version plus ancienne :
Moteur de rendu utilisé par l'outil
Vitesse
La vitesse du crawler utilise par dĂ©faut 5 threads, ce qui Ă©quivaut Ă lâĂ©quivalent de 5 onglets Chrome ouverts en simultanĂ© pour faire une analogie. En fonction de la configuration de sites (cache, serveur, etc.), cela peut provoquer des surcharges dans certains cas (voire mĂȘme un blacklistage temporaire). Il est donc possible de limiter le crawl Ă un certain nombre dâURL par seconde.
Vitesse du crawl
Quoi quâil en soit, il est toujours prĂ©fĂ©rable de contacter le responsable de lâhĂ©bergement du site pour crawler dans une plage horaire plutĂŽt creuse afin dâĂ©viter de charger le serveur inutilement.
Le fait de fournir le user-agent utilisĂ© ainsi que lâadresse IP de la machine effectuant le crawl pourra permettre un ajout Ă la withelist Ă lâhĂ©bergeur pour prĂ©venir tout blacklistage ultĂ©rieur.
Programmation du crawl
Dans le cas oĂč il serait nĂ©cessaire de lancer le crawl en pleine nuit oĂč Ă un moment spĂ©cifique, sachez quâil est possible de programmer les crawls, et ce de façon rĂ©guliĂšre Ă©galement. En ouvrant la fenĂȘtre « Scheduling » du menu « File », vous pourrez ainsi lancer le crawl de façon automatisĂ©e. Celui-ci pourra ĂȘtre lancĂ© de façon unique, quotidienne, hebdomadaire ou encore mensuelle, avec la gĂ©nĂ©ration dâexports si besoin est, ou encore la gĂ©nĂ©ration de fichiers Sitemap automatisĂ©e.
En cas de programmation dâun crawl, lâordinateur devra cependant rester allumĂ© (attention au mode Veille). Il existe Ă©galement la possibilitĂ© de lancer Screaming Frog en mode CLI (Command Line Interface) sans interface graphique, ce qui sera particuliĂšrement utile pour les serveurs exĂ©cutant lâapplication.
Programmation du crawl
A noter que ce mode est uniquement disponible que lâoutil est paramĂ©trĂ© en « Storage mode ».
Configuration du crawl et éléments à parcourir
Screaming Frog dispose de nombreuses options dans sa fenĂȘtre de configuration (Menu Configuration > Spider). Parmi les options les plus utiles, on pourrait citer les fonctions suivantes :
FĂȘnetre de configuration du crawler
- Conserver ou non les relations entre les fichiers via les cases Ă cocher « Store », sachant que ne pas les enregistrer limitera drastiquement le poids du crawl, mais ne permettra pas de retrouver lâorigine des URL dĂ©couvertes ;
- RĂ©cupĂ©rer les fichiers sitemaps XML mentionnĂ©s dans le robots.txt (ou ajout manuel des sitemaps), via lâoption « XML Sitemaps » en bas de lâonglet Crawl. Cela permettra aprĂšs le crawl de dĂ©tecter les URL orphelines (URL ne recevant pas de liens mais prĂ©sentes dans le sitemap) pour ainsi mettre en avant un dĂ©faut de maillage interne.
- Respecter ou non la balise noindex (Onglet Advanced), ce qui signifiera que toutes les URL contenant un noindex ne seront pas reportĂ©es dans le rĂ©sultat du crawl. Cela peut ĂȘtre intĂ©ressant dans le cas oĂč un site disposerait dâun nombre important dâURL en noindex (ex : moteur Ă facettes accessible via des liens non bloquĂ©s dans le robots.txt).
- Respecter ou non la balise Canonical (Onglet Advanced, ce qui peut permettre dây voir plus clair dans la duplication de balises <title>. En effet, il arrive souvent que le nombre de balises <title> dupliquĂ©es soit relatif avec des URL canoniques vs URL non canoniques.
Eléments à récupérer
Scraping dâĂ©lĂ©ments On-page (onglet Extraction)
Plusieurs Ă©lĂ©ments peuvent ĂȘtre rĂ©cupĂ©rĂ©s pour chaque URL crawlĂ©e par lâoutil
Microdonnées
Lâutilisation des microdonnĂ©es est un vrai plus sur un site Web afin de donner encore plus de contexte Ă Google sur les entitĂ©s de recherche, mais Ă©galement pour bĂ©nĂ©ficier de rĂ©sultats enrichis. On notera lâintĂ©rĂȘt particulier de rĂ©cupĂ©rer les microdonnĂ©es (onglet « Extraction » de la fĂȘnetre de configuration) dans cet outil afin de dĂ©bugger celle qui peuvent ĂȘtre dĂ©tectĂ©es (format Microdata, JSON-LD, RDFa) dans les pages. Les erreurs seront ensuite reportĂ©es dans lâonglet de dĂ©tail de chaque URL :
Analyse des microdonnées au format JSON-LD
Code HTML
Dâautres Ă©lĂ©ments peuvent ĂȘtre enregistrĂ©s comme lâintĂ©gralitĂ© du code HTML brut, ou encore le code HTML rendu (aprĂšs lâexĂ©cution du Javascript). Ces 2 options qui se trouvent dans lâonglet « Extraction » de la fenĂȘtre « Configuration > Spider » permettront de faire des nuages de mots-clĂ©s relatif aux occurrences les plus frĂ©quentes dans une page de façon ultĂ©rieure, ou encore de comparer les diffĂ©rences entre le HTML brut et le HTML rendu :
 Analyser les différences entre le HTML brut et le rendu JS
Scraping
Lâune des fonctions les plus intĂ©ressantes de Screaming Frog est relative Ă la rĂ©cupĂ©ration dâĂ©lĂ©ments spĂ©cifiques dans le contenu des pages. Dans le menu « Configuration > Custom », il sera possible de rĂ©cupĂ©rer des Ă©lĂ©ments dans les pages via les sĂ©lĂ©cteurs CSS, Xpath ou encore les expressions rĂ©guliĂšres.
Custom extraction
Parmi les diverses utilisations de cette fonction, on pourra citer :
- Lâ extraction du fil dâAriane pour chaque page ;
- La prĂ©sence de code tracking pour sâassurer que toutes les pages sont bien tagguĂ©es ;
- Le nombre dâavis/commentaires des produits sur un site de e-commerce ;
- La date de publication et/ou lâauteur des articles ;
- Le type de page (Ă©dito, listing, galerie, etc.) via les classes CSS ;
- Le nombre de produits dans une liste ;
- Etc.
Emplacement des liens
Une fonctionnalitĂ© rĂ©cente permet dâidentifier la position dâun lien par rapport aux balises HTML qui lâenglobe. On pourra ainsi vĂ©rifier pour le maillage dâune page, lâemplacement des liens vers cette derniĂšre. Cela sâavĂšrera utile pour mettre en avant des pages maillĂ©es uniquement via le menu, le footer, ou encore le contenu central dâune page.
Emplacement des liens relatifs Ă une URL
Il est possible de configurer en fonction des sites les emplacements des liens par rapport à des balises spécifiques (Menu Configuration > Custom > Link position) :
Paramétrage de la fonction "Link position"
Pour cibler un <div> ayant une classe particuliĂšre (ex : <div class=mobile-menu>), il est possible dâutiliser directement le nom de la class dans la configuration. Attention, les termes de recherche permettent un classement par ordre dâaffichage, il faut donc veiller Ă utiliser les ciblages les plus larges en bas du tableau (et les plus stricts en haut).
Attention, cette fonctionnalitĂ© Ă©tant gourmande en ressources lors du crawl, elle peut ĂȘtre dĂ©sactivĂ©e si besoin.
Connexions aux API
Contrairement aux paramĂ©trages qui viennent dâĂȘtre Ă©voquĂ©s, les connexions aux diffĂ©rentes API comme la Search Console ou Google Analytics par exemple, peuvent ĂȘtre configurĂ©es aprĂšs le crawl si nĂ©cessaire. En effet, lâonglet API de la colonne de droite de lâoutil permet de requĂȘter les API en fonction des URL crawlĂ©es a posteriori :
Les résultats se retrouveront ensuite dans des onglets spécifiques :
Onglets relatifs aux API
Restrictions liées aux URL
Respect ou non du robots.txt
En respectant le fichier robots.txt, certaines URL qui ne sont pas encore restreintes dans ce dernier peuvent complexifier le crawl. On peut donc dans ce cas forcer un robots.txt spĂ©cifique afin de simuler une configuration future (ou encore Ă©craser le robots.txt dâun site de prĂ©prod qui serait en « Disallow:/ ») :
Surcharge du robots.txt
A lâinverse, cette fonction permettra Ă©galement de rendre crawlable des URL initialement bloquĂ©es pour faire des projections sur lâouverture dâun moteur Ă facette par exemple.
RĂ©Ă©criture dâURL
Pour aller plus loin dans la manipulation des URL Ă crawler, notez quâil est Ă©galement possible de rĂ©Ă©crire des URL Ă la volĂ©e. On pourra supprimer certains paramĂštres dâURL (ex : URL de tracking interne pour combiner les signaux relatifs au nombre de liens entrants), et effectuer des modifications via des expressions rĂ©guliĂšres (sur un site de prĂ©prod avec des liens vers le site de prod, cela peut sâavĂ©rer trĂšs pratique).
URL Rewriting
Par exemple, pour un site qui contiendrait encore de nombreux liens de la version HTTP vers HTTPS, les redirections 301 de HTTP vers HTTPS pourrait fausser lâinterprĂ©tation des rĂ©sultats relatifs aux codes rĂ©ponse (avec de nombreuses 301 liĂ©es Ă la version HTTP). Vous pourrez donc ainsi faire abstraction de cette problĂ©matique (exemple : si les liens sont en cours de modification par les dĂ©veloppeurs) en rĂ©Ă©crivant les URL Ă la volĂ©e (Menu Configuration > URL Rewriting > Onglet Regexp Replace) :
Â
On remplace ainsi toutes les URL dĂ©couvertes en HTTP par des URL en HTTPS , ce qui permettra dâavoir une bonne vision des codes rĂ©ponses hormis cette problĂ©matique.
Dans le cas dâun crawl avec rendu JS, toutes les URL contenant un # seront crawlĂ©es. Les moteurs ne tenant pas compte du hash (#), il sera recommandĂ© dans ce cas de ne pas les crawler pour regrouper les diffĂ©rents signaux Exemple : /url-a#content et /url-a#top pourront ĂȘtre considĂ©rĂ©s comme une seule et mĂȘme URL « /url-a » :
Suppression du hash dans les URL
Sauvegarde de la configuration
Comme vous avez pu le constater, la configuration dâun crawl peut parfois sâavĂ©rer complexe, et demande de nombreux rĂ©glages prĂ©alables. Cette tĂąche pouvant ĂȘtre fastidieuse, il est heureusement possible de sauvegarder la configuration :
Sauvegarde de la configuration d'un crawl
Â
Avec tout cela, vous devriez maintenant avoir un outil de crawl trĂšs bien configurĂ© par rapport Ă vos besoins. Nous verrons dans le prochain article, le mois prochain, lâutilisation de fonctions dâanalyses spĂ©cifiques, ainsi que la façon dont les rĂ©sultats doivent ĂȘtre exploitĂ©s : lâoutil ne fait pas tout, il faut bien savoir interprĂ©ter les donnĂ©es ! Ă trĂšs bientĂŽt et bon crawl !
Â
Aymeric Bouillat, Consultant SEO
Â
Â