Probablemente ayer hiciera una de las mayores tonterías que se pueden hacer teniendo Linux como sistema operativo, y te pongo en antecedentes.
Una de las cosas que más me molesta es encontrarme un enlace que no funciona, es algo que me saca de mis casillas. Por esta razón hace un tiempo instalé un excelente complemento para WordPress: Broken Link Checker. Este plugin, lo que hace es comprobar todos y cada uno de los enlaces.
El problema, es que cuando menos me lo esperaba me encontraba con la desagradable sorpresa de que tenía el sitio sobrecargado: 503 Service Unavailable o por el estilo. Lo que realmente me molestaba más que lo anterior.
En un momento de brillantez, se me ocurrió la idea de buscar una aplicación que se encargara de hacer ese trabajo. Y ni corto ni perezoso comencé a realizar la búsqueda en internet. Y localicé la aplicación que pensaba que iba a sacarme de mis apuros: Xenu. Una aplicación para «Windows».
Si lo que has leído. Además en la propia página, indica que funciona en Ubuntu bajo Wine. Así que, yo, ni corto ni perezoso, pongo Xenu en funcionamiento bajo Wine, sin ningún tipo de problemas, ni complejos, ni …, ni conocimiento.
Después de, no se si, unas 20 horas de escanear la página, miro los resultados, para lo cual tienes que hacer doble clic sobre el enlace que no funciona, y …
Y entonces caigo en la cosa. A que persona humana, se le puede ocurrir semejante cosa absurda (si a ti también te pasó, lo lamento, pero tendrás a bien reconocer, que es tonto). Tendrá Linux herramientas mucho mejores y más acertadas para hacer este tipo de operaciones.
Me dió tal vergüenza, que decidí cerrar Xenu y buscar una aplicación para realizar de forma adecuada el trabajo. Que cazurro.
Así es como conocí LinkChecker. Se trata de una herramienta que hace exactamente lo que dice, busca en documentos html y sitios web enlaces rotos.
LinkChecher realiza comprobaciones recursivas, con soporte multihilo salida coloreada en html o en texto normal, o sql, o csv o xml. Una aplicación realmente apañada.
El funcionamiento es bien sencillo, haces las modificaciones que consideras oportunas en el archivo de configuración y lanzas el comando en un terminal, y te pones a hacer otras cosas. Si abres el archivo de salida html, en tu navegador, podrás ir actualizando el resultado:
Instalación, configuración y demás…
Instalación
La instalación es bien sencilla, puesto que se encuentra en el repositorio de Ubuntu, por lo que haciendo clic en linkchecker o desde el terminal:
sudo apt-get install linkchecker
Configuración
Para su configuración, tienes que editar el archivo linkcheckerrc:
gedit ~/.linkchecker/linkcheckerrc
Lo básico
Aquí hay mucho para configurar. Sin embargo, para tener un resultado con el que puedas trabajar, con un fichero html, que te indique lo que necesitas los cambios a realizar no son muchos.
Tipo de salida: [output]
Para evitar volverte loco, lo más sencillo es que inhabilites los avisos. Para ello simplemente quita la almohadilla que hay delante de warnings
Lo siguiente es seleccionar el tipo de salida, en mi caso html, para ello añades una línea que sea fileoutput = html.
Con esto ya tienes configurada la salida, que te quedará algo como:
Comprobación: [checking]
Aquí simplemente lo que hay que fijar es le número de hilos que se van a ejecutar de forma simultánea. Esto hay que tener cuidado, por que si pones 30, lo más probable que satures la página, con lo que el problema que queríamos evitar, no lo hemos evitado. Yo puse 3, más que nada por la cosa conservativa. Me da lo mismo que tarde 3 que 8 horas. Mi máquina el fin de semana está siempre en marcha.
Como ves, las posibilidades de configuración son muchas. Puedes escaner en busca de virus, incluso. Pero con estos pocos cambios para lo que queremos es suficiente por ahora.
Tienes una buena aplicación para gnome que hace lo mismo,
gurlchecker
Está en los repositorios.
Saludos
La he estado probando, y tengo dos problemas el primero es que no controlo el numero de hilos que lanza, pudiendo colapsar la página. La segunda es que me da errores inexistentes.
Gracias por tu comentario.
Bueno, también tienes una opción básica para la línea de comandos, y quizá la más rápida de todas ellas. Yo la he empleado más de una vez.
$ wget –spider –no-parent -r -o log.txt http://tuweb.com
Y luego solo tendrías que examinar el log.txt
Es más difícil de analizar los resultados, pero se puede mejorar filtrandolo con grep.
Es la mejor opción que conozco sin tener que instalar otras herramientas.
Saludos
Me gusta tu tutorial.
Si la página que quieres comprobar es accesible por URL siempre puedes meterla en el comprobador de links rotos de la W3C, incluso darle niveles de profundidad a los links. Esto tiene la ventaja de que no tienes que instalar nada y es independiente de tu sistema operativo. Pruebalo y nos cuentas que tal lo ves:
http://validator.w3.org/checklink
Del mismo modo, en http://validator.w3.org te sugiere cambios en HTML, CSS, etc de tu página por no ajustarse totalmente a las convenciones del W3C.
Un saludo.