Arreglaste los enlaces internos, enviaste el sitemap y Search Console sigue mostrando URLs que no deberían existir. A veces el problema no es el enlace, sino lo que devuelve tu servidor cuando falta una URL. Un 404 o 410 correctos indican a los rastreadores que la página ya no está. Un soft 404 (error 404 blando) parece un error para personas o algoritmos pero envía la señal HTTP equivocada: suele ser 200 OK con texto fino de «no encontrado», o una redirección a la página de inicio.
La documentación de rastreo de Google agrupa estos casos entre problemas de estado HTTP y de red, y describe los soft 404 como páginas que devuelven códigos de éxito mientras se comportan como errores. Puedes vigilar los motivos de indexación en Search Console; esta guía se centra en el comportamiento del servidor que sí controlas.
El Comprobador de soft 404 obtiene tu URL y una ruta inexistente aleatoria en el mismo origen, y compara códigos de estado, redirecciones, títulos y texto visible. Es una prueba heurística de una sola muestra, no una copia del informe de indexación de páginas de Google.
!Tres pasos: obtener dos URLs, comparar estado y contenido, mostrar veredicto y correcciones
Cómo se ven un 404 y un 410 reales
404 Not Found significa que el servidor no tiene representación para esa URL en este momento. 410 Gone indica que el recurso se retiró a propósito y no se espera que vuelva. Ambos son formas válidas de sacar URLs muertas de las colas de rastreo cuando se usan de forma coherente.
Una buena respuesta para URL inexistente:
curl -I https://www.ejemplo.com/esta-ruta-no-existeForma esperada:
HTTP/2 404
content-type: text/html; charset=utf-8El cuerpo puede ser una página HTML útil con navegación; lo crítico es la línea de estado, no el diseño.
Cómo se ve un soft 404 en la práctica
Patrones habituales:
- Plantilla de error con HTTP 200 — El título dice «Página no encontrada» pero el estado es 200.
- Redirigir URLs inexistentes a / — El usuario llega a la home; los rastreadores pueden tratarlo como soft 404.
- Envoltorios vacíos y finos — Categorías, búsqueda o vistas de «sin stock» con casi ningún contenido único y 200.
- SPAs del lado del cliente — La shell devuelve 200; el «No encontrado» solo se renderiza tras ejecutar JavaScript (las comprobaciones de HTML crudo no ven la vista del cliente).
Ejemplo de patrón blando (estado incorrecto):
HTTP/2 200
content-type: text/htmlEl cuerpo sigue diciendo «404 - página no encontrada». Los rastreadores que confían en el código de estado pueden seguir intentando indexar la URL.
La guía de resolución de problemas de estados HTTP de Google explica por qué los códigos correctos importan para el rastreo; úsala como referencia canónica cuando expliques arreglos al equipo de desarrollo.
Por qué importan los soft 404 (sin exagerar)
Los soft 404 pueden gastar presupuesto de rastreo en URLs que no deberían existir, pueden enviar señales engañosas sobre si el contenido está disponible y a menudo generan una mala experiencia cuando alguien comparte un enlace muerto. El impacto varía según el tamaño del sitio y el grafo de enlaces; trátalo como higiene en sitios medianos y grandes, sobre todo tras migraciones.
En catálogos con miles de URLs de producto o filtros, un solo patrón de 200 en rutas vacías puede multiplicarse en cientos de URLs que los bots vuelven a visitar sin valor. En sitios pequeños el coste es menor, pero un enlace roto que devuelve 200 sigue confundiendo a quien llega desde un correo antiguo o un bookmark.
Cómo encontrar soft 404
Search Console — Usa el informe de indexación de páginas y filtra por motivos «Soft 404» o «No encontrada» cuando estén disponibles. Esa vista refleja la clasificación de Google, no solo la intención de tu servidor.
curl manual o herramientas de desarrollo — Elige una ruta sin sentido y comprueba el estado de la primera respuesta (atento a las redirecciones).
Sondeo a nivel de servidor — El Comprobador de soft 404 automatiza una segunda petición a /scrawl-404-test-<aleatorio> en tu origen para que no tengas que inventar la ruta. Los veredictos se etiquetan como probables; confirma plantillas importantes a mano.
Combínalo con:
- Comprobador de enlaces rotos para enlaces en una página (el atajo
/tools/404-checkerredirige allí en la versión en inglés del sitio). - Comprobador de estado en bloque para listas exportadas de Search Console o sitemaps.
- Comprobador de cabeceras HTTP cuando necesites cabeceras en bruto de una URL concreta.
Si gestionas muchas URLs legacy tras una migración, exporta el listado, pásalo por el comprobador en bloque y reserva el comprobador de soft 404 para validar el comportamiento por defecto cuando cualquier ruta desconocida golpea el servidor.
Arreglos por stack (ejemplos orientativos)
Node / Next.js
Devuelve un límite not-found con un 404 real:
// app/not-found.js — Next.js sirve esto con 404
export default function NotFound() {
return <main><h1>Página no encontrada</h1></main>;
}En Express, fija el estado explícitamente:
app.use((req, res) => {
res.status(404).send("Not found");
});nginx
error_page 404 /404.html;
location = /404.html {
internal;
}Asegúrate de que el manejador de error devuelve 404, no 200 por un archivo estático mal configurado.
Apache
ErrorDocument 404 /errors/404.htmlWordPress
Usa una plantilla 404.php en el tema; evita plugins que fuerzan 200 en rutas de error.
Antes: la URL inexistente devuelve 200 con el mensaje del tema. Después: la misma sensación visual, pero con status(404) o el equivalente de la plataforma.
Revisa también reglas de reescritura que envían todo lo desconocido a un controlador único: es un origen frecuente de soft 404 en CMS personalizados.
Guía de decisión: redirección frente a 404
| Situación | Preferir |
|-----------|----------|
| Contenido movido a una URL nueva con la misma intención | 301/308 a la URL nueva |
| Contenido eliminado sin reemplazo | 404 o 410 |
| URLs con typo que nunca promocionaste | 404 |
| Sección entera retirada | 404/410 para URLs de la sección; redirige solo páginas con equivalente real |
No hagas 301 de URLs sin relación a la página de inicio.
Qué debe incluir una buena página 404 personalizada
- Mensaje claro de que falta la página
- Buscador del sitio o navegación visible
- Enlaces a secciones principales
- Marca coherente con el resto del sitio
Normalmente no necesitas noindex en un 404 correcto: el estado ya señala la eliminación. Evita noindex en una plantilla de error con 200 como parche.
Una página 404 útil reduce rebotes cuando el estado HTTP es correcto; no sustituye arreglar el código de estado en rutas inexistentes.
E-commerce, búsqueda facetada y trampas de migración
Las URLs de producto sin stock son una fuente frecuente de soft 404. Algunas plataformas devuelven 200 con «producto no disponible» y sin canonical fuerte a la categoría padre. Decide con criterio: mantener la URL con mensaje honesto de disponibilidad y política de estado clara, redirigir a un sustituto cercano con 301, o devolver 404/410 cuando el SKU se retira. No hay regla universal, pero 200 en un SKU muerto con texto genérico es justo el patrón con el que los rastreadores luchan.
Las páginas de resultados de búsqueda facetada o vacías merecen la misma disciplina. Si una combinación de filtros no devuelve productos, evita un conjunto infinito de URLs finas con 200. Usa noindex en páginas de resultados de búsqueda reales si tu plataforma lo exige, pero no uses noindex en una plantilla global de error con 200 en lugar de corregir el estado en rutas inexistentes.
Durante migraciones, los equipos suelen añadir redirecciones catch-all «por si acaso». Un solo salto al destino correcto está bien; una redirección masiva a la home para rutas legacy desconocidas no. Tras el corte, exporta URLs antiguas, pásalas por el Comprobador de estado en bloque y revisa plantillas límite (etiquetas de blog, URLs con query antiguas, rutas PDF) con curl. El Comprobador de soft 404 es una comprobación rápida del comportamiento por defecto ante rutas inexistentes en el stack nuevo.
Lista manual tras desplegar arreglos
curl -Ien tres rutas inexistentes aleatorias: ¿todas 404 o 410?- Vuelve a ejecutar el Comprobador de soft 404 en staging y producción.
- Vuelve a exportar motivos de indexación en Search Console cuando el rastreo se recupere (el tiempo varía).
- Actualiza enlaces internos para que los usuarios lleguen menos a la página de error.
Documenta en el ticket qué plantillas cambiaste y qué código de estado devuelven ahora; facilita auditorías posteriores.
Límites honestos de las comprobaciones automatizadas
- Una sola ruta de prueba no representa cada router, prefijo de idioma ni regla de tienda.
- Sin JavaScript — Las SPAs pueden verse bien en el navegador pero fallar en una sonda de HTML crudo.
- WAF y gestión de bots pueden devolver 403 en sondeos automatizados; eso no es tu plantilla 404.
- El índice de Google puede seguir listando URLs hasta que se vuelvan a rastrear; primero arregla el servidor.
Pega una URL en el Comprobador de soft 404, lee el veredicto probable, corrige códigos de estado y redirecciones, y valida plantillas de alto tráfico con curl. Trabajar soft 404 no es glamuroso, pero es una de las formas más rápidas de dejar de invitar a los rastreadores a URLs que nunca van a convertir.