Qué es en realidad una redirección
Una redirección no es una página. Es una respuesta sin cuerpo útil: un código de estado del
rango 3xx y una cabecera Location que indica a dónde ir en su lugar. El cliente lee
la cabecera y hace una segunda petición a la nueva URL.
Esa forma importa, porque significa que toda redirección cuesta un viaje de ida y vuelta
completo, y porque el código de estado es lo único que dice si el cambio es permanente. La
cabecera Location dice dónde; el código de estado dice qué significa
esto. Si te equivocas en lo segundo, la URL seguirá funcionando para los visitantes mientras
hace algo distinto, y silencioso, con tu posicionamiento y con cada navegador que la haya
visto.
En la práctica hay cinco códigos de redirección, pero toda la decisión se reduce a una pregunta: ¿este cambio es permanente o no?
301 y 302: la diferencia real
Una 301 Moved Permanently dice: esta URL ha desaparecido para siempre, usa la nueva de ahora en adelante y actualiza lo que tengas guardado. Una 302 Found dice: sirve esta otra URL por el momento, pero sigue pidiendo la original, porque va a volver.
De ahí salen tres consecuencias, y en ellas está toda la diferencia práctica:
- Los buscadores consolidan con una 301. La URL antigua sale del índice, la nueva ocupa su lugar y las señales de posicionamiento que había acumulado la antigua pasan a la nueva. Con una 302, el buscador mantiene la URL original en el índice, porque le has dicho que la original es la de verdad.
- Los navegadores guardan en caché una 301, a menudo de forma agresiva. Un navegador que ha visto una 301 puede no volver a preguntar a tu servidor: va directo al destino. Una 302 no se guarda en caché por defecto, así que el navegador pregunta cada vez.
- Una 301 es difícil de deshacer. Por esa misma caché, una 301 de la que te arrepientes sigue redirigiendo a los visitantes que vuelven mucho después de haberla quitado de tu configuración. Es el error más caro de todo este tema.
Así que la regla no es «la 301 es mejor para el SEO», aunque lo leas en todas partes. La regla es: una 301 es mejor cuando el cambio es realmente permanente, y realmente mala cuando no lo es.
Qué ve realmente el SEO
Los buscadores actuales son más indulgentes de lo que sugiere el folclore, y eso ha dejado algunos mitos muy persistentes que conviene aclarar.
- «Una 301 pierde el 15 % de la autoridad de enlace.» Esto venía de un factor de pérdida que se aplicaba hace años. Google ha declarado que ya no aplica dilución de PageRank a las redirecciones. Una 301 bien implementada transmite las señales.
- «Una 302 no transmite nada.» No exactamente. Google acaba tratando como permanente una 302 que lleva mucho tiempo en su sitio, porque el comportamiento contradice la declaración. Pero ese «acaba» pesa mucho: pasas semanas o meses con la URL equivocada indexada, y el momento no lo decides tú.
- «Las redirecciones siempre perjudican al posicionamiento.» Una sola redirección limpia hacia una página muy relacionada es rutina y normalmente no cuesta nada medible. Lo que sí perjudica es redirigir a algo irrelevante: apuntar cien páginas de producto retiradas a tu portada se lee como un 404 blando, y las señales de esas páginas no van a ninguna parte.
Los riesgos reales son más aburridos que los mitos: cadenas, bucles, señales contradictorias y URLs redirigidas que siguen en tu sitemap. Están más abajo.
Cuál usar, según la situación
Casi todos los casos caen en uno de estos.
Usa una 301
Has cambiado un slug o reestructurado tus rutas. Te has mudado a un dominio nuevo. Has elegido
un nombre de host canónico y el otro debe seguirlo: www hacia el ápice o al revés.
Fuerzas HTTPS. Has fusionado dos páginas en una. Has retirado una página de producto en favor de la
categoría que la sustituye. En todos estos casos la URL antigua no va a volver, que es justo lo que
declara una 301.
Usa una 302
Mantenimiento o una página provisional mientras la real está caída. Pruebas A/B de dos versiones de una página. Enrutado geográfico o por idioma en el que la URL original debe seguir siendo la canónica. Una página promocional temporal que sustituye a la habitual. Una redirección de inicio de sesión que devuelve al usuario después. Aquí quieres que la URL original siga indexada, y una 301 la quitaría.
Cuándo importan la 307 y la 308
307 Temporary Redirect y 308 Permanent Redirect son las versiones estrictas de la 302 y la 301. La diferencia está en el método HTTP: con 301 y 302, los clientes convertían históricamente un POST en un GET al seguir la redirección, y ese comportamiento quedó consagrado. La 307 y la 308 están obligadas a preservar el método y el cuerpo.
Para cambios de página normales, 301 y 302 son lo que esperan los buscadores y lo que debes usar. Para APIs y envíos de formularios, usa 307 o 308: un POST redirigido que se convierte en GET sin avisar pierde el cuerpo de la petición, y el error resultante es desesperante de rastrear.
La 303 y lo único para lo que sirve
303 See Other convierte deliberadamente la petición siguiente en un GET. Su uso propio es el patrón de enviar y redirigir: aceptas un POST de formulario y luego haces una 303 a una página de resultados, para que refrescar el navegador no reenvíe el formulario. No es una redirección de propósito general y no tiene sitio en los cambios de página.
Meta refresh y redirecciones por JavaScript
Existen dos formas de mover a un visitante sin HTTP, y las dos son peores de lo que parecen.
Un meta refresh (<meta http-equiv="refresh">) lo gestiona el
navegador después de haber descargado la página. Los buscadores sí lo siguen y suelen tratar un
refresh sin retardo como una redirección permanente, pero es lento, es invisible para cualquier
cosa que no renderice HTML, rompe el botón atrás y, con retardo, es un problema real de
accesibilidad. Úsalo solo si no tienes ningún acceso a la configuración del servidor.
Una redirección por JavaScript es aún peor. Exige que la página cargue y que el script se ejecute, nada que no ejecute JavaScript la seguirá, y desperdicia toda la primera petición. Las dos son parches, no herramientas. Si puedes poner un código de estado, pon un código de estado.
Cadenas y bucles: por donde se escapa el tráfico
Esta es la parte que cuesta dinero de verdad, y casi siempre es accidental.
Una cadena es una redirección hacia otra redirección. Se acumula durante años,
una regla a la vez: http://example.com → https://example.com →
https://www.example.com → https://www.example.com/pagina-nueva. Cada
salto es un viaje completo, así que una cadena de cuatro saltos en una conexión móvil se nota, y
los rastreadores abandonan las cadenas largas: Google sigue un número limitado de saltos y después
simplemente para. Deshaz las cadenas apuntando la primera URL directamente al destino final.
Un bucle devuelve al cliente al punto de partida y la página no carga nunca. La
causa clásica son dos reglas que se contradicen: una fuerza www, otra fuerza el ápice,
y cada una deshace a la otra. Los navegadores muestran
ERR_TOO_MANY_REDIRECTS tras unos veinte saltos. Si lo ves, tienes dos reglas peleando,
no una regla rota.
Dos fugas más que conviene revisar:
- URLs redirigidas que siguen en el sitemap. Un sitemap debe listar solo destinos finales. Listar una URL que redirige le dice al rastreador que gaste su presupuesto en un salto.
- Una etiqueta canónica que contradice la redirección. Si la página de destino declara una canónica que apunta de vuelta a la antigua, has dado dos instrucciones contradictorias y el buscador elige por ti.
Cómo comprobar qué devuelve realmente una URL
No puedes distinguir una 301 de una 302 mirando la barra de direcciones: las dos acaban en el mismo sitio. Hay que leer la respuesta.
Comprueba estas tres cosas:
- El código de estado de la primera respuesta, no el de la última. El panel de red del navegador muestra toda la secuencia; la primera línea es la que declara la permanencia.
- La secuencia completa de saltos. Cuenta las redirecciones entre la URL que escribiste y la página que se renderiza. Más de una merece una mirada; más de dos es una cadena que hay que deshacer.
- Si la cadena mezcla códigos. Una 301 seguida de una 302 es un patrón común y confuso que dice «movido permanentemente a algún sitio temporal».
Un verificador de códigos de estado
HTTP muestra el estado de cada salto y la cabecera Location en cada paso, que es
exactamente la vista que necesitas. Para las reglas de HTTPS y de nombre de host, confirma que el
certificado cubre el host hacia el que rediriges con el
verificador de certificados SSL: una
redirección a un host que el certificado no cubre produce una página de aviso en lugar de un sitio
que funciona.
Errores comunes
- Usar una 301 para algo temporal. Los navegadores la guardan en caché, así que los visitantes que vuelven siguen siendo redirigidos después de quitar la regla. Limpiar eso no está en tu mano.
- Usar una 302 para un cambio permanente y preguntarse por qué la URL antigua sigue siendo la que posiciona. Le has dicho al buscador que la antigua es la canónica.
- Redirigir todo lo retirado a la portada. Google trata un destino irrelevante como un 404 blando. Redirige a la página equivalente más cercana, o devuelve un 410 limpio si no hay equivalente.
- Dejar que se acumulen cadenas. Cada regla nueva se apila sobre la anterior en lugar de sustituirla.
- Dos reglas de nombre de host peleando, con el bucle resultante. Decide un único host canónico y escribe exactamente una regla para él.
- Redirigir un POST con una 301 o una 302. El método pasa a GET y se pierde el cuerpo. Usa 307 o 308 para todo lo que no sea una simple visita a una página.
- Dejar URLs redirigidas en el sitemap, o mantener los enlaces internos apuntando a la URL antigua. Actualiza tus propios enlaces; una redirección es para los enlaces de los demás.
En resumen
Una 301 significa permanente: los buscadores trasladan las señales de posicionamiento a la URL nueva y los navegadores la guardan con fuerza, así que úsala para cambios de slug, mudanzas de dominio, HTTPS y canonicalización de host, y nunca para algo que puedas revertir. Una 302 significa temporal: la URL original sigue indexada, que es justo lo que quieres en páginas de mantenimiento, pruebas A/B y redirecciones de inicio de sesión. Usa 307 o 308 cuando un POST deba sobrevivir a la redirección, mantén las cadenas en un solo salto y asegúrate de que ninguna regla apunte a su propio punto de partida. Comprueba qué devuelve realmente una URL, salto a salto, con el verificador gratuito de códigos de estado HTTP, y si rediriges a un host nuevo confirma antes su certificado con el verificador de certificados SSL. Para un recorrido más amplio por lo que significa cada clase de respuesta, la guía completa de códigos de estado HTTP cubre el resto.
Herramientas y guías relacionadas:
- Búsqueda de códigos de estado HTTP: Una referencia rápida de cada código de estado HTTP y lo que significa.
- Verificador de cabeceras de seguridad: Comprueba HSTS, CSP, X-Frame-Options y otras cabeceras de seguridad clave.
- 404 o 410: qué le dice cada uno a Google sobre una página muerta: Qué le dice a un rastreador un 404 y qué un 410
Preguntas frecuentes
¿Debo usar una redirección 301 o 302?⌄
Usa una 301 cuando la URL antigua no va a volver: un slug cambiado, un dominio nuevo, forzar HTTPS o decidirte entre www y el ápice. Usa una 302 cuando la URL original deba seguir siendo la canónica, como una página de mantenimiento, una prueba A/B o una redirección de inicio de sesión que devuelve al visitante después.
¿Una redirección 301 perjudica al SEO?⌄
No, si se usa correctamente. Google ya no aplica un factor de pérdida a las redirecciones, así que una 301 hacia una página muy relacionada transmite las señales de posicionamiento de la URL antigua. Lo que sí perjudica es redirigir a una página irrelevante, que se trata como un 404 blando, y las cadenas largas que los rastreadores dejan de seguir.
¿Se puede deshacer una redirección 301?⌄
En el servidor sí, pero los navegadores guardan en caché una 301 de forma agresiva y pueden seguir redirigiendo a los visitantes que vuelven mucho después de quitar la regla, y no puedes limpiar sus cachés. Por eso una 301 solo debe usarse para un cambio del que estés seguro; si hay alguna posibilidad de revertirlo, usa una 302.
¿Cuál es la diferencia entre 302 y 307?⌄
Las dos son temporales. La diferencia es el método HTTP: históricamente los clientes que seguían una 302 convertían un POST en un GET, y ese comportamiento quedó consagrado, mientras que una 307 debe preservar el método y el cuerpo de la petición. Usa 302 para cambios de página normales y 307 para APIs y envíos de formularios.
¿Cómo compruebo si una URL devuelve una 301 o una 302?⌄
No se puede saber por la barra de direcciones, porque las dos acaban en el mismo sitio. Lee el código de estado de la primera respuesta y sigue cada salto. Un verificador de códigos de estado muestra el código y la cabecera Location en cada paso, lo que además revela las cadenas y cualquier salto que mezcle códigos permanentes y temporales.
Más de 15 años de experiencia práctica en desarrollo web y seguridad. Centrado en la seguridad web práctica: mantener los sitios seguros, fiables y fáciles de diagnosticar. BuildToolForge existe para que estas comprobaciones sean gratuitas, privadas y comprensibles. Las herramientas se ejecutan en tu navegador siempre que es posible, y nada de lo que introduces en una herramienta se guarda.
Cómo escribimos nuestras guías: Cada guía nace de la experiencia práctica, se contrasta con los estándares oficiales y se prueba con nuestras propias herramientas en dominios reales. Actualizamos las guías cuando cambian los estándares o las herramientas. ¿Has visto un error? Escríbenos a contact@buildtoolforge.com.