seojuice

Redirecciones 301 frente a 302: cuándo usar cada una

Vadim Kravcenko
Vadim Kravcenko
· Updated · 10 min read

TL;DR: Un cambio realmente permanente recibe un 301; un cambio genuinamente temporal recibe un 302. Si te equivocas, Google indexa la URL incorrecta. Usa la tabla de decisión de abajo y luego lee la sección de canonicalización si quieres entender el mecanismo.

La respuesta en 30 segundos (tabla de decisión)

Antes de nada: aquí tienes el mapeo escenario-código. Si vas con prisa, este es el artículo.

Flowchart showing the redirect decision process: Is the move permanent? Yes leads to 301. Does the method need preserving? Yes leads to 308. Temporary? Yes leads to 302 or 307 for method-safe.
Árbol de decisión del redirect: qué código de estado HTTP usar según la permanencia y los requisitos del método.
Escenario Código Por qué
Migración del sitio / cambio de dominio 301 Permanent. Quieres que Google vuelva a indexar el nuevo dominio.
Consolidación de HTTP a HTTPS 301 Permanent. Las URL antiguas se van para siempre.
Test A/B (volviendo al original) 302 Temporal. Mantén la URL original como canónica.
Página de mantenimiento 302 Temporal. La página real volverá.
Producto sin stock (vuelve) 302 Temporal. Preserva el posicionamiento de la URL del producto.
Producto discontinuado (para siempre) 301 Permanent. Transfiere el “equity” al equivalente más cercano.
Enrutamiento geográfico / por idioma 302 Temporal. La URL original sigue sirviendo a la mayoría de usuarios.
Página de destino de campaña de marketing 302 Temporal. La campaña termina y la URL vuelve a la normalidad.
Flujo POST de login / checkout 307 Method-safe. Preserva el cuerpo del POST; un 302 lo cambiaría a GET.
Consolidación de URLs duplicadas (permanente) 301 Permanent. Una única canónica a partir de ahora.

Si te estás debatiendo si algo es “lo bastante permanente” para un 301, probablemente sí lo sea. La barrera es si planeas mantener la URL de destino a largo plazo: si estás seguro de que lo harás, usa 301.

Qué es realmente un redirect

Cuando un navegador o un rastreador solicita una URL, el servidor puede responder con un código de estado 3xx en lugar de servir el contenido de la página. Ese código dice: “El recurso que quieres está en otro lugar.” El encabezado Location en la respuesta indica al cliente a dónde ir a continuación.

La familia 3xx cubre varios casos: 301 (Moved Permanently), 302 (Found / Moved Temporarily), 303 (See Other), 307 (Temporary Redirect), 308 (Permanent Redirect) y algunos más. Para SEO, los que importan son 301, 302, 307 y 308. Los demás son casos al borde del camino.

301: qué significa “permanente” para Google

Un 301 le indica tanto al navegador como al pipeline de indexación que la URL antigua ya no existe. La propia documentación de Google lo dice sin rodeos: “Si necesitas cambiar la URL de una página tal como aparece en los resultados de los motores de búsqueda, recomendamos usar un redirect permanente del lado del servidor siempre que sea posible”.

El pipeline de indexación trata el 301 como una señal canónica. Google sigue el redirect y, después, marca la URL de destino como la que debe conservarse en el índice. Con el tiempo, la URL antigua deja de aparecer en los resultados de búsqueda y la nueva toma su lugar. El posicionamiento, las páginas en caché y las señales consolidadas se desplazan hacia el destino.

Una cosa que quiero subrayar por experiencia: permanent significa permanent. Google recomienda usar redirects permanentes “cuando estés seguro de que el redirect no se va a revertir”. Si pones un 301 y seis meses después lo desmontas, no estás deshaciendo la señal de forma limpia. Googlebot necesita volver a rastrear la URL antigua y reprocesarlo todo. He visto clientes hacer esto durante una reversión y pasar semanas preguntándose por qué el posicionamiento se fue cuesta abajo. Mantén el 301 en su sitio al menos un año, idealmente más.

