LinkCheck : vérificateur de liens

Ce plugin permet de chercher et tester l’ensemble des liens présents dans les objets. Vous pourrez donc en quelques clics connaître les liens brisés ou défectueux qui se sont immiscés dans le contenu de votre site SPIP. La vérification s’effectue en tâche de fond pour avertir le webmestre dès qu’un liens montre des signes de faiblesse.

Fonctionnement

Le plugin LinkCheck parcoure les objets SPIP pour établir la liste des liens qu’ils contiennent. Les liens trouvés sont enregistrés dans une table de la base de données (spip_linkchecks) et sont reliés à l’objet ou aux objets qui le contiennent par le biais de la table spip_linkchecks_liens.

Une fois les liens listés, le plugin les vérifie un par un en interrogeant l’entête HTTP renvoyé par le serveur hébergeant la page.

La vérification répartis les liens en 4 statuts :

  • Les morts mort :-( : La page ou le document n’existe plus, c’est la fameuse erreur 404, le lien est à retirer ou à corriger de toute urgence.
  • Les liens malades : La fonction de vérification n’arrive pas à obtenir les informations permettant de savoir si le lien est valide, le serveur hébergeant la page est saturé. À vérifier manuellement.
  • Les liens déplacés : Ce sont des liens qui mène bien à la page souhaitée mais qui passe par une redirection . On va retrouver dans cette catégorie les URL raccourcis, les liens , Dans certains cas, il est préférable de remplacer ces liens par leur redirection.
  • Les liens valides : c’est ceux qu’on préfère, ils fonctionnent, rien à faire.

Le plugin linkcheck vérifie des liens collectés de deux façon :

  • Vérification automatique en tâche de fond : Après chaque modifications d’un objet, le plugin enregistre les liens présent dans cet objet, ils seront vérifiés par une tâche de fonds. Si un problème est constaté, le plugin informera le webmestre de la présence d’un lien brisé. Il pourra de cette façon le corriger au plus vite.
  • Vérification intégrale : Il est possible à partir de la page principale du plugin de lancer une vérification de tous les liens, Cette opération peut prendre plus ou moins de temps suivant le nombre de liens présents sur votre site.

Mode d’emploi

Une fois le plugin installé, un lien « Vérificateur de liens » est ajouté dans le menu « Maintenance ». En suivant ce lien, vous arrivez sur cette page :

Si c’est votre première utilisation, il sera offert la possibilité de lancer la recherche des liens. Vous n’avez qu’à cliquer sur le bouton « Commencer la recherche »

Une fois la recherche terminé, la page est réactualisée, vous pouvez consulter l’ensemble des liens présents sur votre site. Il ne sont pas encore vérifier.

Vous pouvez laisser les tâches de fonds faire, elles se chargeront de vérifier de l’ensemble des liens au goutte à goutte. Si vous êtes pressés, vous pouvez lancer une vérification complète en cliquant sur le bouton « Commencer la vérification » ou « poursuivre la vérification ». Il ne vous reste plus dans ce cas qu’à contempler de défilement de la barre de progression, elle vous annonce l’état de vos liens.

Paramétrages

Vous pouvez régler à partir de l’écran de configuration du plugin, la façon dont le plugin vous notifie les anomalies.

  • Vous pouvez activer ou désactiver la barre d’alerte.
  • Vous pouvez activer ou désactiver la notification par email

Export vers un tableur

Pour une gestion externe des liens morts ou déplacés, on peut souhaiter exporter les résultats vers un fichier tableur. Pour cela on peut passer par phpmyadmin. À cette fin, un lien situé en bas de la liste permet d’exporter la sélection : tous les liens et leur diagnostic, ou seulement les morts, ou les déplacés, etc.

Le développement de ce plugin a bénéficié du soutien du BRGM, qu’il en soit vivement remercié !

Noms alternatifs possibles :

  • checklinks
  • checklink
  • vérif liens
  • liens vérif

Discussion

39 discussions

  • 5

    Hello,

    Pour un de mes sites (le seul hébergé chez OVH je ne sais pas si cela est lié) la vérification reste bloquée à :

    209 liens dont 182 non-verifiés

    J’ai désinstallé et réinstallé le plugin mais c’est pareil.

    LinkCheck 1.2.1 avec SPIP 3.0.21

    dd

    • Je me répond : avec la toute dernière version du plugin c’est bon j’ai réussi à débloquer le compteur en validant manuellement les liens (très bien cette nouvelle fonction).

      Je pense qu’il s’emmêlait les pinceaux avec les liens inclus dans les newsletters.
      Il reste quand même ce lien présent dans le squelette de chaque newsletters : http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd qui est marqué comme mort x fois

      Je suis d’accord avec Fil sur le pavé de la liste des liens sur les pages article ou newsletter.
      Un petit déplier/replier peut-être ? (j’ai bien vu la pagination mais ce bloc est quand même envahissant).

      Merci pour ce plugin bien utile.

      dd

    • Hello

      Pour pourtant ce lien n’est pas mort en fait.

      Pourrais tu me fournir un export de BDD (nettoyé comme tu veux mais conservant les newsletter) pour que je puisse tester et améliorer ?

      Mon email est assez simple à trouver soit sur les listes, soit sur ce site dans le privé

    • Hello,

      Il semblerait qu’avec la dernière version du plugin la détection des liens http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd soit correcte.
      J’ai vu que le plugin testait ce lien et qu’il le validait.

      Sinon j’ai un lien qui est vu comme mort (en vrai il est déplacé) : mais je crois que c’est un problème de leur coté car lorsque je tente de l’ajouter comme site référencé SPIP ne le trouve pas non plus : https://www.brest.fr (très belle page 404 (((

      Et dernière trouvaille le plugin Piwik apparaît dans la liste des slies à tester :
      http://www.piwik.org
      Redirection
      https://piwik.org/ Plugin PIWIK Déplacé Tester ce lien

      Voila pour aujourd’hui

      dd

    • Pour brest.fr j’ai bien Déplacé https://www.brest.fr => Redirection https://www.brest.fr/accueil-3.html/

    • Pour Piwik c’est corrigé dans la version svn mais le lien décrit est issu des dépôts de SPIP

      Bref, de toute manière, on n’analyse plus spip_plugins ce n’est pas un objet édito du site

    Répondre à ce message

  • 1

    Ce plugin est une vraie merveille, qui aide bien à faire le tour des liens, même sur un gros site ! Merci !!

    Cependant, le nombre de faux positifs est très élevé (près de 50%, tout de même !)
    En analysant certains des liens identifiés comme morts via d’autres outils en ligne, le code HTTP renvoyé est bien « OK- 200 ». Une révision du fonctionnement du plugin est-elle envisageable ?

    De même, il serait génial de pouvoir identifier via des cases à cocher des liens une fois vérifiés (par exemple, les faux positifs qu’on aura vérifié à la main, ou les liens qu’on a corrigé mais qui restent listés) pour les sortir de la liste... Là, à part purger les tables de la base de données, on ne peut pas retirer ces liens !

    • Si vous utilisez toujours ce plugin, pouvez vous confirmer ou infirmer que le nombre de faux positifs ai baissé et donner des exemples de liens qui fonctionneraient mal ?

    Répondre à ce message

  • 1
    yanovsk

    Bonjour,
    Merci pour ce super plugin !
    Toutefois je suis ennuyé car je gère un annuaire de pages 404 (et oui, on trouve n’importe quoi sur le web :D )
    Donc je souhaiterais que les réponses 404 ne soient pas tamponnées comme « lien mort » mais bien comme valides.
    J’ai fouillé un peu le code mais sans succès.
    Pourriez-vous m’aider à localiser votre test sur les retour d’entêtes afin que je ne tienne pas compte des 404 ?
    Merci infiniment.
    Bonne continuation.

    • Je ne vois pas comment ton idée peut fonctionner, ou à quoi servira ce plugin dans ton cas puisqu’une 404 est un lien mort, une page inexistante dans un site et qu’un serveur correctement configuré t’y enverra.

      Du coup, à quoi peut bien te servir ce plugin ? juste à voir si le domaine existe ?

    Répondre à ce message

  • Bonjour,

    Pourriez-vous nous en dire plus sur les autorisations ? En l’état il semble que seul le webmestre puisse voir l’interface linkcheck mais pas les administrateurs.

    Faut-il modifier quelque chose dans mes_options ?

    Valéry

    Répondre à ce message

  • 1

    J’ai modifié pas mal le plugin aujourd’hui pour des raisons de perfs et afin qu’il aille chercher les liens partout.

    Juste un commentaire pour recevoir les potentielles plaintes ;)

    • Je ne recevais pas de notifications mail mais tout à coup j’en reçoit tous les jours. Est-ce qu’il y a eu un changement sur le réglage ? Ceci peut-il être inactif par défaut ?

    Répondre à ce message

  • 1

    Bonjour,
    Je suis en train de le faire passer sur un site de plus de 15.000 articles, ça marche super bien.

    Deux remarques :
    -  ce serait bien de pouvoir classer les résultats, en particulier par ordre alphabétique, plus pratique pour nettoyer de multiples url d’un même site référencé
    -  il me sort quelques faux morts, en tronquant l’adresse, en particulier quand il y a un tiret ou une virgule dans l’url semble t’il (alors que spip fait bien le lien, lien déclaré via le raccourcci

    [titre->lien]
    • Le coup des liens morts lorsque l’URL contient un tiret, je l’ai observé aussi, et pas seulement lorsqu’il s’agit d’un raccourci SPIP
      C’est aussi le cas avec le plugin « Test URL »

      dd

    Répondre à ce message

  • Tout semble fonctionner sans problème de mon côté. Merci pour ce plugin très utile !

    Répondre à ce message

  • 2

    Voilà les renseignements demandés :
    mysql 5.1 et php 5.4.37
    Le site est hébergé chez OVH

    • Guillaume, je me demande si on passe bien par inc/distant de SPIP ou un simple curl en PHP. Si c’est curl, c’est peut-être là qu’est le problème.

    • Bon finalement ça fonctionne, je viens de retourner dans la partie administrative de mon site et j’ai vu apparaitre la liste des liens, bizarre mais tant mieux !

    Répondre à ce message

  • 1

    Bonjour,

    Très bonne idée que ce plugin, malheureusement je n’arrive pas à dépasser l’étape de la recherche des liens. Après installation, je clique sur « Commencer la recherche » mais même en attendant très longtemps il ne se passe rien. J’ai essayé aussi après rechargé la page et aussi réinitialisé...

    Spip 3.0.17
    Squelette Ahuntsic 2.0.2

    • Bonjour Baguf,
      Peux tu me dire si tu utilises mysql ou sqlite ?
      Si c’est mysql, quelle version ? ainsi le numéro de version de php.
      Merci

    Répondre à ce message

Ajouter un commentaire

Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparaît.

Merci d’avance pour les personnes qui vous aideront !

Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.

Qui êtes-vous ?
[Se connecter]

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom