Un error 404 es un tipo de fallo frecuente (por no decir el que más) y puede venir ocasionado por muchos motivos: fallo a la hora de realizar un enlace, un fallo de desarrollo, hemos cambiado un contenido y hemos olvidado modificar el nombre, etc.

Es importante chequear antes de poner en beta o producción una página web la existencia de fallos de enlazado y a lo largo de toda la vida de un desarrollo. Podemos incluso realizar dicha tarea periódicamente para chequear el buen estado de nuestros enlaces.

Existen muchas herramientas en Windows y OSX para detectar la existencia de estos fallos. En Linux como somos más prácticos preferimos utilizar las que ya nos ofrece el propio sistema, como la utilidad wget.

Existen cientos de páginas en donde se explica cómo utilizar wget, pero de igual modo no vendría mal que le echaras un vistazo a la documentación con man wget.

El script

check404.sh

#!/bin/bash
wget --spider -o tmp.log -e robots=off -r -nd -p $1 
grep -B 3 ' 404 ' tmp.log
rm tmp.log

Básicamente lo que hace el script es activar el modo «spider» de wget para poder recorrer (como si fuera por ejemplo el robot de Google) completamente la profundidad de la URL que le pasemos como parámetro. Además le especificamos claramente que ignore el robots.txt y no guarde absolutamente ningún fichero ni directorio.

La siguiente linea simplemente rastrea el fichero de log para encontrar la cadena ‘ 404 ‘ y volcar por pantalla sólo los errores 404. Como veis es muy sencillo modificarlo para añadir que chequee más errores, redirecciones, etc.

Por ejemplo, si quisiera obtener un fichero de log, sólo con los errores de rastreo en esta página para analizarlos mas despacio podría utilizarlo de la siguiente manera:

check404.sh https://oscargascon.es > errores.log

El testeo de los errores 404 no puede faltar en tu batería de pruebas antes de poner una página en funcionamiento.

Fuentes

Simple way to find broken links with Wget

Comparte si te ha gustado

Autor:
Última actualización:

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

De acuerdo con lo dispuesto en el Reglamento (UE) 2016/679 de 27 de abril de 2016, consiento que mis datos sean tratados bajo la responsabilidad de Oscar Gascón Arjol para recibir respuesta a consultas. publicación de comentarios del blog y que las conserve mientras haya un interés mutuo para ello. Me doy por informado que tengo derecho a revocar este consentimiento en cualquier momento y a ejercer los de acceso, rectificación, portabilidad y supresión de mis datos y los de limitación y oposición al tratamiento dirigiéndome por email a [email protected] También estoy informado de que puedo reclamar ante la autoridad de control a www.agpd.es.