302: el cambio temporal y la trampa de la consolidación

Un 302 le dice a Google: mantén la URL original en tu índice, este movimiento es temporal. La guía de Google es directa: “Si solo quieres enviar a los usuarios a una página diferente de forma temporal, usa un redirect temporal”.

Googlebot sigue un 302 igual que un 301. La diferencia está en lo que hace el pipeline de indexación después. Con un redirect temporal, Google no trata el destino como canónico. La URL original permanece como la que está indexada. Para una página de mantenimiento o un test A/B, ese es exactamente el comportamiento que quieres.

La trampa es usar un 302 para un cambio permanente porque alguien no estaba seguro o porque era “más fácil cambiarlo luego”. Google a veces reinterpreta un 302 de larga duración como un 301, pero yo no contaría con ello. He visto sitios ejecutar un 302 durante meses en un dominio migrado y descubrir que Google nunca había reindexado del todo las nuevas URL. No confíes en las heurísticas de Google aquí: sé explícito.

El mito del link-equity (y qué cambia de verdad)

Esto es lo que casi todos los artículos sobre el tema se equivocan: los redirects 302 no “fugan” link equity.

En 2016, Gary Illyes, Analista de Google Webmaster Trends, lo publicó directamente: “30x redirects don't lose PageRank anymore.” Esto aplica a 301s, 302s y a cualquier otro 3xx. Todos pasan PageRank.

John Mueller explicó el mecanismo en un Webmaster Hangout: “Podemos reenviar PageRank a través de redirects 301 y 302. Esencialmente, lo que ocurre ahí es que usamos estos redirects para elegir una canónica. Al elegir una canónica, concentramos todas las señales que se dirigen a esas URL en la URL canónica.”

Lee eso con calma. El mecanismo es consolidación canónica, no un “tubo” que transfiere juice de una URL a otra. Las señales se acumulan en la URL que Google trata como canónica. El tipo de redirect determina cuál URL es.

Así que la pregunta real es: ¿qué URL quieres que Google trate como canónica? Un 301 hace que el destino sea canónico. Un 302 mantiene el origen como canónico. Esa es la decisión.

(Aclaración importante: el reconocimiento del equity no es instantáneo ni siquiera con un 301. Google tiene que volver a rastrear la URL antigua primero, y la consolidación ocurre a lo largo de varios ciclos de rastreo. También importa la relevancia de la URL de destino: un 301 desde un blog de cocina a una landing de software no consolidará de forma “limpia”.)

301 vs 302 de un vistazo

Propiedad 301 Moved Permanently 302 Found
Significado HTTP Recurso movido permanentemente Recurso movido temporalmente
Señal canónica para Google La URL de destino pasa a ser canónica La URL de origen se mantiene como canónica
¿Pasa PageRank?
Qué URL indexa Google Destino (nuevo) Origen (original)
¿Se preserva el método en POST? No (históricamente cambia a GET) No (históricamente cambia a GET)
Cuándo usar Movimientos permanentes, migraciones, HTTPS, consolidación Tests A/B, mantenimiento, enrutamiento geográfico, campañas
Coste de reversión Alto: Google necesita tiempo para reprocesar Bajo: la URL original se mantiene indexada

307 y 308: los códigos que casi nadie menciona

307 y 308 existen porque 301 y 302 tienen un problema con el método. Cuando un navegador sigue un 301 o 302 desde una solicitud POST, la especificación Fetch permite cambiar el método a GET en la solicitud redirigida. Eso puede romper silenciosamente flujos de login, envíos de checkout y endpoints de API.

307 lo soluciona para redirects temporales. MDN lo resume así: “307 garantiza que el cliente no cambiará el método ni el cuerpo de la solicitud cuando se realice la solicitud redirigida. Con 302, clientes más antiguos cambian incorrectamente el método a GET.” Si estás enrutando temporalmente un formulario basado en POST y necesitas que el POST sobreviva, 307 es el código correcto.

