1 min read

Rastreando enlaces rotos con Linkchecker

Linkchecker es un software que sirve para rastrear sitios web en busca de enlaces rotos. Es Open Source y debería funcionar en cualquier sistema Linux.

En Ubuntu puedes instalarlo usando apt-get y seguro que tambien estará en los repositorios de Red Hat para Fedora y CentOS. En cualquier caso, siempre puedes el paquete tar.gz que te proporciona el desarrollador.

Estos días de atrás he estado buscando crawlers que rindieran bien en sitios medianos y grandes. Aprovechando que necesitaba un listado de 404s puse Linkchecker a rastrear un sitio no muy grande.

En su página de man está toda la información sobre lo que es capaz de hacer y todos los parámetros necesarios. Los resultados se pueden exportar a un montón de formatos. Yo elegí CSV.

Linkchecker en funcionamiento

Como se ve en la imagen ha estado funcionando durante 4 días y pico. Cuando lo vi no tenía ni idea de donde había sacado los 7 millones de URLs. Normal que tuviera ocupada el 96% de la CPU y 4,2Gb de RAM.

Linkchecker devorando RAM

Al pararlo y ver el archivo CSV me doy cuenta que estaba leyendo las URLs que se usan para el marcado semántico con Schema. Ahora me explico lo de los 7 millones. Debería haber un modo fácil de evitarlo pero no veo otro que no sea usando una expresión regular.

El informe en CSV es correcto. Por cada enlace roto me da desde que páginas está enlazado, el tipo de error, el anchor text y más datos que no me interesaban.

Es un software útil. Es multihilo, soporta autenticación y cookies, conexión via proxy, expresiones regulares y puede comprobar la sintaxis de tu código HTML y CSS.