Aller au contenu

Comment vérifier le code réponse d'une liste d'URLs dans le terminal ?

Antoine Brisset
Antoine Brisset
Temps de lecture : 2 min
Comment vérifier le code réponse d'une liste d'URLs dans le terminal ?

Table des matières

Cette semaine, j'avais besoin de vérifier le code HTTP d'une grosse liste d'URLs. Manque de chance, ma licence Screaming Frog avait expiré et j'avais la flemme de la renouveler envie de finir ce que j'étais en train de faire avant de renouveler mon abonnement.

Du coup, je me suis dit : et si j'utilisais le terminal ?

Pour vérifier le code réponse d'une URL, c'est assez simple, un petit curl -I -L suivi de l'URL et c'est réglé.

Mais comment le faire en bulk ?

En fouillant dans la doc de cURL et en jouant avec Bash, j'ai codé en quelques minutes un petit script bien pratique que je te partage ici.

L'idée, c'est de récupérer le contenu de mon presse-papiers, qui contiendra ma liste d'URLs, et de checker le code réponse de chaque URL à l'aide d'une boucle for.

Puis, de créer un alias qui lancera le script chaque fois que j'en aurai besoin.

Création du script Bash

Voilà le script :

for url in $(pbpaste)
do
  echo -n "$url;"
  curl --max-redirs 5 --silent --output /dev/null --write-out "%{http_code};%{redirect_url}\n" $url
done

Je t'explique la syntaxe :

  • for – démarre la boucle
  • url est la représentation de ma variable (ici l'URL)
  • in – sépare la variable de la liste d'éléments à parcourir
  • $(pbpaste) – est l'ensemble des éléments de mon presse-papiers sur lesquels je souhaite exécuter les instructions (la commande pbpaste est uniquement disponible sur Mac, mais tu peux la "recréer" sur Linux)
  • do – est le mot-clé qui déclenche l'exécution des instructions
  • echo -n "$url;" – affiche ma variable URL
  • curl --max-redirs 5 --silent --output /dev/null --write-out "%{http_code};%{redirect_url}\n" $url – est la commande curl qui me permet de récupérer à la fois le code HTTP de l'URL (%{http_code}) et l'adresse de la redirection ( %{redirect_url}), avec une limite de 5 redirections suivies
  • done – arrête la boucle.

Sauvegarde du script

Je te conseille de créer un nouveau dossier directement sous le dossier home, par exemple scripts ou workspace.

Puis d'y créer un fichier status_code_checker.sh dans lequel tu viendras coller le code que j'ai donné plus haut.

(Si tu n'es pas à l'aise avec le terminal, je te conseille de lire cet article qui est plutôt bien fait : https://www.searchenginejournal.com/command-line-seo-guide/418782/)

Ajout d'un alias

Maintenant, il faut créer un alias, autrement dit un raccourci qui va te permettre d'éxécuter le script.

Voilà la commande à utiliser :

echo "alias statuscode='bash ~/workspace/status_code_checker.sh'" >> ~/.bash_profile

N'oublie pas de recharger le fichier .bash_profile pour que les modifications soient prises en compte.

source ~/.bash_profile

Il te suffit maintenant de copier une liste d'URLs (n'importe laquelle) et de lancer la commande statuscode dans le terminal.

Petite démo avec :

  1. la récupération des URLs du sitemap de seomemento.com via cette commande + pbcopy
  2. la vérification du code HTTP pour chacune des URLs
0:00
/

Tu peux aussi sauvegarder le résultat dans un fichier csv si tu as beaucoup d'URLs à tester, de cette manière :

statuscode > results.csv

Et voilà !

Terminal

Antoine Brisset Twitter

Consultant SEO depuis 2010. Je traque les clics inutiles et j'automatise les tâches répétitives pour gagner du temps dans mon quotidien de travailleur du web.


Articles Similaires

Membres Public

Snippets iTerm2 : sauvegarde tes lignes de commande préférées !

Pour cette dernière newsletter de l'année, je te propose une petite astuce toute simple pour gagner du temps dans l'utilisation du terminal. Si tu es sur Mac, tu utilises peut-être le terminal par défaut. Il est cool, mais je préfère, de loin, la version proposée par

Snippets iTerm2 : sauvegarde tes lignes de commande préférées !
Membres Public

Comment ouvrir plusieurs fenêtres Screaming Frog sur Mac ?

Aujourd'hui, nouvelle astuce pour tirer le meilleur parti de Screaming Frog. En tant que consultant SEO et éditeur de sites, je suis souvent amené, dans une même journée, à travailler sur plusieurs sites différents. Et l'une de mes tâches récurrentes, c'est le crawl. Avec

Comment ouvrir plusieurs fenêtres Screaming Frog sur Mac ?
Membres Public

Extraire les URLs d'un sitemap XML en une ligne de commande

Aujourd'hui, petite astuce qui fait suite à ce tweet de @bunbeau qui a attiré mon attention la semaine dernière. D'ailleurs pour celles et ceux qui veulent gagner du temps : 1. Vous balancez votre sitemap là-dedans : https://t.co/t4tN0m6h8r 2. Copy/Past dans un projet (neuf

Extraire les URLs d'un sitemap XML en une ligne de commande