Códigos de estado HTTP para SEO: 200, 301, 404 y 503
Cuando una URL desaparece, los ingenieros suelen preguntar al equipo de SEO: «¿Qué estado debe devolver esta página?». La respuesta no vive solo en una tabla memorizada. Depende de si existe un recurso equivalente, de si la interrupción es temporal o permanente y de lo que necesitas que haga un rastreador en su próxima visita.
Un estado equivocado puede crear páginas de error que siguen devolviendo 200, largas cadenas de redirecciones o miles de respuestas 503 que reducen el rastreo. La elección correcta permite que los navegadores, los bots de búsqueda, las cachés, los sistemas de monitorización y quienes mantienen el sitio entiendan el mismo estado.
El estado HTTP es un mensaje del servidor
Cada vez que un navegador o un rastreador solicita una URL, el servidor responde con un código de estado. Las cinco clases principales son:
1xx: información durante el procesamiento.2xx: la solicitud se gestionó correctamente.3xx: se requiere otra dirección u otra acción.4xx: la solicitud del cliente no puede cumplirse tal como se envió.5xx: el servidor no puede completar una solicitud válida.
Para el SEO, el estado debe coincidir con el contenido visible. Una página que dice «producto no encontrado» mientras devuelve 200 OK crea un soft 404. Una página completa que responde con 500 da a los rastreadores un error cuyo cuerpo se ignora. El estado y el cuerpo no deberían contar historias distintas.
Respuestas 2xx: el éxito no garantiza la indexación
200 OK
200 significa que el servidor devolvió una respuesta correcta. Google puede enviar el contenido al procesamiento posterior, pero la indexación no está garantizada. La página aún puede excluirse por noindex, por un canonical que apunta a otro sitio, por duplicación, por valor insuficiente o por otras señales de calidad.
Devuelve 200 solo cuando una URL ofrezca contenido real. No lo uses para mantener técnicamente «viva» cada dirección después de eliminar un producto o un artículo.
204 No Content
204 indica que la solicitud tuvo éxito sin cuerpo de respuesta. Encaja con algunas API y acciones que no requieren representación, no con una landing page destinada a la búsqueda. Una página HTML vacía no puede dar un resultado útil solo porque su estado pertenezca a la clase de éxito.
206 Partial Content
206 es habitual cuando un cliente solicita un rango de un vídeo o un archivo grande. No es el valor por defecto normal de un documento HTML. Si una CDN o un proxy devuelve de repente 206 para todas las páginas, revisa las reglas de las solicitudes de rango y de la caché.
Respuestas 3xx: movimiento deliberado
301 Moved Permanently
Usa 301 cuando una dirección se ha trasladado de forma permanente y existe un destino equivalente. Casos típicos:
- Cambiar el slug de un artículo.
- Pasar de HTTP a HTTPS.
- Fusionar artículos que atienden la misma intención.
- Sustituir una estructura de categorías.
- Enviar un producto antiguo a un sucesor realmente equivalente.
El destino debe coincidir con la necesidad antigua. Redirigir un producto descatalogado a la página de inicio o a una categoría demasiado amplia frustra a los visitantes y puede tratarse como un soft 404.
302 Found
302 encaja en un traslado temporal: un experimento breve, una página alternativa durante el mantenimiento, un enrutamiento por tiempo limitado o una campaña que volverá a la URL original. Si el traslado se ha vuelto permanente, cambia la respuesta a 301 para que su propósito sea inequívoco para todos los clientes.
Google puede procesar de forma similar varios tipos de redirección tras considerar señales más amplias. Seleccionar el estado correcto sigue importando para los navegadores, las cachés, otros clientes y quienes mantengan el sitio en el futuro.
303 See Other
303 suele seguir a una solicitud POST y envía al cliente a una página de resultados mediante GET. Un formulario enviado que lleva a una página de confirmación es un ejemplo habitual. Es un flujo de aplicación, no la herramienta principal para migrar URL por SEO.
307 y 308
307 Temporary Redirect y 308 Permanent Redirect conservan el método HTTP durante el traslado. 308 es permanente y 307 temporal. Pueden servir para migraciones GET ordinarias, pero los ingenieros deben entender la conservación del método antes de aplicarlos a formularios y API.
Cadenas de redirecciones: una decisión estirada a lo largo de generaciones de URL antiguas
Un artículo empezó en A, pasó a B y más tarde a C. Cuando A sigue redirigiendo a B y B redirige a C, cada visita necesita dos saltos. Un sitio veterano puede acumular cadenas de cinco o seis pasos que nadie diseñó deliberadamente.
Los costes incluyen:
- Más latencia para visitantes y rastreadores.
- Solicitudes adicionales al servidor.
- Una depuración más difícil del canonical y del analytics.
- Mayor riesgo de un salto fallido o de un bucle.
- Enlaces internos que conservan una arquitectura obsoleta.
Cada dirección antigua debe apuntar directamente al destino actual. Usa el Redirect Chain Checker para inspeccionar cada salto, estado, bucle y URL final. Después actualiza los enlaces internos, los canonical y los sitemaps para que usen la dirección final en lugar de depender indefinidamente de las redirecciones.
Respuestas 4xx: problemas de dirección o de acceso
400 Bad Request
Si un rastreador recibe una respuesta distinta, revise la solicitud real y los registros autorizados del servidor o del perímetro. La detección pública de Cloudflare no revela reglas WAF, límites de cabeceras ni políticas de la cuenta.
401 Unauthorized
401 solicita autenticación. Es correcto para las áreas con sesión iniciada, las API privadas y los documentos con permisos. Un contenido que debe posicionarse no puede exigir además que el rastreador inicie sesión. No uses 401 como control de la tasa de rastreo; resuelve directamente la capacidad del servidor y la arquitectura de URL.
403 Forbidden
403 dice que el servidor entendió la solicitud pero la rechazó. Una configuración excesivamente agresiva de CDN, WAF y antibots puede devolverlo por error a rastreadores válidos. Si las páginas públicas empiezan a salir del índice, compara los logs por hora, user agent e IP verificada en lugar de confiar en una cadena de user agent por sí sola.
404 Not Found
404 es correcto cuando un recurso no existe y no tiene un sustituto equivalente. No todo 404 es un «error de SEO» que necesite una redirección. Una dirección mal escrita, un producto retirado o un artículo de prueba eliminado pueden devolver 404 con normalidad.
Una página 404 útil debería:
- Explicar brevemente que el recurso no está disponible.
- Conservar la navegación y la búsqueda cuando proceda.
- Sugerir áreas relacionadas sin forzar una redirección.
- Seguir devolviendo el estado
404, no200.
410 Gone
410 indica explícitamente que el recurso se eliminó de forma deliberada. Para la Búsqueda de Google, las respuestas 404 y 410 persistentes hacen que la URL se elimine o no se indexe. Elige 410 cuando la aplicación sepa que el recurso ha terminado y 404 cuando simplemente esté ausente. Tiene poco valor cambiar miles de respuestas 404 válidas a 410 solo con la esperanza de una eliminación más rápida.
429 Too Many Requests
429 indica que un cliente ha hecho demasiadas solicitudes. Google lo trata como una señal de sobrecarga del servidor y puede reducir temporalmente el rastreo. Si un limitador de tasa devuelve 429 con frecuencia a los rastreadores, revisa las cuotas, las cachés y las reglas de verificación. Eliminar todos los límites no es la respuesta; lo es una capacidad fiable.
Respuestas 5xx: el servidor está fallando
500 Internal Server Error
500 representa un fallo de aplicación o de servidor sin especificar. Se producen errores transitorios ocasionales, pero una tasa alta en muchas URL apunta a un problema de despliegue, de base de datos, de dependencia o de capacidad.
502 Bad Gateway
502 aparece a menudo cuando un proxy o una CDN recibe una respuesta no válida de un servicio upstream. Revisa la salud del servidor de aplicaciones, los timeouts entre capas, el DNS interno y los límites de conexiones.
503 Service Unavailable
503 es adecuado para un mantenimiento breve o una sobrecarga temporal. Una cabecera Retry-After puede indicar a los clientes cuándo volver a intentarlo. Una página de mantenimiento debe devolver 503, no 200; de lo contrario, los sistemas de búsqueda pueden encontrar el mismo contenido de «en mantenimiento» en todo el sitio como si fuera válido.
No dejes 503 durante días cuando el sitio se ha cerrado de verdad o el recurso ha desaparecido de forma permanente. Los errores persistentes del servidor pueden acabar eliminando URL indexadas y reduciendo la actividad de rastreo en todo el sitio.
504 Gateway Timeout
504 significa que un gateway esperó demasiado a su upstream. Busca consultas lentas a la base de datos, API dependientes, fallos de caché, workers agotados y timeouts inconsistentes entre la CDN y el origen.
Una tabla de decisión de estados
| Situación | Normalmente adecuado |
|---|---|
| El contenido existe y carga con normalidad | 200 |
| Traslado permanente con una página equivalente | 301 o 308 |
| Traslado temporal que volverá | 302 o 307 |
| Recurso ausente sin sustituto | 404 |
| Recurso eliminado deliberadamente | 410 |
| Se requiere autenticación | 401 |
| El servidor rechaza el acceso | 403 |
| El cliente superó los límites de solicitudes | 429 |
| Mantenimiento breve o sobrecarga | 503 |
| Fallo de aplicación sin clasificar | 500 |
La tabla es un punto de partida. En un ecommerce, un producto agotado temporalmente puede seguir devolviendo 200 con la información del producto, la disponibilidad y las alternativas. Un producto retirado de forma permanente con un sucesor casi equivalente puede usar 301; sin un sustituto significativo, 404 o 410 es más honesto.
Soft 404: estado de éxito, contenido fallido
Los casos de soft 404 suelen incluir:
- Un conjunto de productos vacío que devuelve
200. - Cada URL mal formada que renderiza la página de inicio.
- Páginas de búsqueda interna sin resultados que siguen siendo indexables.
- Contenido eliminado que solo deja una cabecera y un pie de página.
- URL sin relación que redirigen a una categoría amplia.
Inspecciona el informe de indexación de páginas en Search Console y toma una muestra de las URL afectadas. No añadas unas frases a una plantilla de error solo para evitar la clasificación. Devuelve el estado honesto u ofrece contenido que responda de verdad a la necesidad original.
Robots.txt no puede sustituir a un estado de respuesta
Bloquear /old-page en robots.txt solo le dice a un rastreador que no puede recuperar el cuerpo, así que la página aún puede aparecer en los resultados de búsqueda sin saber si se movió, desapareció o requiere autenticación; usa el Robots.txt Checker para verificarlo.
Si la URL se movió, redirígela. Si desapareció, devuelve 404 o 410. Si sigue disponible pero no debe indexarse, deja que los rastreadores accedan y lean el noindex. El Robots.txt Checker detecta los bloqueos accidentales, pero el ciclo de vida de la URL sigue correspondiendo a la respuesta.
Audita los estados por plantilla, no unas pocas páginas pulidas
Una página de inicio que devuelve 200 dice poco sobre la salud del catálogo. Toma muestras y agrega por plantilla:
- Página de inicio y navegación principal.
- Categorías, paginación y filtros.
- Productos con stock, temporalmente no disponibles y retirados.
- Artículos nuevos, antiguos, renombrados y eliminados.
- Variantes de parámetros, mayúsculas, barra final y nombre de host.
- Sitemaps, robots.txt, imágenes clave y archivos importantes.
Compara cada estado con su canonical, sus directivas de robots, su pertenencia al sitemap y sus enlaces internos. Una URL con 301 no debería permanecer en un sitemap. Un 404 no debería recibir miles de enlaces internos. Una página 200 destinada a la indexación no debería tener un canonical hacia otro sitio.
Usa el SEO Checker para inspeccionar una respuesta representativa y sus señales on-page y ejecuta después una auditoría SEO gratuita para encontrar defectos repetidos a nivel de plantilla.
Monitoriza antes de que caiga el tráfico
Crea alertas para la tasa de 5xx, el tiempo de respuesta y los cambios de estado en las URL críticas. Tras cada despliegue o migración, ejecuta un smoke test que cubra:
- La página de inicio, el inicio de sesión y las páginas de ingresos.
- Una URL representativa de cada plantilla.
- Robots.txt y el índice del sitemap.
- Las redirecciones desde las direcciones antiguas.
- Una ruta inexistente para confirmar un 404 real.
Los logs del servidor deberían conservar el estado, la ruta, la duración, el user agent y el ID de solicitud durante el tiempo suficiente para hacer comparaciones antes y después. Cuando un fallo afecta solo a un bot o a una región, los logs suelen responder a la pregunta más rápido que recargar una página desde un único portátil.
Conclusión
Un código de estado HTTP es un contrato compacto entre servidor y cliente. Los sistemas de búsqueda usan ese contrato para entender si el contenido existe, se movió, desapareció o no está disponible temporalmente. Selecciona el código a partir del ciclo de vida real de la URL, mantenlo coherente con el cuerpo y limpia los sitemaps y los enlaces internos tras cada traslado.
No redirijas todos los errores a la página de inicio, no devuelvas 200 para páginas vacías ni uses robots.txt para ocultar un ciclo de vida sin decidir. Un sistema de estados claro deja menos conjeturas a los visitantes, los rastreadores y los operadores.
Referencias: Google Search Central sobre los códigos de estado HTTP y el rastreo y la guía de redirecciones de Google.
Preguntas frecuentes
¿Todo 404 es un error de SEO que necesita una redirección?
¿Una página de mantenimiento debe devolver 200 o 503?
¿En qué se diferencian 301 y 302 durante una migración?
Comprueba tu sitio web de forma gratuita
Ejecuta una auditoría SEO o verifica la calidad de tu tráfico ahora: no se requiere registro.