¿Qué es un error 404? 404 vs. 403 Forbidden y cómo solucionarlos
Un error 404, o 404 Not Found («no encontrado»), es el código de estado HTTP que devuelve un servidor web cuando no tiene nada que mostrar en la URL solicitada. Según el estándar HTTP, RFC 9110, el servidor no encontró una representación actual del recurso solicitado o no quiere revelar que existe (en traducción libre). No indica si la página ha desaparecido para siempre.
Pruébalo gratis: Códigos de estado HTTP Gratis y sin necesidad de cuenta.
Su pariente 403 Forbidden («prohibido») es distinto: la página puede existir, pero el servidor entendió la solicitud y la rechaza. Esta guía explica qué es un error 404, qué significa 403 Forbidden, en qué se diferencian ambos de 401 y 410, y cómo encontrarlos y corregirlos sin perjudicar el SEO. Para consultar cualquier otro código, busca en la lista gratuita de códigos de estado HTTP.
¿Qué es un error 404? El significado oficial
El significado del error 404 proviene de RFC 9110, sección 15.5.5, la especificación HTTP vigente. En la práctica importan tres detalles:
- Un 404 no es permanente por definición. La página podría volver. Cuando un servidor sabe que la eliminación es permanente, el RFC prefiere 410 Gone.
- Un 404 puede ocultar una página a propósito. Un servidor que no quiere revelar que existe un recurso prohibido puede responder 404 en lugar de 403. GitHub, por ejemplo, devuelve 404 Not Found para los repositorios privados cuando una solicitud no está debidamente autenticada, para que nadie ajeno pueda confirmar que el repositorio existe.
- La clase 4xx significa «error del cliente», pero en la práctica la causa suele estar en el sitio web: una página eliminada o un enlace roto.
Cada sitio redacta el mensaje de forma distinta («404 Not Found», «Page not found», «HTTP Error 404»), pero el código de estado que hay debajo es el mismo.
¿Qué significa 403 Forbidden?
RFC 9110 define 403 Forbidden así (en traducción libre): el servidor entendió la solicitud, pero se niega a atenderla. Si la solicitud llevaba credenciales, el servidor las considera insuficientes, y repetir la misma solicitud no servirá de nada. La página está ahí; simplemente no tienes permiso para verla.
El error 403 Forbidden se confunde a menudo con el 401:
- 401 Unauthorized significa que a la solicitud le faltan credenciales válidas. El servidor debe incluir un encabezado
WWW-Authenticateque indique cómo autenticarse, y puede solucionarse iniciando sesión con la cuenta correcta. - 403 Forbidden significa que el servidor niega el acceso. Volver a iniciar sesión con la misma cuenta no sirve; necesitas otros permisos, o el propietario del sitio tiene que cambiar una regla.
Los navegadores suelen mostrar «403 Forbidden», «Access denied» o «HTTP Error 403», y el rechazo puede venir de un firewall o una CDN situados delante del sitio, no del propio sitio.
404, 410, 403 y 401 de un vistazo
| Código | Nombre | Qué le dice al cliente | Causa típica | Cómo se soluciona |
|---|---|---|---|---|
| 404 | Not Found | No hay nada disponible en esta URL, quizá solo por ahora | Página eliminada o movida, enlace roto, error tipográfico | Corregir el enlace, restaurar la página o añadir una redirección 301 |
| 410 | Gone | El recurso se eliminó a propósito y no volverá | Promoción caducada, contenido eliminado | Nada; quitar los enlaces que aún apuntan a él |
| 403 | Forbidden | El servidor entendió la solicitud y la rechaza | Permisos, reglas de denegación, firewall, bloqueo por IP o país | Otros permisos o un cambio en el servidor |
| 401 | Unauthorized | Falta una autenticación válida | Sesión no iniciada, token caducado, contraseña incorrecta | Iniciar sesión o enviar credenciales válidas |
Los nombres coinciden con la referencia de códigos de estado HTTP, que también incluye las redirecciones 3xx.
Qué hacer cuando ves un error 404 o 403
Si eres visitante, prueba estos pasos en orden:
- Revisa la URL por si hay errores tipográficos o texto cortado al final de un enlace largo. Las rutas pueden distinguir entre mayúsculas y minúsculas:
/Contact/y/contact/pueden ser páginas distintas. - Recarga la página. Una página que se está volviendo a publicar puede devolver un error durante un momento.
- Busca en el sitio. Borra la última parte de la ruta o usa el buscador del sitio para encontrar adónde se movió el contenido.
- Si es un 403, borra las cookies y la caché del sitio. Una cookie de sesión caducada puede hacer que un servidor rechace las solicitudes; cerrar sesión y volver a iniciarla ayuda por el mismo motivo.
- Desactiva tu VPN o proxy. Algunos sitios y firewalls bloquean con un 403 los rangos de direcciones de VPN o países enteros.
- Avisa al propietario del sitio si el enlace roto estaba en el propio sitio.
Por qué un sitio devuelve 404 Not Found
Para los propietarios de sitios, la mayoría de los 404 tienen una de estas causas:
- Páginas eliminadas o movidas sin redirección, a menudo tras un rediseño o una migración de CMS.
- Errores tipográficos en los enlaces, en tus propias páginas o en otros sitios.
- Distinción entre mayúsculas y minúsculas. En los servidores Linux habituales,
/Guide.htmly/guide.htmlson archivos distintos. - Barras finales.
/pricingy/pricing/son URL distintas, y un servidor puede servir una y devolver 404 para la otra. - Reglas de reescritura. Una regla de
.htaccessdefectuosa, un cambio en la configuración de enlaces permanentes o una líneatry_filesde Nginx que falta pueden llevar URL válidas a un 404.
Qué causa un error 403 Forbidden en tu sitio
En tu propio sitio, un error 403 Forbidden suele deberse a:
- Permisos de archivos. El servidor web debe poder leer los archivos. En un hosting Linux típico, los archivos usan
644(rw-r--r--: el propietario lee y escribe, todos los demás leen) y los directorios usan755(rwxr-xr-x). Evita777, que permite escribir a cualquiera. - Falta de archivo índice con el listado de directorios desactivado. Una solicitud a una carpeta sin
index.htmlniindex.phprecibe un 403 cuando Apache tieneOptions -Indexeso Nginx tieneautoindex off. - Reglas de denegación en
.htaccesso en la configuración del servidor, comoRequire all deniedo una lista de IP permitidas que no incluye al visitante. - Un firewall de aplicaciones web o una CDN que bloquea direcciones IP, países, agentes de usuario o patrones de solicitud sospechosos.
- Protección contra hotlinking, que devuelve 403 para las imágenes solicitadas desde otros dominios.
Cómo corregir los errores 404
La solución adecuada depende de lo que le haya pasado a la página:
- El contenido se movió: añade una redirección 301 a la nueva URL, para que los visitantes, los enlaces y los buscadores la sigan.
- Se eliminó por error: restáurala en la misma URL.
- Tus propios enlaces están mal: corrige los menús, los enlaces internos y las entradas del sitemap que apuntan a la URL que falta.
- Se eliminó a propósito: devuelve 410 Gone (o mantén el 404) y no la redirijas.
En Apache, las tres cosas pueden ir en .htaccess:
Redirect 301 /old-guide/ /new-guide/
Redirect gone /spring-sale-2025/
ErrorDocument 404 /404.html
El equivalente en Nginx es:
location = /old-guide/ { return 301 /new-guide/; }
location = /spring-sale-2025/ { return 410; }
error_page 404 /404.html;
Una página 404 personalizada debe indicar que no se encontró la página, mantener la navegación del sitio y ofrecer una búsqueda o enlaces populares, y aun así tiene que enviar el código de estado 404. En Apache, apunta ErrorDocument a una ruta local como /404.html: con una URL completa https://, Apache redirige al visitante y se pierde el estado 404 original.
Evita los soft 404: páginas que dicen «no encontrado» pero devuelven 200 OK. Las aplicaciones de una sola página que responden a todas las rutas con 200 son una causa habitual. Tampoco redirijas todas las URL que faltan a la página de inicio. La guía de Google sobre migraciones de sitios advierte que enviar muchas URL antiguas a un único destino irrelevante, como la página de inicio, puede confundir a los usuarios y podría tratarse como un soft 404.
¿Los errores 404 perjudican el SEO?
No por sí solos. Google Search Central ha afirmado que tener algunas URL con 404 no perjudica a un sitio por sí mismo ni cuenta en su contra en los resultados de búsqueda. La ayuda de Search Console añade que los 404 no son necesariamente un problema cuando una página se eliminó sin sustituta, y recomienda corregir los 404 a los que enlazas tú mismo o que incluyes en tu sitemap.
Hay dos casos que sí te perjudican. Una página que antes posicionaba y ahora devuelve 404 sale del índice junto con su tráfico, así que redirígela si existe una sustituta relevante. Y un soft 404 oculta el estado real, por lo que la guía de Google sobre errores soft 404 recomienda un 404 o 410 real para las páginas eliminadas y un 301 para las movidas.
Sobre 404 frente a 410: la documentación de Google indica que trata todos los códigos 4xx, salvo el 429, de la misma forma y elimina del índice una URL que ya estaba indexada. Usa 410 porque expresa tu intención con claridad, no para cambiar el posicionamiento. Un 403 o 401 en una página que quieres indexar es peor: Googlebot no inicia sesión, así que Search Console la marca como bloqueada por acceso prohibido (403) o bloqueada por una solicitud no autorizada (401), y la página no se indexa. Si un firewall bloquea a Googlebot, corrige la regla.
Cómo encontrar enlaces rotos y errores 404
- Google Search Console: abre Indexación › Páginas y revisa los motivos «No encontrada (404)» y «Soft 404», que muestran las URL afectadas.
- Registros del servidor: guardan cada solicitud con su estado. En el formato de registro «combined» habitual de Apache y Nginx, el campo 7 es la ruta y el campo 9 es el código de estado, así que este comando muestra las URL inexistentes más solicitadas:
awk '$9 == 404 {print $7}' access.log | sort | uniq -c | sort -rn | head
En un registro de prueba con siete solicitudes, mostró 3 /old-guide/ y 1 /Contact/: una página movida que necesita una redirección y un enlace con la mayúscula equivocada.
- Comprobadores de enlaces: un rastreador de sitios sigue todos los enlaces internos e informa de los que devuelven 4xx o 5xx; muchos también pueden comprobar los enlaces salientes.
- Una comprobación manual rápida:
curl -I https://example.com/old-guide/obtiene solo los encabezados, y la primera línea muestra el estado, comoHTTP/2 404. El generador de cURL crea este comando cuando eliges el método HEAD.
Consulta cualquier código de estado
La referencia gratuita de códigos de estado HTTP incluye 63 códigos estándar, desde 100 Continue hasta 511 Network Authentication Required, agrupados en cinco clases. Escribe un número como 404 o una palabra como forbidden para ver el código correspondiente, su nombre y una breve descripción en el idioma de la página. Es una referencia, no un comprobador de URL: no consulta tus páginas, y los códigos no oficiales, como el 499 de Nginx, no aparecen.
Preguntas frecuentes
¿Un error 404 es culpa mía?
Normalmente no. Puede que hayas escrito mal la URL, pero la mayoría de los 404 se deben a páginas movidas o eliminadas y a enlaces que nunca se actualizaron.
¿Debo usar 404 o 410 para una página eliminada?
Si la página se eliminó a propósito y no va a volver, 410 Gone es la respuesta más precisa; si no estás seguro, 404 está bien. Si el contenido se movió, usa en su lugar una redirección 301.
¿Borrar las cookies puede solucionar un error 403 Forbidden?
A veces. Si la causa es una cookie de sesión caducada o dañada, borrar las cookies del sitio y volver a iniciar sesión lo soluciona. No sirve cuando el bloqueo se debe a los permisos del servidor, a una regla de IP o de país, o a un bloqueo de VPN.
¿Qué es un soft 404?
Una página que les dice a los visitantes que el contenido no existe, pero devuelve 200 OK en lugar de 404. Google excluye esas páginas de los resultados de búsqueda y las señala en Search Console. Devuelve un 404 o 410 real, o un 301 si el contenido se movió.
¿Un 404 es un error del cliente o del servidor?
Pertenece a la clase 4xx de errores del cliente, porque la URL solicitada no tiene nada que servir. Un fallo del servidor aparece como un código 5xx, como 500 Internal Server Error.
Pruébalo gratis: Códigos de estado HTTP Gratis y sin necesidad de cuenta.