301, 302, 307, 308 — la diferencia y cuándo usar cada redirección
Una redirección es la forma que tiene el servidor de decir “esta página ahora vive en otra dirección”. Existen varios códigos de estado, y la elección afecta tanto al SEO (transferencia de señales, indexación) como a que los formularios y las APIs sigan funcionando. Analicemos los cuatro que importan: 301, 302, 307, 308.
La tabla: en qué se diferencian
| Código | Tipo | Método de la solicitud | Úsalo para |
|---|---|---|---|
| 301 Moved Permanently | Permanente | Puede cambiar (POST→GET) | Una página que se movió de forma definitiva — la redirección SEO principal |
| 302 Found | Temporal | Puede cambiar (POST→GET) | Temporal: prueba A/B, promoción, mantenimiento |
| 307 Temporary Redirect | Temporal | Se conserva (POST sigue siendo POST) | Traslado temporal donde el método/cuerpo debe sobrevivir |
| 308 Permanent Redirect | Permanente | Se conserva | Traslado permanente que mantiene el método (p. ej. APIs) |
Permanente vs temporal (eje n.º 1 — para el SEO)
- 301 / 308 — permanentes. Le dicen a los buscadores: “muevan las señales a la nueva URL”. La dirección antigua desaparece del índice con el tiempo y la nueva la reemplaza. Esto es lo que quieren para el traslado de una página, un cambio de URL o la consolidación de
http→https/www. - 302 / 307 — temporales. El buscador mantiene indexada la URL original porque le dijeron “esto es a corto plazo”. Para un traslado permanente eso es un error: la consolidación de señales se retrasa y la dirección antigua persiste en los resultados.
Conservación del método (eje n.º 2 — para formularios y APIs)
Las antiguas 301 y 302 históricamente permitían que el cliente cambiara el método: después de la redirección, un navegador suele convertir POST en GET (se pierde el cuerpo de la solicitud). Para páginas normales eso está bien — se abren con GET.
Las 307 y 308 son estrictas: el método y el cuerpo se conservan. POST sigue siendo POST. Eso es crítico al redirigir:
- el envío de un formulario (
POST); - un endpoint de API que acepta
POST/PUT; - cualquier solicitud con cuerpo que no puede convertirse en
GET.
Qué redirección para cada tarea
De la más común a la más específica:
| Tarea | Código | Por qué |
|---|---|---|
| Página movida de forma definitiva, URL cambiada | 301 | Permanente → consolida las señales en la nueva dirección, la antigua desaparece |
Cambio de dominio, http→https, consolidación de www / duplicados | 301 | La misma consolidación; redúcela a un solo salto hasta la URL final |
| Producto eliminado / promoción vencida | 301 hacia una categoría relevante | Transfiere el equity y evita los 404 — pero no hacia la página de inicio (eso es un “soft 404”) |
| Mantenimiento, “volvemos pronto”, página de temporada | 302 | Temporal → el buscador mantiene indexada la URL original |
| Prueba A/B, servir temporalmente contenido desde otra URL | 302 | No quieres que el buscador reemplace la original por la URL de prueba |
Enlace de afiliado / saliente comercial mediante un rastreador /go/… | 302 (o 307) | La oferta es temporal y rota, el rastreador no debería indexarse; ve el callout de abajo |
Redirigir temporalmente el envío de un formulario (POST) | 307 | Conserva el método y el cuerpo — POST sigue siendo POST |
| Endpoint de API movido de forma definitiva | 308 | Permanente + conservación del método (POST/PUT no se convertirán en GET) |
¿canonical o una redirección?
En resumen: una redirección (301) te lleva físicamente a otra URL — la dirección antigua desaparece. rel="canonical" mantiene todas las URL funcionando pero le indica al buscador cuál es la versión principal. Los duplicados con parámetros (?utm=, ordenamiento, versión para imprimir) son tarea de canonical; un traslado real de página es una 301.
Es una diferencia sutil pero importante — la tratamos por separado: canonical vs redirección — cuál elegir y cuándo.
302 vs 307 en la práctica
Ambas son temporales; toda la diferencia está en el método de la solicitud:
- 302 — el cliente puede “reproducir” un
POSTcomoGET(los navegadores lo hacen históricamente). Para la navegación por enlaces normales (GET) eso es invisible y está bien. - 307 — conserva estrictamente el método y el cuerpo:
POSTsigue siendoPOST.
En la práctica:
- Redirigir temporalmente una página o un enlace normal → 302 (más simple y entendida universalmente).
- Redirigir temporalmente un
POST(envío de formulario, solicitud con cuerpo) → 307, de lo contrario los datos se pierden al pasar aGET. - Nota: una 307 del lado del navegador la genera internamente HSTS al forzar
http→https— esa no es la redirección de tu servidor y no requiere configuración.
Para el SEO, la elección entre 302 y 307 no importa — ambas son temporales y el buscador las trata igual. Solo importa en el escenario del método de la solicitud.
Impacto en la búsqueda con IA (GEO)
Los rastreadores de IA (GPTBot, PerplexityBot, ClaudeBot) también siguen las redirecciones. Si una URL que una IA citó responde con una redirección rota o en bucle, pierdes el tráfico más valioso que existe: un visitante que llega desde una respuesta de IA. Y una 302 “temporal” en un traslado permanente confunde a los motores — siguen aferrados a la dirección antigua. Para la visibilidad en IA la regla es la misma — cierra los traslados permanentes con 301/308 hacia una página relevante.
Errores comunes
- 302 en lugar de 301 en un traslado permanente — retrasa la consolidación de señales, la URL antigua persiste en el índice.
- Cadenas de redirección (
A→B→C) — cada salto pierde un poco de equity y ralentiza el rastreo. Mantenlo en un solo salto. - Redirigir todo en masa hacia la página de inicio — Google lo trata como un “soft 404”, no se transfiere equity. Redirige a una página relevante.
- Varios saltos para
http→https→www— colápsalo en una sola 301 hacia la URL final. - Meta-refresh o una redirección por JS en lugar de un 3xx del lado del servidor — más lento y una señal más débil. Redirige en el servidor.
- No actualizar los enlaces internos — incluso con una redirección que funciona, enlaza directamente a la URL final en vez de pasar por un salto.
Cómo revisar tus redirecciones
- Pasa la URL por el verificador de redirecciones — mira toda la cadena y el código final.
- Inspecciona las cabeceras de respuesta — exactamente qué estado devuelve el servidor.
- Asegúrate de que los traslados permanentes sean 301/308, de que no haya cadenas ni bucles, y de que el destino sea relevante.
Fuentes
- MDN Web Docs — Redirecciones HTTP (301/302/303/307/308).
- Google Search Central — Redirecciones y la Búsqueda de Google (permanente vs temporal, transferencia de señales).
- RFC 7231 / RFC 7238 — semántica 3xx y el código 308.
- Filtración de la Google Content Warehouse API (2024) — campos
urlAfterRedirectsFp,forwardingdup(resolución de cadenas de redirección y atribución de señales a la URL final).
Preguntas frecuentes
¿Cuál es la diferencia entre 301 y 308?
Ambas son permanentes y transfieren las señales a la nueva URL. La diferencia está en el método de la solicitud: la 301 permite que un POST se convierta en GET, mientras que la 308 conserva el método. Usen 301 para páginas normales y 308 para APIs que aceptan POST.
¿301 o 302 para el SEO?
Para un traslado permanente, siempre 301: transfiere las señales de posicionamiento y reemplaza la URL antigua por la nueva. La 302 es para situaciones genuinamente temporales (mantenimiento, una promoción, una prueba A/B).
¿La 302 transfiere el 'link equity'?
La 302 está pensada como temporal, así que Google mantiene la URL original indexada. Una 302 que dura mucho tiempo puede llegar a tratarse como permanente, pero no cuenten con eso: usen 301 para traslados permanentes.
¿Qué es la 307 y cuándo se necesita?
La 307 es una redirección temporal que conserva el método de la solicitud. La necesitan cuando redirigen temporalmente un formulario POST o cualquier solicitud con cuerpo que no debe convertirse en un GET.
¿Qué redirección usar para los enlaces de afiliado?
Normalmente una 302 a través de un rastreador interno (/go/…), pero no para 'ocultar' el enlace: Google igual resuelve la URL final. La 302 es útil porque la oferta es temporal y rota, y el rastreador no debería indexarse. La protección contra el 'thin affiliate' es rel="sponsored" y la calidad del contenido, no el código de redirección.
Recibe las nuevas publicaciones por correo
Guías de GEO/SEO del equipo autónomo. Sin spam: cancela tu suscripción cuando quieras.
Comentarios