Le Blog​

Comment faire le crawl d’un site comme un pro

L’arborescence, la structure et le maillage interne des sites font partie des principaux chantiers SEO dont les effets positifs sur la visibilité et le trafic ne sont plus à démontrer. En ce sens le crawl d’un site est devenu incontournable parce qu’il permet d’identifier les améliorations structurelles à apporter à votre site. Reste à savoir comment s’y prendre et avec quels outils. Dans cet article je vais vous montrer la démarche à suivre.

Sommaire:

1. Définition et objectifs du crawl
2. Quels outils pour crawler un site ?
3. Les prérequis pour effectuer le crawl
4. Configurer le crawler
5. Savoir traiter les données
6. Savoir analyser les données
7. Conclusion

Qu’est-ce que le crawl d’un site et à quoi sert-il ?


L’expression crawler un site signifie scanner ou parcourir un site et d’en extraire le plus d’informations possible. L’objectif du crawl est de connaître la structure d’un site et d’avoir exactement la même vision que Google. Cela permet notamment :

  •  d’identifier des problèmes d’arborescence
  •  de trouver les problèmes du maillage interne (mauvaise répartition de la popularité, existence des pages pièges, existence des liens morts etc.)
  •  de connaître le temps de réponse du serveur
  •  d’identifier des balises meta dupliquées

L’objectif de ce diagnostic consiste à mettre en place des recommandations qui visent à optimiser la structure du site.

Quel outil permet de crawler mon site ?


Actuellement il existe une multitude d’outils gratuits et payants qui permettent de crawler un site. Les principaux sont :

Ajoutons que les suites SEO payantes comme Advanced Web Ranking, SeeURank, Moz proposent également un crawler. Enfin, la dernière version démo de l’excellent plugin Excel gratuit SEO Tools for Excel contient également un crawler qui récupère les données directement dans Excel.

Faut-il prendre un crawler gratuit ou payant ?

Selon moi, les principales différences entre les outils gratuits et payants sont :

  • externalisation du crawl : certains outils payants font le crawl depuis leur plateforme et utilisent leurs adresses IP. Les outils gratuits ne le font pas
  • les outils payants donnent plus d’informations que les outils gratuits mais les petits sites (qui n’ont pas plus de 500 – 1 000 pages) n’en ont pas forcément besoin
  • les outils payants sont plus robustes et sont capables de crawler plusieurs centaines de milliers, voire des millions d’URLs
  • certains outils payants agrègent les données du crawl, génèrent automatiquement de jolis graphiques et proposent une interface d’analyse et de suivi de crawl.

Conseil : si votre site est petit utilisez les outils gratuits, notamment Xenu. Les données fournies vous seront largement suffisantes.

Faut-il avoir des connaissances particulières pour effectuer le crawl du site ?


Comme toute analyse, l’analyse du crawl nécessite quelques prérequis mais rassurez-vous, ce n’est pas la peine d’avoir un BAC +5. Vous devez savoir :

  • utiliser Excel (appliquer les filtres de tri, utiliser les tableaux croisés dynamiques)
  • avoir quelques bases en SEO pour connaitre les points à analyser (nous en parlerons plus loin dans cet article)
  • connaître quelques expressions régulières pour les sites à gros volume de pages (nous vous les montrerons plus loin)

Comment configurer le crawler ?


Comme chaque crawler a ses propres caractéristiques nous vous renvoyons vers ses paramètres. Cependant nous pouvons vous donner quelques conseils qui permettent d’optimiser l’exploration du site et d’obtenir des données fiables.
N’oubliez pas qu’une mauvaise configuration du crawler peut causer plusieurs problèmes comme le blocage d’adresse IP ou la perte de données. Si certaines datas sont manquantes, votre analyse et vos recommandations ne seront pas pertinentes, ce qui peut avoir un impact négatif sur la visibilité et le trafic du site.

Conseil 1 : Définir la machine depuis laquelle le crawl sera lancé.

Pourquoi c’est important ?
La machine doit être assez puissante pour pouvoir crawler pendant des heures sans s’arrêter. Si votre site a très peu de pages, le laptop suffira. Si votre site a 500 000 pages, le crawler devrait se lancer depuis une machine puissante, ayant plusieurs dizaines giga de mémoire. Si vous utilisez un crawler qui est déjà externalisé, comme Botify ou Deep Crawl vous n’aurez pas de problème de machine

Conseil 2 : Définir la vitesse du crawl.

Pourquoi c’est important ?
En parcourant 15 URLs par seconde plutôt que 2, le crawl sera fait beaucoup plus rapidement mais :

  • vous risquer de griller votre adresse IP et si vous le grillez vous n’aurez plus d’informations sur les URLs
  • vous risquez de faire tomber le site que vous crawlez
  • le crawl peut « oublier » d’analyser certaines URLs
  • vous consommez plus de mémoire de votre machine et si elle n’est pas assez puissante le crawler risque de s’arrêter

