Script PHP de test des liens sur une page Web

Link Checker est un script qui parcourt toutes les pages d'un site et detecte les liens brisés et les redirections.

Ce programme est une alternative au programme Xenu, il présente l'avantage de regrouper les résultats par page, ce qui facilite l'édition du site, et sa grande portabilité.
Par rapport au valideur en ligne du W3C il présente l'avantage de ne pas bloquer sur certaines pages.

En outre ce programme open source est facile à modifier grâce au code Scriptol et PHP.

Pourquoi un testeur de lien

Le testeur de liens brisés est un outil indispensable à l'entretien d'un site, vis à vis des utilisateurs et des moteurs de recherche. Il convient de supprimer tous les liens brisés ainsi que de mettre à jour les redirections, qu'elles soient externes ou internes au site, pour la bonne image du site, et pour un meilleur référencement.

Commandes et utilisation

Le script en ligne de commande peut être exécuté par le compilateur Scriptol PHP:

solp linche [options] page

ou directement par l'interpréteur PHP 5:

php linche.php [options] page

La page est une URL complète de la forme:

http://www.scriptol.fr/index.php

Les options:

-r recursif, suivre les liens internes. Par défaut seule la page est testée.
-v verbeux, affiche tous les liens testé, avec le code d'en-tête trouvé. 
Par défaut affiche seulement les erreurs.
-q quiet, silencieux, n'affiche rien.

Le programme produit un fichier nommé links.log qui reprend tous les résultats et que l'on sauvera sous un autre nom si on veut le conserver.

Messages d'erreur et actions à accomplir

Lorsque le script tente d'accéder à une page, le serveur peut retourner différent code selon le status de la page. Celle-ci peut être redirigée soit par le fichier .htaccess ou par un script PHP, elle peut être manquante.

Noter que la plupart du temps, le programme affiche un message à la place du code HTTP:

De ces divers codes, autres que le code OK on ne tiendra pas compte tant que la page est accessible, sauf les redirections permanentes qui doivent être mises à jour.

Pour la liste complète des codes et leur signification, voir le document Code HTTP.

Compatibilité

Le script fonctionne avec PHP 5 sur quasiment tous les systèmes d'exploitation et modèles d'ordinateurs.

Les résultats fournis par le script sont perfectibles. Quelque fois un lien est signalé "broken" alors que la page est accessible avec le navigateur. Cela vient d'un temps de réponse trop long, ou du serveur. Dans ce cas il suffit d'ignorer le résultat.

Obtenir le programme et licence

Ce link checker est sous licence GNU GPL 2.0. Pour pouvez l'utiliser gratuitement et librement. Si vous distribuez l'archive, vous devez conserver le copyright en tête du code source Scriptol et PHP.
Les modifications et améliorations éventuelles du code doivent être fournies sous forme de code open source Scriptol et PHP, même si vous utilisez le programme modifié en ligne.
Si PHP n'est pas installé, il faut télécharger l'interpréteur en version 5 sur php.net.

  1. Télécharger l'archive au format zip,
  2. la décompresser,
  3. ouvrir une fenêtre de ligne de commande et
  4. exécuter le programme dans la fenêtre selon la commande donnée plus haut.

Le programme peut aussi être téléchargé sur

(c) 2008-2009 Denis Sureau - Script gratuit sous licence GNU GPL 2.0