Redirecciones 301, 302, 307 y 308: diferencias y usos
Compara redirecciones HTTP 301, 302, 307 y 308: permanencia, conservación del método, caché, SEO, APIs y errores frecuentes de implementación.
Las redirecciones HTTP indican al cliente que solicite otra URL. La elección depende de dos preguntas: ¿el cambio es permanente o temporal? ¿debe conservarse exactamente el método y el cuerpo de la petición?
| Código | Significado | Duración | Método y cuerpo |
|---|---|---|---|
| 301 | Moved Permanently | Permanente | Clientes históricos pueden convertir POST en GET |
| 302 | Found | Temporal | Clientes históricos pueden convertir POST en GET |
| 307 | Temporary Redirect | Temporal | Se conservan |
| 308 | Permanent Redirect | Permanente | Se conservan |
Cuándo usar 301
El 301 es la opción convencional para mover páginas de forma duradera: HTTP a HTTPS, dominio nuevo, cambio de slug o consolidación de duplicados. El destino debe ser relevante, accesible y preferiblemente alcanzarse en un solo salto.
Actualiza enlaces internos, canonical y sitemap. Una redirección no sustituye mantener limpia la arquitectura propia.
Cuándo usar 302
Utiliza 302 cuando la URL original seguirá siendo la dirección estable y debe volver a servir contenido: mantenimiento breve, campaña temporal o enrutamiento durante una incidencia. Si el cambio deja de ser temporal, actualiza el código y las referencias.
Por qué existen 307 y 308
Conservan el método y el cuerpo. Un POST que recibe 307 o 308 debe repetirse como POST en el destino. Esta precisión es importante en formularios y APIs, pero obliga a diseñar reintentos e idempotencia con cuidado.
307 es temporal y 308 permanente. Para una página GET común, 301 y 302 siguen siendo opciones ampliamente entendidas.
SEO y caché
Los buscadores analizan además del código la relevancia del destino, canonical, enlaces internos y duración. Una redirección permanente coherente suele ayudar a consolidar señales; una temporal comunica que la fuente puede seguir siendo principal.
Los navegadores e intermediarios pueden almacenar redirecciones permanentes. Prueba reglas arriesgadas con un código temporal y una sesión limpia antes de hacerlas permanentes.
Errores frecuentes
- Enviar todas las páginas retiradas a la portada.
- Crear cadenas como
/vieja → /nueva → /definitiva. - Redirigir hacia 404 o 5xx.
- Mezclar reglas contradictorias de HTTPS, www o barra final.
- Usar JavaScript cuando el servidor podría devolver un 3xx.
- Repetir operaciones POST sin una estrategia segura.
Comprueba el comportamiento público con el verificador de redirecciones y revisa cada salto.
Decisión rápida
- Si la URL original volverá pronto, usa temporal; si no, permanente.
- Si el método debe conservarse, elige 307 o 308.
- Para una página GET tradicional, 301 o 302 suelen bastar.
- Confirma que el destino representa la misma intención y termina correctamente.
¿308 es siempre mejor que 301?
No. Es más preciso cuando importa conservar el método. Para migraciones de páginas GET, 301 suele ser suficiente.