D’après notre propre expérience, nous dirons que l’analyse de 2-3 URLs par seconde est une bonne vitesse si vous passez par une seule adresse IP.
configuration de vitesse du crawl dans Screaming Frog Spider

Conseil 3 : Configurer User-Agent.

Pourquoi c’est important ?
Si vous voulez avoir exactement la même vision que Google, vous devez être authentifié par le site que vous crawlez comme Googlebot. C’est la raison pour laquelle je conseille de choisir « Googlebot » comme User Agent dans la configuration du crawler.

Comment traiter les données du crawl ?


Avant d’analyser les données il faut savoir les traiter. Si votre site est petit, cette partie ne vous concerne pas puisque le traitement de données fournies par votre crawler se fera dans Excel sans aucun problème. Vous pouvez aller directement à l’analyse de données. Si vous utilisez un crawler SaaS ou externalisé il y a de fortes chances que son éditeur traite les données à votre place. Cette partie ne vous concernera pas non plus. En revanche si votre site a beaucoup de pages (plus de 50 000) il se peut qu’Excel n’ouvre pas les fichiers .csv exportés ou fonctionne au ralenti (cela dépend aussi de votre machine). Le traitement de données se fera alors via les commandes Linux ou DOS. Nous nous focaliserons aujourd’hui uniquement sur les commandes Linux.

A quoi servent les commandes Linux ?

Vous l’avez compris, ces commandes servent à traiter les données. Sans ouvrir le fichier d’export qui est souvent au format .csv vous pouvez trier, exclure, inclure, regrouper les données comme bon vous semble.

Où écrire les commandes ?

Si vous êtes sous Windows ou Mac, il vous faut télécharger une console Linux. Vous pouvez utiliser par exemple Cygwin  sur une machine Windows. Si vous êtes sous Linux vous pouvez utiliser la console par défaut. Une fois installée, ouvrez la console en double-cliquant dessus.

Les commandes Linux utiles pour traiter les donnés du crawl

Les commandes que nous allons citer sont celles les plus utilisées. Il ne s’agit pas d’une liste exhaustive.
Commande 1 : Compter le nombre d’URLs dans un fichier .csv

cat nom-de-votre-fichier.csv | grep http:// | wc

