por

Vamos a ver una forma muy sencilla de encontrar enlaces rotos en un sitio web. Me refiero a enlaces que apuntan a una página web o a un recurso inexistente. Y vamos a hacerlo desde la línea de comandos de Linux usando únicamente el comando wget.

La forma de detectar enlaces rotos con wget sería haciendo algo como esto:

$ wget -o sitioweb.log -r -l 10 --spider https://sitioweb.com --no-check-certificate

La ejecución de este comando creará un fichero de salida llamado sitioweb.log , que contendrá un informe sobre los enlaces que existen y que no existen en https://sitioweb.com .

Hay algunos parámetros que debemos conocer aquí:

  • -o sitioweb.log generará un log de salida
  • -r permite ejecutar el comando de manera recursiva
  • -l 10 describe el nivel máximo de “profundidad” al que se buscará (en este caso 10)
  • --spider especifica el “modo araña”, para detectar precisamente los enlaces rotos
  • --no-check-certificate fuerza a no chequear el certificado en conexiones seguras (https)

Una vez ejecutado este comando, donde evidentemente tendremos que sustituir https://sitioweb.com por la URL del sitio web que queramos, se habrá generado un fichero sitioweb.log que, al consultarlo, nos mostrará el número de enlaces rotos y su URL.

Como ejemplo:

$ wget -o davidgv.log -r -l 10 --spider https://davidgv.com --no-check-certificate

$ tail davidgv.log
(...)

Encontrados 2 enlaces rotos.

https://davidgv.com/xmlrpc.php?rsd
https://davidgv.com/xmlrpc.php

ACABADO --2018-07-23 10:43:33--
Tiempo total de reloj: 12s
Descargados: 13 ficheros, 203K en 0,4s (461 KB/s)
  • Contenido relacionado por Etiqueta