Guía completa de redirecciones HTTP
Contenido
¿Qué es una redirección HTTP?
Una redirección HTTP (redirección de URL) es un mecanismo que envía automáticamente a un usuario de una URL a otra. Cuando solicitas una página, el servidor puede responder con un código de estado 3xx y un encabezado Location apuntando a la nueva dirección — el navegador entonces sigue esa dirección automáticamente.
Las redirecciones se usan en muchos escenarios comunes:
- Migrar un sitio a un nuevo dominio
- Reestructurar rutas de URL
- Actualizar de HTTP a HTTPS
- Servir diferentes URLs para móvil y escritorio
- Acortadores de URL (bit.ly, t.co, etc.)
- Pruebas A/B y división de tráfico
Cómo funcionan las redirecciones
Solicitud del cliente:
GET /old-page HTTP/1.1
Host: example.com
Respuesta del servidor:
HTTP/1.1 301 Moved Permanently
Location: https://example.com/new-page
Tipos de redirección explicados
301 Movido permanentemente
301 es el tipo de redirección más común. Le indica a los clientes y motores de búsqueda que el recurso se ha movido permanentemente a una nueva URL.
✅ Cuándo usar 301
- Migración permanente de dominio
- Reestructuración permanente de URLs
- Actualización de HTTP → HTTPS
- Consolidación de contenido duplicado
SEO: Los motores de búsqueda transfieren la autoridad de enlace (PageRank) a la nueva URL y actualizan su índice. Google generalmente completa esto en unas pocas semanas.
Comportamiento del navegador: Los navegadores pueden almacenar en caché las redirecciones 301, omitiendo la URL original en visitas futuras.
302 Encontrado (Temporal)
302 señala un movimiento temporal. La URL original sigue siendo válida e indexada.
✅ Cuándo usar 302
- Páginas de mantenimiento
- Pruebas A/B
- Enrutamiento temporal basado en geolocalización
- Divisiones temporales móvil/escritorio
303 Ver otro
303 obliga al cliente a usar GET para la solicitud redirigida, sin importar el método original. Se usa principalmente después de envíos POST para evitar el reenvío de formularios al actualizar la página (patrón Post/Redirect/Get).
307 Redirección temporal
307 es como 302 pero preserva estrictamente el método de solicitud original. Un POST sigue siendo POST después de la redirección — a diferencia de 302, que históricamente permitía cambios de método.
308 Redirección permanente
308 es la contraparte de 301 que preserva el método. Para solicitudes GET, 301 y 308 se comportan de forma idéntica. Usa 308 cuando necesites una redirección permanente que no debe cambiar el método de solicitud.
Redirecciones del lado del cliente
Meta refresh
<meta http-equiv="refresh" content="0; url=https://example.com/new-page">
Evítalo para SEO — los motores de búsqueda pueden no manejarlo correctamente.
Redirección con JavaScript
window.location.href = "https://example.com/new-page";
No es ideal para SEO ya que los rastreadores pueden no ejecutar JavaScript.
⚠️ Limitaciones de las redirecciones del lado del cliente
Las redirecciones del lado del cliente no llevan códigos de estado HTTP, por lo que los motores de búsqueda no pueden determinar si el movimiento es permanente o temporal. Siempre prefiere las redirecciones del lado del servidor.
Cuándo usar cada tipo
- Cambio permanente de dominio → 301
- Mantenimiento temporal → 302
- HTTP → HTTPS → 301
- Canonicalización www / sin www → 301
- Después de enviar un formulario → 303
- Prueba A/B → 302
- Redirección permanente, preservar método → 308
- Redirección temporal, preservar método → 307
Impacto en SEO
Transferencia de autoridad de enlace
Una redirección 301 transfiere casi toda la autoridad de enlace a la nueva URL. Google ha declarado que los 301 transfieren cerca del 100% del PageRank. Una 302 no transfiere autoridad — la URL original conserva sus señales de posicionamiento.
Tiempo de actualización del índice
Después de un 301, Google generalmente:
- Descubre la redirección en días
- Actualiza el índice en 1–4 semanas
- Transfiere completamente la autoridad en 1–3 meses
Impacto de la cadena de redirección
Cada salto adicional en una cadena (A → B → C) agrega latencia y puede diluir la autoridad. Google sigue hasta ~10 saltos, pero cadenas de más de 3 son una señal de alerta. Siempre redirige directamente desde la URL original al destino final.
🎯 Mejor práctica
Usa redirecciones directas (A → C). Audita tus cadenas regularmente y simplifícalas siempre que sea posible.
Problemas comunes y soluciones
1. Bucles de redirección
Síntoma: El navegador muestra "demasiadas redirecciones".
Causas comunes: Conflicto de configuración HTTPS entre CDN y origen, siteurl incorrecto en WordPress, reglas conflictivas en Nginx/Apache, mala configuración de .htaccess.
# Diagnosticar con curl
curl -I -L https://example.com
O usa 301check.com para visualizar la cadena completa.
2. Pérdida de query string
Asegúrate de que tus reglas de redirección preserven los parámetros de consulta. En Nginx, usa $request_uri o $is_args$args.
3. Redirecciones 301 en caché
Los navegadores almacenan en caché las redirecciones 301. Si cambias una redirección, los usuarios pueden seguir viendo el destino anterior. Prueba en una ventana privada o borra la caché.
4. Redirección móvil incorrecta
Si los usuarios móviles son redirigidos a la página de inicio en lugar de la página móvil equivalente, corrige el mapeo de URLs o cambia a un diseño responsivo.
Mejores prácticas
- Usa 301 para cambios permanentes, 302 para temporales
- En caso de duda, comienza con 302 — siempre puedes cambiar a 301 cuando estés seguro
- Evita cadenas de redirección; redirige directamente a la URL final
- Preserva los query strings en tus reglas de redirección
- Monitorea con Google Search Console después de migraciones importantes
- Documenta todas las reglas de redirección para que el equipo sepa qué hay configurado
- Prueba con 301check.com antes y después de cualquier cambio