Test de soft 404
Una página que no existe debería responder con el estado 404. Muchos sitios responden 200, o envían al visitante a la portada sin avisar. Este test pide a tu servidor dos direcciones que no pueden existir y te dice qué responde.
Cada respuesta lleva un número que el visitante nunca ve
Cuando un servidor responde a una petición, la primera línea de su respuesta es un código de estado de tres cifras. La página viene después. Las personas leen la página y el software lee el número. 200 significa “aquí tienes lo que pediste”, 301 significa “se movió, mira allá”, 404 significa “no hay nada en esta dirección” y 410 significa “se eliminó a propósito”.
Un soft 404 es lo que pasa cuando los dos no coinciden. El texto en pantalla dice que la página no existe, o el visitante aterriza sin darse cuenta en la portada, y mientras tanto el número dice 200. Los buscadores siguen rastreando, y a veces indexando, direcciones que no llevan a ninguna parte. Los verificadores de enlaces dan por buenos todos los enlaces rotos. Los monitores de disponibilidad siguen en verde aunque falte una sección entera del sitio.
Qué pide el test y cómo decide
Nuestro servidor construye dos direcciones con caracteres al azar, así que no pueden coincidir con una página real. Una tiene forma de carpeta (/probe-check-k7m2x9qa4t/) y la otra de archivo (/h3n8v2c5w7pq.html). Usamos dos formas porque un servidor web suele responder él mismo a lo que parece un archivo y pasar todo lo demás al CMS. Se siguen las redirecciones y se guarda el código de cada salto. Si el sitio no responde por HTTPS, el test pasa a HTTP simple.
| Qué respondió | Veredicto |
|---|---|
404 o 410 en la dirección pedida | Correcto. |
Una redirección que termina en una página 404 | Aviso. Los rastreadores lo entienden, pero la dirección que escribió el visitante se reemplaza en la barra del navegador. |
200 en la dirección pedida | Soft 404. |
Una redirección a la portada (/, /en, /index.php) que responde 200 | Soft 404. |
Una redirección a cualquier otra página que responde 200 | Soft 404. |
500 y superiores | Error. Algo falla con las direcciones desconocidas. |
401 o 403 | Aviso. Normalmente una regla del cortafuegos responde antes que el sitio. |
La página de error también se revisa
Cuando el código es correcto, el test lee el HTML de la página de error y busca lo que necesitaría un visitante perdido:
- Una salida a la portada. Cuenta cualquier enlace a la raíz del sitio o de una versión de idioma, incluido un logotipo en el que se pueda hacer clic.
- Una explicación. El título, el encabezado principal o el texto deben contener algo como “404”, “no encontrado”, “no existe” o “lo sentimos”. Menos de 15 palabras de contenido, sin contar cabecera, menú ni pie, se anota como escaso.
- Un campo de búsqueda. Si no hay, recibes una observación. No cuenta como fallo.
- Un
<title>y un atributolang, para que las pestañas del navegador y los lectores de pantalla tengan algo que anunciar. - Peso. Más de 500 KB de HTML se señala, porque los bots piden direcciones inexistentes todo el día.
La página por defecto de nginx, Apache, IIS o LiteSpeed se reconoce y se indica como tal. No tiene logotipo ni enlaces, así que los visitantes creen que han salido de tu sitio. También se te avisa cuando las dos direcciones de prueba reciben páginas claramente distintas, lo que significa que el servidor web y el CMS tienen cada uno la suya.
Cómo convertir un soft 404 en un 404 de verdad
- Apache
ErrorDocument 404 /404.html. Indica una ruta local. Con una URL completa, Apache envía una redirección y el código final pasa a ser200.- nginx
error_page 404 /404.html;. Quita cualquier=200colocado entre404y la ruta.- WordPress
- El núcleo ya responde
404. Busca un complemento de redirecciones o de SEO con una opción como “redirigir los 404 a la portada” y desactívala. - Aplicaciones de una sola página
- Una reescritura general hacia
index.htmlresponde200a todo. Genera las rutas desconocidas en el servidor con estado404, o deja que lo haga el alojamiento (Netlify y Cloudflare Pages sirven un404.htmlen la raíz con el código correcto).
Comprueba el cambio desde una terminal con curl -I https://example.com/no-such-page, que muestra primero la línea de estado.
Dos direcciones al azar en la raíz no cubren un sitio entero. Una tienda, un foro o un blog instalado en una subcarpeta puede comportarse de otra manera, así que prueba a mano una dirección inventada ahí. No ejecutamos scripts, por lo que un mensaje de error dibujado con JavaScript no se ve aquí. Y una página real que simplemente está vacía, que los buscadores también etiquetan como “soft 404”, no se puede detectar desde fuera.
Preguntas frecuentes
¿Qué es un error soft 404?
Una respuesta que le dice a las personas que la página no existe y le dice al software que todo va bien. Suele presentarse de dos formas: una página de “no encontrado” servida con estado 200, o una dirección desconocida redirigida a la portada.
¿Redirigir todas las páginas 404 a la portada es malo para el SEO?
Sí. Google trata una redirección masiva a la portada como un soft 404, así que no transmite valor, y los visitantes no entienden por qué han llegado ahí. Redirige una dirección antigua solo a la página que la reemplazó, con un 301, y deja que el resto responda 404.
¿Una página eliminada debe devolver 404 o 410?
Los dos son correctos. 410 Gone indica que la eliminación es deliberada y permanente, y los buscadores suelen retirar la dirección un poco antes. Usa 404 cuando no estés seguro de que la página haya existido alguna vez.
¿Los errores 404 perjudican mi posicionamiento?
No. Las direcciones inexistentes son una parte normal de la web y no se le tienen en cuenta a un sitio. Lo que sí cuesta es un enlace en tus propias páginas que apunte a una de ellas, o una página antigua muy visitada que ahora responde 404 cuando podría redirigir a su sucesora.
¿Por qué Search Console informa de un soft 404 en una página que existe?
Google también usa esa etiqueta para páginas reales que parecen vacías: una categoría sin productos, una búsqueda sin resultados, una página cuyo contenido no se cargó. Añade contenido, o devuelve 404 si la página no tiene razón de existir.
¿Cómo puedo ver yo mismo el código de estado de una página?
Abre las herramientas de desarrollo del navegador, elige la pestaña Red (Network) y recarga. La primera línea muestra el código. Desde una terminal, curl -I seguido de la dirección hace lo mismo.