Un besoin récurrent pour tout SEO est de vérifier les codes retour et les temps de réponse d’un listing d’URLs.

Pour cela il faut nécessairement un crawler.

Xenu est régulièrement cité car il est gratuit, facile à utiliser, il possède même une interface graphique !

Xenu a cependant plein d’inconvénients, les principaux étant qu’il ne peut pas gérer un volume important, et que le nombre d’informations récupérées est assez faible (je ne crois pas par exemple qu’il récupère les temps de réponse).

Pour ce type de besoins, Linux est tout simplement magique, jugez plutôt :

cat listing_urls.txt | xargs -n1 -i curl -o /dev/null -w "%{url_effective}\t%{http_code}\t%{time_starttransfer}\t%{time_total}\t%{size_download} \n" -s {}

listing_urls.txt, comme son nom l’indique, est votre listing d’URLs.

Et voici le résultat :

http://www.watussi.fr/    200    2,519    2,935    36020
http://www.watussi.fr/page-speed    200    0,737    1,125    39588
http://www.watussi.fr/a-propos    200    0,966    1,088    14140
http://www.watussi.fr/contact    200    3,696    4,018    14875
http://www.watussi.fr/la-tribu-wikipedia    200    1,154    1,293    21310
http://www.watussi.fr/eliminez-les-soft-404    200    2,566    2,931    26574
http://www.watussi.fr/googlebot-est-en-greve    200    2,217    2,440    36108
http://www.watussi.fr/adresses-ips-et-referencement    200    2,125    2,512    80625
http://www.watussi.fr/adfsdfsdfsdfment    404    7,424    8,835    10217

Nous avons 5 colonnes pour chaque URLs spécifiées dans le fichier de départ :

  • L’URL
  • Le res_code HTTP
  • Le temps d’exécution de la page (côté serveur)
  • Le temps de chargement total
  • La taille de la page

Magique non ?

Il est évidemment possible de rediriger le flux de sortie vers un fichier pour l’exploiter sous Excel ou autre.

Cette simple ligne est particulièrement robuste et peut faire l’affaire tant pour 5 URLs que pour 5 millions.

Pour ces volumes, il faudra cependant paralléliser le traitement pour aller plus vite 😉

Petit clin d’oeil à Olivier Tassel dont ce tweet m’a inspiré.