Bonjour à tous
J'ai une liste de liens (une soixantaine) vers des sites "amis", qui n'a pas été revue depuis longtemps.
Le résultat c'est que certains liens pointent vers des pages qui n'existent plus ou -- pire -- vers des sites commerciaux... dont un site chinois!!
Je suis en train de faire le ménage à le main en me connectant sur chaque site pour vérifier son état, mais je pense qu'il serait bon de pouvoir lancer de façon régulière un script qui fait cette opération et listerait les adresses douteuses.
Auriez vous une idée de la façon de faire cela?
Merci de partager votre expérience.
Bonjour PapyJP,

L'idée d'un script m'intéresse aussi car pouvoir automatiser la manœuvre est très séduisante.

Mes (récentes) recherches ne m'ont pas permises de mettre au point un tel script avec le langage que je connais (php) et mes connaissances en JS étant fort limitées je n'ai pas poussé mes investigations en ce sens.

Toutefois elles m'ont permis de trouver ce logiciel qui semble répondre à la question:
Screaming Frog (en anglais)

Bien sûr il s'agit là de lancer une action manuelle mais ça peut-être un début pour résoudre la problématique de façon ponctuelle.

Extrait du site de Screaming Frog a écrit :

Find Broken Links

Crawl a website instantly and find broken links (404s) and server errors. Bulk export the errors and source URLs to fix, or send to a developer.


PS: si par hasard tu mets la main sur une fonction qui peut-être intégrée au code d'un site, je suis preneur Smiley cligne
Bonjour,

Un script php testant ces liens via une tâche cron qui se lancerait selon une période donnée.

Tu pourrais mettre ces liens à tester dans une table.
Le script php ferait une requête sur chacun de ces liens:
En regardant le header de la réponse (get_headers), tu pourrais alimenter un champ "reponse" ... Si cette réponse est différente de 200, alors le lien a un soucis.

Tu pourrais aussi stocker le title de la page par exemple, ou sa longueur, et quand il y a un changement, c'est qu'il faut jeter un oeil à ce lien.

À la fin de cette tâche, un mail serait envoyé si des anomalies ont été détectées, avec les liens incriminés.

Ou sans passer par un cron, juste un script que quelqu'un lancerait de temps à autres.

Je mettrais aussi un champ avec la date du dernier test, pour pouvoir lancer le script plusieurs fois de suite afin qu'il ne teste que les liens qui n'ont pas été testés récemment, pour éviter qu'un timeout du serveur empêche que la tâche se réalise entièrement.
Modifié par loicbcn (10 Nov 2016 - 12:20)
PapyJP a écrit :
Bonjour à tous
J'ai une liste de liens (une soixantaine) vers des sites "amis", qui n'a pas été revue depuis longtemps.
Le résultat c'est que certains liens pointent vers des pages qui n'existent plus ou -- pire -- vers des sites commerciaux... dont un site chinois!!
Je suis en train de faire le ménage à le main en me connectant sur chaque site pour vérifier son état, mais je pense qu'il serait bon de pouvoir lancer de façon régulière un script qui fait cette opération et listerait les adresses douteuses.
Auriez vous une idée de la façon de faire cela?
Merci de partager votre expérience.

Soit tu testes via un script (javascript, PHP, Java, etc.) chaque lien présent sur une page HTML en envoyant une requête HTTP avec la méthode HEAD (évite le chargement de la ressource du GET), ou bien tu utilises l'un des sites permettant un test en ligne (ex. verification-des-liens.com.
sepecat a écrit :

Soit tu testes via un script (javascript, PHP, Java, etc.) chaque lien présent sur une page HTML en envoyant une requête HTTP avec la méthode HEAD (évite le chargement de la ressource du GET), ou bien tu utilises l'un des sites permettant un test en ligne (ex. verification-des-liens.com.

Merci sepecat,ce lien correspond exactement à ce que je veux: pas de code à écrire, juste lancer ce site et lui donner l'adresse de la page qui contient la liste des liens, c'est très simple et efficace.
Modérateur
Si c'est juste pour repérer les liens «cassés» Google Webmaster Tools les liste (entre autres avantages).
PapyJP a écrit :

Merci sepecat,ce lien correspond exactement à ce que je veux: pas de code à écrire, juste lancer ce site et lui donner l'adresse de la page qui contient la liste des liens, c'est très simple et efficace.

De rien...
La problématique des liens cassés est l'un des sujets sur lesquels je me penche pour la réalisation de mon générateur HTML, l'idée étant de bloquer toute mise en production d'un site web comportant de tels liens.
A priori, les tests seront intégrés dans ledit générateur sous forme de classe Java, mais je n'exclue pas de pouvoir générer un module javascript ou PHP apte à remplir cette fonctionalité. Smiley cligne