Tester une liste d'URL (code HTTP) pour trouver les liens morts avec Xenu
Xenu est un petit programme très pratique pour effectuer diverses opérations sur un site internet, comme générer un sitemap (en parcourant le site de lien en lien comme un robot d'indexation), ou par exemple pour tester une liste de pages web.
Commencer par télécharger Xenu sur le site officiel : Xenu Link Sleuth.
Ici, l'idée est d'utiliser Xenu afin de tester une liste d'URL, et plus précisément de tester les codes HTTP contenus dans les headers : 200 OK, 404 Not found, redirection 301, redirection 302, 403 accès refusé, erreur 500...
Cet outil est très pratique pour tester des règles de réécriture d'URL Apache (URL rewriting avec mod_rewrite).
Voici la marche à suivre :
- Placer la liste des URLs à tester dans un fichiertexte, avec une ligne par URL
- Lancez Xenu, puis allez dans Options > Preferences
- Dans le champ Maximum depth, indiquez 0
C'est pour éviter que Xenu cherche des URLs dans les pages qu'il télécharge afin de les analyser elles mêmes (on appelle ça le scrapping).
Ici ce qui nous intéresse c'est de tester uniquement les URLs qui sont dans la liste, et rien de plus. - Cochez la case Treat redirections as errors
Sinon les URLs qui renvoient une redirection (301 et 302) seront remplacées par l'URL redirigée (header location)
Dans un tout autre contexte, cet article est très intéressant : limite de taille max des cellules texte excel.
- Dans le champ Maximum depth, indiquez 0
- Ouvrez le fichier contenant la liste des URLs en allant dans Check URL List (Test)...
C'est parti ! Xenu va analyser toutes les URLs, et à la fin du processus vous obtenez le résultat sous forme de tableau :
Allez donc jeter un oeil sur cette page : texte en dentelle.
J'ai voulu voir ce qui ce faisait en ligne (WebTool) et rien de super, trop limité, trop cher...
J'ai finalement développé le miens, https://404enemy.com/
C'est en béta pour le moment, mais c'est largement utilisable pour des sites de moins de 10k liens.
Évidement, c'est gratuit et à consommer sans modération :)