Error pages (404, 500, maintenance)
Error pages (404, 500, maintenance)
8 reglas404: nunca dejes un callejon sin salida, ofrece al menos tres rutas útiles
Una página 404 que solo anuncia el fallo obliga al usuario a usar el botón Atras o a abandonar el sitio. Conviertela en un punto de recuperación: un campo de busqueda conectado al motor del sitio, un enlace claro a la página de inicio y un bloque de páginas más visitadas (derivado de los logs del servidor). NN/g midio una reducción del 40% en errores 404 al sumar corrección ortografica de URL con sugerencias de destinos alternativos. La heuristica de recuperación de errores exige que el sistema sea constructivo, no solo descriptivo del fallo.
NN/g "Improving the Dreaded 404" (-40% errores) · NN/g Error-Message GuidelinesNo encontramos esa página
Puede que el enlace este desactualizado. Prueba a buscar o sigue uno de estos accesos.
Páginas más visitadas
404
Not Found
Devuelve el código HTTP correcto: nunca un 200 detras de una página de error
Un servidor que responde HTTP 200 mientras muestra "página no encontrada" genera un soft 404: el crawler indexa la página de error como contenido valido, Google detecta la discrepancia y la marca en Search Console, desperdiciando crawl budget. Cada error debe llevar su código real: 404 (no existe), 410 (eliminado permanentemente), 500 (error de servidor) o 503 (no disponible temporalmente). Las SPAs con routing del lado del cliente son las más vulnerables, porque el servidor devuelve 200 para el shell aunque la ruta no exista.
Google Developers "HTTP status codes · soft 404" · Search Engine Journal "404 vs Soft 404"Lenguaje humano: sin culpar al usuario ni mostrar jerga técnica
El mensaje debe leerse en lenguaje llano y nunca insinuar que el error fue culpa del usuario. "400 Bad Request", "internal server error" o el código numérico crudo son incomprensibles para la mayoría. El GOV.UK Design System prohibe explicitamente usar jerga técnica como "404" o "bad request" en el cuerpo visible, y también las formulas informales tipo "oops" que minimizan el problema. NN/g lo refuerza: lenguaje positivo y no acusatorio, porque el sistema debe adaptarse al usuario, no al reves.
GOV.UK Design System "Page not found pages" · NN/g Error-Message GuidelinesNo encontramos esa página
Puede que el enlace este desactualizado o que la dirección tenga un error de escritura. Te ayudamos a volver al camino correcto.
Error 404: Bad Request
The requested resource was not found on this server. Request failed with status code 404.
Conserva navegación y branding: la página de error sigue siendo tu producto
Quitar header, footer y menú en una página de error elimina el contexto que permite reorientarse y continuar la tarea. Son momentos de alta ansiedad: mantener la identidad visual y la navegación principal reafirma que el usuario sigue dentro del mismo producto y tiene salidas disponibles. El GOV.UK Design System conserva el header de servicio, los skip links y los estilos institucionales en todos sus patrones de error, apoyandose en la heuristica de reconocer antes que recordar: el usuario no debe memorizar como volver.
GOV.UK Design System "Page not found pages" · NN/g "Recognition rather than recall"No encontramos esa página
El menú de arriba sigue activo para que continues donde quieras.
500: ofrece una acción concreta y jamas expongas el stack trace
Un error 500 sin instrucciones deja al usuario sin agencia: no sabe si esperar, reintentar o contactar soporte. La página debe ofrecer al menos un reintento, datos de contacto si hay soporte humano y, opcionalmente, un enlace a la página de estado. El GOV.UK Design System prescribe el párrafo "intenta de nuevo más tarde" y prohibe formulas vagas como "experiencing technical difficulties". Nunca muestres stack traces, rutas de archivo, versiones de dependencias ni mensajes de excepción: son superficie de reconocimiento para un atacante (OWASP A05:2021 Security Misconfiguration).
GOV.UK Design System "Problem with the service" · OWASP Top 10 A05:2021Algo fallo de nuestro lado
Lo sentimos, no es culpa tuya. Intenta de nuevo en unos momentos o avisa a nuestro equipo.
NullPointerException
at com.app.UserService.load(UserService.java:142)
at com.app.AuthController.get(AuthController.java:88)
jdbc:postgresql://prod-db-01:5432/users v14.2
Mantenimiento: responde 503 + Retry-After y muestra el ETA al usuario
Durante mantenimiento planificado el servidor debe devolver HTTP 503 (Service Unavailable) con el encabezado Retry-After, en formato de fecha HTTP o de segundos. Googlebot respeta ese encabezado y no desindexara el contenido mientras dure la caida; también orienta a usuarios y crawlers sobre cuando volver. Mostrar solo "sitio en mantenimiento" con un 200 y sin ETA es el peor escenario simultaneo de SEO y UX: un 200 con contenido de mantenimiento puede acabar marcado como soft 404. Da una hora de retorno concreta y con zona horaria.
Estamos haciendo mejoras
El sitio vuelve pronto. Gracias por tu paciencia.
Sitio en mantenimiento
HTTP/1.1 200 OK · sin Retry-After ni ETAPreserva el trabajo del usuario cuando el error ocurre dentro de un flujo
Cuando un error de servidor interrumpe un formulario o un flujo de pasos (registro, checkout, solicitud), el sistema debe conservar los datos ya ingresados antes de mostrar la página de error. Obligar a reescribir toda la información tras un fallo del servidor es una de las experiencias más frustrantes y dispara el abandono. El GOV.UK Design System recomienda almacenar lo capturado por un tiempo razonable y permitir retomar con datos prellenados al recuperarse el servicio; si la persistencia no es posible, la página debe decir con precisión que se guardo y que falta por reingresar.
GOV.UK Design System "Problem with the service" · NN/g Error-Message GuidelinesTu información de los pasos 1 y 2 esta guardada. Solo falta completar el paso 3 cuando el servicio se restablezca.
Error 500. Al volver, el formulario aparece vacio.
Accesibilidad: H1 semántico, foco gestionado y nunca solo color
Las páginas de error necesitan un H1 que describa el problema (no solo una ilustración), mover el foco del teclado al encabezado cuando el contenido se carga dinamicamente y garantizar contraste WCAG AA de 4.5:1 en texto normal. Depender de una ilustración o de un color para comunicar el fallo excluye a quienes usan lector de pantalla y a las cerca de 350 millones de personas con deficiencia de visión de color. El GOV.UK Design System prohibe el rojo como único indicador y exige un H1 con texto claro; la ilustración decorativa va con aria-hidden="true".
No encontramos esa página
Contraste 4.5:1, foco movido al H1 al cargar e ilustración marcada como decorativa.
<h1 tabindex="-1"> .focus()- R-322 404: nunca dejes un callejon sin salida, ofrece al menos tres rutas útiles
- R-323 Devuelve el código HTTP correcto: nunca un 200 detras de una página de error
- R-324 Lenguaje humano: sin culpar al usuario ni mostrar jerga técnica
- R-325 Conserva navegación y branding: la página de error sigue siendo tu producto
- R-326 500: ofrece una acción concreta y jamas expongas el stack trace
- R-327 Mantenimiento: responde 503 + Retry-After y muestra el ETA al usuario
- R-328 Preserva el trabajo del usuario cuando el error ocurre dentro de un flujo
- R-329 Accesibilidad: H1 semántico, foco gestionado y nunca solo color