Qué es y cómo funciona una página 404 de error

¿Qué es una página web 404? ¿Cómo se muestra correctamente? ¡Aquí las respuestas! ¡El punto 2 te sorprenderá!

Redireccionamiento web Fichero htaccess solución de errores cabeceras web Apache Server

Es importante tener previstos todos los posibles errores que surgirán al navegar por nuestras webs en el tiempo: enlaces rotos, errores de programación, fallo a la conexión a base de datos...

Para corregir la mayoría de problemas de forma adecuada y profesional se debe utilizar por norma general el muestreo de una página 404 html de error. De esta forma no solo estaremos avisando al usuario que algo no ha ido bien, sino que de cara a los motores de búsqueda podríamos avisarles de que una url concreta ya no existe.

¿Qué es 404 página no encontrada?

Seguro que alguna vez te ha pasado, has entrado en una página web y ¡toma! 404 page not found. Una mensaje de resumen suele describir mejor el problema y en la mayoría de casos los proveedores de hosting acompañan al mensaje con una imagen de ¡Ops! Parece que esta página ya no existe.

Una página de error 404 página no encontrada es el mensaje que ve el usuario cuando intenta acceder a una página de un sitio web que no existe, derivado por ejemplo por un enlace roto, porque la dirección a la página se ha eliminado o porque se equivocó al escribir la url.

Las páginas 404 responden a este nombre debido a que son la respuesta a solititudes de páginas (su url ) que no responden. Los servidores web, de forma predeterminada, envían un código de estado HTTP 404 para avisar de una página que ya no existe o presenta algún problema.

No tengo una página 404 bien configurada ¿Problemas? 

  1. Fácil, sencillamente tu potencial lector/cliente/visitante se marchará, lo habrás perdido de todas todas ¡Con lo que cuesta conseguir visitas y has perdido una por una tontería!.
  2. Podrías incurrir en un error grave a los ojos de los motores de búsqueda (Google y CIA), ¿Que como es posible? Pues porque hay casos en los que ya no es el proveedor el que muestra esta página, sino que en tu web se ha producido, por un desliz, un error de php, y tu contenido se queda en blanco o a medio montar. El navegador entonces dice: vale esta página ahora tiene este texto ( error de Apache por ejemplo ) y la página del sitio tusitio.com/pagina/pagina2 pasa a tener una indexación completamente distinta a la original.
  3. Es posible que estés mostrando una página personalizada 404 pero no hayas notificado al navegador o a los motores de búsqueda ( que son quienes más miedo nos dan ), y vamos a ver a continuación como solucionarlo para que el señor google y compañia dejen de indexar tu página 404 como un contenido más de la web.

¿Y cómo sería una página 404 correcta?

La página 404 que debería mostrarse debería ser tuya, eso lo primero, una página personalizada de tu sitio que podría incluso mostrar un mensaje como: Esta página ya no existe, pero puede interesarte visitar estas otras publicaciones ( y mostrarle al usuario otros enlaces de la página por ejemplo ). 

Una página 404 bien hecha puede conseguir una visita de un usuario que por regla general saldría del sitio. Así que échale imaginación y mira estos ejemplos de páginas 404 originales.

Detalles de diseño y posicionamiento aparte, una página 404 mostrada a través de php o web debería de llevar una cabecera de código status 404 antes del código html.

Cómo mostrar cabecera error 404 en php

Antes de mostrar nuestra atractiva página 404 en html, es esencial enviar una cabecera que indique exactamente el código status 404 httpd. La función header de php nos permite enviar encabezados httpd sin formato. Es común utilizar esta función header() para realizar redirecciones 301 o mostrar códigos de status http. 

Recuerda que para enviar encabezados httpd con la función header no debes haber enviado ninguna clase de salida por pantalla, ni líneas en blanco, ni html, etc. 

El código de uso correcto de la función header para enviar el encabezado 404 sería el siguiente:

<?php
header("HTTP/1.0 404 Not Found");
?>

Incluye esta línea de código antes de mostrar tu página html 404 y voilá ¡todo listo!.

Un ejemplo más completo en php para una página cualquiera, en el que se utiliza un include para mostrar la vista correspondiente sería:

<?php
if($existe == true){
     include('vistas/blog/index.php');
}else{ //error la página ya no existe
     header("HTTP/1.0 404 Not Found");     
     include('vistas/pages/404.php');
}
?>

Este script podría pertenecer a una página blog de un sitio cualquiera ( por ejemplo srcodigofuente.es ). Si no se encuentra una publicación en concreto, envío el encabezado http 404 gracias a la función header() y más tarde incluyo mi página personalizada 404.php.

¿Alguna duda sobre configurar el error 404 en tu web?

Si has llegado hasta aquí es que has leído el artículo, ¡espero que te haya sido de utilidad! Sí es así, te agradecería que lo compartieras o dejarás un comentario abajo.

También estaría genial que me contaras tu experiencia con la puesta en marcha o cualquier duda relacionada.

¡Gracias!

Sobre el autor

Javier Gómez Redactor en Srcodigofuente.es

Javier Gómez

Ingeniero técnico en informática de gestión. Desarrollador web freelance y profesor de desarrollo web a partes iguales. Testarudo autodidacta, creativo, perfeccionista y alma libre.

Cargando comentarios

Utilizamos "cookies" para información estadística. Si continúas navegando aceptas su uso.