308 hace lo mismo para redirects permanentes. Prohíbe el cambio de método por completo, a diferencia de 301, donde históricamente los clientes forzaban la solicitud a GET. Si estás redirigiendo de forma permanente un endpoint de API que recibe datos POST, 308 es más estricto y seguro.

Para páginas basadas solo en GET (la mayoría del contenido web), 307 y 302 se comportan igual, y 308 y 301 también. La diferencia de método solo importa cuando hay cuerpos POST o PUT en juego.

Table showing how Google treats each redirect type: 301 and 308 as permanent with canonical signal to destination; 302, 303, and 307 as temporary keeping source canonical; meta-refresh 0 seconds as permanent; meta-refresh greater than 0 seconds as temporary; JavaScript redirects as slower and less reliable to process than server-side redirects.
Cómo interpreta el pipeline de indexación de Google distintos tipos de redirect. Fuente: Google Search Central.

Una cosa más que vale la pena mencionar: también existen redirects por meta-refresh y redirects basados en JavaScript (window.location). Google trata un meta-refresh con demora de 0 segundos como permanente (equivalente a 301), y uno con cualquier demora como temporal. Los redirects de ubicación con JavaScript son otra historia: Google puede seguirlos al renderizar la página, pero son más lentos de procesar, pueden perderse en rastreos sin renderizado completo y no incluyen una señal explícita permanente/temporal. Los redirects del lado del servidor siguen siendo siempre la mejor opción.

La trampa de las cadenas de redirects

Se forman cadenas cuando rediriges A a B y luego, más tarde, rediriges B a C, sin actualizar A. El usuario y Googlebot siguen A → B → C en lugar de ir directamente a C.

Side-by-side comparison: BAD shows a redirect chain from old-page to /v2 to /v3 to /final with annotations showing latency and crawl waste at each hop. GOOD shows a single direct redirect from old-page to /final.
Cadenas de redirects frente a redirects directos. Cada salto innecesario añade latencia y riesgo de rastreo.

Cada salto añade latencia. La latencia real del usuario, medible en milisegundos, afecta a Core Web Vitals en móvil. Cada salto también es otro punto de fallo: si cualquier URL de la cadena devuelve un 404, todo lo que está detrás se rompe.

La documentación de movimientos de sitio de Google indica que Googlebot puede seguir hasta 10 saltos dentro de una cadena, pero también recomienda redirigir directamente a la URL final. John Mueller fue más específico: “Lo único que vigilaría es que tengas menos de 5 saltos para las URLs que se rastrean con frecuencia.” Googlebot tolera hasta 10 antes de marcar un error; el “tope” práctico de Mueller son 5; el objetivo real es 1.

Las cadenas se acumulan en silencio durante años de migraciones. Un sitio que pasó de .com a .io y luego volvió a .com, cambió su estructura de URLs dos veces y ejecutó tests A/B en páginas de categorías puede acumular cadenas sin que nadie se dé cuenta. (Al hacer auditorías con SEOJuice, el hallazgo más común es una aburrida cadena de cuatro saltos en una URL de alto tráfico que quedó de una migración que nadie actualizó. Las cadenas de campañas y tests A/B son el segundo culpable más habitual: normalmente porque el 302 temporal nunca se limpió después.) Entonces alguien ejecuta un rastreo y descubre que la home está a tres saltos de profundidad.

La solución siempre es la misma: identifica el destino final y actualiza el primer redirect para que apunte allí directamente. Cólapsala. No esperes a que Google navegue a través de la cadena.

Los bucles son el caso patológico. A redirige a B, B redirige a A y el navegador lanza ERR_TOO_MANY_REDIRECTS. Esto suele venir por una regla HTTPS mal configurada o por un redirect del CMS que crea un ciclo. Las herramientas de auditoría lo detectan al instante.

Cómo auditar redirects en tu sitio

Qué buscar:

  • Código incorrecto para el escenario: una migración permanente servida como 302, o una prueba temporal que se volvió permanente sin actualizarla a 301
  • Cadenas: cualquier secuencia A → B → C en la que podrías ir de A a C directamente
  • Bucles: cualquier ciclo que produzca ERR_TOO_MANY_REDIRECTS
  • Redirects a 404: la URL de destino ya no existe; estás enviando usuarios y bots a un callejón sin salida
  • 302 antiguos: contenido que se movió hace meses o años y nunca se promovió a permanente