La commande cherche tout ce qui contient http (grep http://) dans votre fichier (cat nom-de-votre-fichier) et compte combien de fois http est répété (wc)
Commande 2 : Trouver toutes les URLs qui contiennent quelque chose (/repertoire que vous cherchez/, .html, code 200 etc.) et exportez les
La commande cherche toutes les URLs ayant comme extension .jpeg (grep .jpeg) dans votre fichier (cat nom-de-votre-fichier) et les exporte (> nom-fichier-export.csv)
Commande 3 : Trouver les URLs, leur(s) attribut(s) (<title>, <h1>, code réponse, nombre de liens etc.) et exporter tout dans un fichier csv

 cat nom-de-votre-fichier.csv| grep http:// | awk -F'","' '{print $1" "$22}' > nom-fichier-export.csv

Petite précision: Le numéro qui apparait après $ indique le numéro de la colonne dans laquelle se trouve la donnée que vous voulez exporter. Si les URLs se trouvent dans la colonne 1 et leur <title> sont dans la colonne 22 j’écris: print $1 $22. L’ordre d’affichage de données change en fonction du crawler.
Commande 4 : Trouver les URLs sauf celles contenant quelque chose, leur(s) attribut(s) et exporter tout dans un fichier csv.
Cette commande est utile quand vous voulez exclure de l’analyse certaines URL, par exemple celles qui contiennent un paramètre spécifique (pagination, code tracking, filtre de tri etc.)

 cat nom-de-votre-fichier.csv | sed '/tracking=/d' | sed '/id=/d' | sed '/pricedown/d' | grep –E http://www.site.com/fr/category/.* | awk -F'","' '{print $1" "$22}' > nom-fichier-export.csv

La commande interroge le fichier nom-de-votre-fichier.csv . Elle cherche toutes les URLs commençant par http://www.site.com/fr/category/. Elle cherche également l’attribut qui s’affiche dans la colonne 22 des URLs commençant par http://www.site.com/fr/category/ mais elle ne prend pas en compte les URLs commençant par http://www.site.com/fr/category/ ET contenant tracking=, id=, pricedown.

> Pour compléter votre lecture : Apprendre d’autres commandes Linux utiles en SEO  (article en anglais)
 

Comment analyser les données du crawl ?


Nous arrivons à la partie la plus intéressante, l’analyse du crawl. Comment s’y prendre ? Si vous utilisez un crawler en mode SaaS vous n’avez pas à créer les tableaux et graphiques, le crawler le fait pour vous. Si vous n’utilisez pas ce format d’application, voici ce qu’il faut faire.
Dans votre fichier Excel contenant les données d’export faites un tableau croisé dynamique dans un nouvel onglet en définissant comme source les données exportées. Puis, dans le tableau croisé dynamique cochez les données selon vos besoins

Analyse 1 : Répartition des pages par code réponse (code HTTP)

Analyse de la répartition des pages par code HTTP
Pourquoi faire cette analyse ?

  • connaître le pourcentage de pages en 200, en 301, 302 ou 404
  • identifier les problèmes structurels

Analyse 2 : Répartition des pages 200 par profondeur

Analyse de la répartition des pages par profondeur
Pourquoi faire cette analyse ?

  • calculer la profondeur moyenne des pages
  • connaître le nombre de pages profondes

Analyse 3 : Vitesse du temps de réponse des pages 200

Analyse de la répartition des pages part temps de chargement
Pourquoi faire cette analyse ?

  • calculer le temps de réponse moyen
  • connaître le pourcentage de pages lentes

Analyse 4 : Unicité du contenu des pages 200

Camembert d'unicité du contenu
Pourquoi faire cette analyse ?

  • identifier le pourcentage de pages 200 ayant les <title> et <meta descriptions> dupliqués ou manquants
  • identifier le pourcentage de pages 200 ayant le <h1> dupliqué ou manquant

Analyse 5 : Le maillage interne

Répartition des liens entrants par page
Pourquoi faire cette analyse ?

  • identifier le nombre moyen de liens sortant par page
  • identifier les pages ayant plus de 150 liens sortants (Google préconise d’avoir environ 100 liens sortants)
  • connaître les pages qui reçoivent le plus de liens
  • connaître les pages 404 ou 302 recevant les liens

Analyse 6 : Ancres des liens

Exemple de répartition des ancres des liens internes
Pourquoi faire cette analyse ?

  • savoir si les pages reçoivent des liens entrants internes avec les ancres pertinentes
  • savoir quelles sont les ancres les plus utilisées

Pour aller plus loin

L’analyse du crawl peut s’arrêter là mais il lui manque 2 dimensions essentielles : le regroupement des pages par type et par univers. Le type de pages peut être la page d’accueil, la page univers, la  page catégorie, la page sous-catégorie, la page produit etc. Les univers sont les familles de produits que vous vendez (informatique, hôtels 5 étoiles etc.) ou les thématiques de votre site (économie, sport, bien-être etc.). La catégorisation peut se faire de plusieurs manières :

  • semi-automatiquement: dans le fichier Excel qui contient toutes les URLs vous pouvez appliquer la formule RECHERCHE qui permet de trouver les URLs contenant un élément permettant d’identifier le type de pages et/ou son univers. Par exemple =RECHERCHE("/sport/";A2;1) sortira les URLs de l’univers « Sport »

11-02-2014 12-52-39

  • automatiquement : via un script PHP (très rapide si vous devez catégoriser plusieurs milliers de pages)

Une fois vous aurez ces 2 dimensions vous pourrez les inclure dans les analyses proposées ci-dessus ce qui apportera un niveau de précision supplémentaire.
Voici quelques exemples d’analyses avec les pages classées par type  et/ou univers.

Analyse 1 : Répartition des pages par type et univers

Données du crawl: répartition des pages par type et univers

Analyse 2 : Répartition des pages 200 par type et code réponse (code HTTP)

Données du crawl: répartition des pages par typer et code réponse
Nous pouvons voir quel type de page a le plus de pages 404, ici ce sont les pages produit.

Analyse 3 : Répartition des pages 200 par profondeur et par univers

Données du crawl: répartition des pages par univers et profondeur
 
Ici nous constatons que les pages des univers « TV » et  « Audio » sont moins profondes que les pages des autres univers. Si ces produits rapportent le plus c’est normal mais si ce sont les produits de l’univers « Bien-être » qui génèrent le plus de chiffre d’affaires il faut réduire leur profondeur.

Pour conclure


Cet article met en avant l’importance du crawl dans la stratégie du référencement naturel. Plus ou moins complexe en fonction de la taille du site, cette analyse vous permettra d’identifier les axes d’optimisations à forte valeur ajoutée. N’oubliez pas que les données fournies par votre crawler doivent être conservées, suivies et analysées dans le temps, ce qui sous-entends que vous devez crawler régulièrement votre site afin de dégager des tendances et connaître sa santé tout au long de son existence.
Vous souhaitez davantage de renseignements concernant le crawl de votre site ? Contactez nos experts SEO JVWEB