Para una comprobación manual rápida, curl -I https://yourdomain.com/old-url te muestra el código de estado y el encabezado Location sin cargar la página completa. Las herramientas de desarrollo del navegador (pestaña Network, con “Preserve log” marcado) te enseñan la secuencia completa de redirects para cualquier URL. Esto está bien para “spot-checks”. Para cobertura sistemática, necesitas un crawler.

Screenshot of the SEOJuice SEO audit tool showing flagged redirect issues including a redirect chain, a 302 that should be a 301, and a redirect pointing to a 404 page.
Herramienta de auditoría de SEOJuice detectando problemas de redirects: cadenas, códigos incorrectos y redirects que llevan a callejones sin salida.

El SEO audit de SEOJuice rastrea tu sitio y marca cadenas de redirects, bucles, redirects con código incorrecto y saltos a destinos 4xx. Es la forma más rápida de obtener una visión completa sin tener que hacer curl manual de cientos de URLs. También conviene revisar: cualquier URL de alto tráfico de tu SEO hygiene audit. Son esas donde una cadena enterrada te cuesta de verdad.

Las single-page applications necesitan atención extra. El enrutado con JS puede crear un comportamiento tipo redirect que los crawlers del lado del servidor no detectan. Si estás ejecutando un sitio en React o Next.js, revisa las notas sobre SPA redirect handling. Los casos límite con window.location y el enrutado del lado del cliente interactúan con la ejecución de JavaScript de Google de maneras que no son evidentes.

Preguntas frecuentes

¿Un redirect 302 transfiere link equity (valor SEO)?

Sí. Google ha confirmado que PageRank fluye a través de 301, 302 y todos los redirects 3xx. Gary Illyes declaró en 2016 que “30x redirects don't lose PageRank anymore,” y John Mueller explicó que tanto 301 como 302 reenviarán señales mediante consolidación canónica. El tipo de redirect controla qué URL mantiene Google en el índice, no si el equity fluye.

¿Qué es mejor para SEO: 301 o 302?

Ninguno es inherentemente mejor. el código correcto depende de si el cambio es permanente o no. Usa 301 cuando la URL de destino sea la que quieres indexar de cara al futuro. Usa 302 cuando la URL original deba seguir indexada y de verdad planees restaurarla. Si te equivocas, no pierdes link equity; lo que haces es poner la URL equivocada en el índice de Google.

¿Cuánto tarda Google en respetar un 301?

No hay un plazo fijo. Google tiene que volver a rastrear la URL antigua antes de poder procesar la señal, y eso puede tardar desde unos pocos días hasta varias semanas según la frecuencia de rastreo. Mantén el 301 activo al menos un año. Si lo quitas antes, reviertes la señal canónica y tendrás que volver a rastrear y reprocesar todo desde cero con Googlebot.

¿Demasiados redirects pueden perjudicar el posicionamiento?

Sí, pero de forma indirecta. Las cadenas de redirects añaden latencia, desperdician presupuesto de rastreo y crean puntos de fallo. Google recomienda redirigir directamente al destino final; la guía práctica de Mueller es menos de 5 saltos para URLs que se rastrean con frecuencia. El efecto es el resultado acumulado de una carga más lenta, menor eficiencia de rastreo y el riesgo de que un salto roto a mitad de cadena tumbe toda la secuencia; no es una penalización directa de ranking.

Lectura relacionada:

Ejecuta una auditoría SEO gratuita para encontrar cadenas de redirects, bucles, redirects con código incorrecto y saltos a páginas que ya no existen en tu sitio.

SEOJuice
Stay visible everywhere
Get discovered across Google and AI platforms with research-based optimizations.
Works with any CMS
Automated Internal Links
On-Page SEO Optimizations
Get Started Free

no credit card required

More articles

No related articles found.