Resumen ejecutivo: Las redirecciones son las señales de tráfico de tu ruta digital. Bien configuradas, guían a Google y a tus usuarios hasta la cima sin perder ni un paso. Mal configuradas, crean atascos que drenan tu link equity, desperdician crawl budget y frenan tu ascenso en los resultados de búsqueda. En este artículo auditamos las 8 reglas de redirects SEO —bucles, tipos 301/302, meta refresh, JavaScript redirects, redirects rotos y más— con datos reales, snippets de código y un checklist accionable.
¿Quieres que auditemos los redirects de tu web? Cuéntanos lo que necesitas y trazamos juntos la ruta hacia una web sin errores técnicos. También puedes conocer más sobre nuestro servicio de SEO.
Tabla de contenidos
- Por qué los redirects importan en SEO
- Regla 1: Sin bucles de redirección (redirect loops)
- Regla 2: Tipo correcto de redirect (301 vs 302)
- Regla 3: Sin meta refresh
- Regla 4: Sin HTTP Refresh header
- Regla 5: Sin redirects JavaScript
- Regla 6: Sin redirects rotos
- Regla 7: Los recursos no deben redirigir
- Regla 8: Normalización de mayúsculas en URLs
- Tabla resumen de las 8 reglas
- Estado de escala14.com
- Checklist de auditoría
- Preguntas frecuentes
Por qué los redirects importan en SEO {#por-que-importan}
Este artículo es para ti si gestionas una web, trabajas en marketing digital o quieres entender por qué Google no rastrea ni indexa correctamente algunas de tus páginas.
Los redirects son instrucciones que le dicen al navegador y a los buscadores: «La página que buscas ya no está aquí, ahora está allá.» Son imprescindibles cuando cambias URLs, migras tu web o eliminas páginas. El problema es que una redirección mal configurada tiene consecuencias reales:
- Pérdida de link equity. Un redirect 302 (temporal) no transfiere la autoridad de enlace igual que un 301 (permanente). Si tienes enlaces externos apuntando a una URL que redirige con 302 en lugar de 301, estás perdiendo parte del valor de esos enlaces.
- Desperdicio de crawl budget. Los redirect loops y las cadenas largas de redirects hacen que Googlebot gaste recursos sin llegar nunca al contenido final.
- Experiencia de usuario degradada. Un redirect roto que apunta a una página 404 deja al usuario —y a Googlebot— en un callejón sin salida.
Según la documentación de Google Search Central, Google puede seguir hasta 10 redirects en cadena antes de abandonar el rastreo de esa URL. Una cadena larga no solo ralentiza el proceso: puede impedir que tu página llegue a estar indexada.
Vamos regla por regla.
Regla 1: Sin bucles de redirección (redirect loops) {#redirect-loop}
Severidad: ❌ Crítica
¿Qué es?
Un redirect loop ocurre cuando una URL redirige a otra que, a su vez, redirige de vuelta a la primera —o a través de una cadena circular: A→B→C→A. El navegador y Googlebot detectan el bucle y devuelven un error ERR_TOO_MANY_REDIRECTS.
¿Por qué importa?
Es uno de los fallos más graves en redirects SEO. La página afectada es completamente incrawleable e inindexable. Cualquier link equity que apunte a esa URL queda atrapado en el bucle sin llegar a ningún destino.
Ejemplos
❌ Malo: https://ejemplo.com → https://ejemplo.com/inicio → https://ejemplo.com
✅ Bueno: https://ejemplo.com → https://ejemplo.com/inicio (sin retorno)
Cómo detectarlo
- Screaming Frog SEO Spider: la columna «Redirect Loop» identifica los bucles automáticamente.
- Google Search Console → Cobertura → muestra URLs con error de rastreo.
- En el navegador: abre las herramientas de desarrollo (F12) → pestaña Red → observa el ciclo de peticiones 301/302.
Cómo corregirlo
Revisa tu archivo de configuración y elimina la regla circular. En Apache:
# ❌ Malo — bucle entre / e /inicio/
Redirect 301 / /inicio/
Redirect 301 /inicio/ /
# ✅ Correcto — una sola redirección sin retorno
Redirect 301 /pagina-antigua/ /pagina-nueva/
Regla 2: Tipo correcto de redirect (301 vs 302) {#redirect-type}
Severidad: ⚠️ Importante
¿Qué es?
- 301 Moved Permanently: La página se ha movido de forma permanente. Google transfiere aproximadamente el 99 % del link equity a la URL de destino y actualiza su índice con la nueva dirección.
- 302 Found (temporal): La página se ha movido temporalmente. Google mantiene la URL original en el índice y no transfiere link equity de la misma manera.
¿Por qué importa?
Usar un 302 cuando la redirección es permanente es uno de los errores más frecuentes y costosos en redirects SEO. Si llevas meses con un 302 en una URL con enlaces entrantes, estás perdiendo autoridad de enlace de forma continua.
Ejemplos
✅ 301: Migración de dominio, cambio de HTTP a HTTPS, cambio de slug permanente
✅ 302: Prueba A/B temporal, landing page estacional, mantenimiento puntual
❌ Error: Usar 302 para la migración definitiva de HTTP a HTTPS
Cómo detectarlo
Con curl en terminal:
curl -I https://ejemplo.com
# Busca la línea: HTTP/2 301 (o 302)
También puedes usar Screaming Frog: filtro → «Redirect» → columna «Status Code».
Cómo corregirlo
Apache (.htaccess):
# HTTP a HTTPS — redirect permanente
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Nginx:
server {
listen 80;
server_name ejemplo.com www.ejemplo.com;
return 301 https://ejemplo.com$request_uri;
}
Next.js (next.config.js):
/** @type {import('next').NextConfig} */
const nextConfig = {
async redirects() {
return [
{
source: '/pagina-antigua',
destination: '/pagina-nueva',
permanent: true, // true = 301, false = 302
},
]
},
}
module.exports = nextConfig
Severidad: ⚠️ Aviso
¿Qué es?
El meta refresh es una etiqueta HTML que redirige al usuario después de un tiempo determinado —o inmediatamente con delay=0:
<!-- ❌ No usar para redirects SEO -->
<meta http-equiv="refresh" content="0; url=https://ejemplo.com/nueva-pagina/">
¿Por qué importa?
Google puede seguir los meta refresh con delay=0, pero los considera señales de menor calidad. Los meta refresh con delay > 0 se asocian a prácticas de spam. Además, no transfieren link equity de forma tan efectiva como un 301 server-side y generan una experiencia de usuario deficiente: el usuario ve la página antigua brevemente antes de ser redirigido.
Cómo detectarlo
Busca el patrón http-equiv="refresh" en el HTML de tus páginas:
grep -r 'http-equiv="refresh"' ./src/
O en Screaming Frog: Custom → Search → meta http-equiv="refresh".
Cómo corregirlo
Elimina la etiqueta meta refresh y sustitúyela por un redirect 301 server-side (ver los snippets de la Regla 2).
Severidad: ⚠️ Aviso
¿Qué es?
El HTTP Refresh header es el equivalente server-side del meta refresh. En lugar de incluirse en el HTML, se envía como cabecera HTTP en la respuesta:
Refresh: 0; url=https://ejemplo.com/nueva-pagina/
¿Por qué importa?
Comparte los mismos problemas que el meta refresh: Google lo soporta pero lo considera de menor calidad que un 301. Algunos crawlers y herramientas SEO no lo procesan correctamente, lo que puede generar análisis incorrectos del estado de tus URLs.
Cómo detectarlo
curl -I https://tu-web.com/pagina-que-redirige
# Busca la cabecera "Refresh:" en la respuesta
Cómo corregirlo
Reemplázalo por un redirect 301 en la configuración del servidor (ver los snippets de la Regla 2).
Regla 5: Sin redirects JavaScript {#redirect-javascript}
Severidad: ⚠️ Aviso
¿Qué es?
Un JavaScript redirect usa código del lado cliente para redirigir al usuario sin que el servidor emita un código HTTP de redirección:
// ❌ No recomendado para redirects SEO críticos
window.location = 'https://ejemplo.com/nueva-pagina/';
window.location.href = 'https://ejemplo.com/nueva-pagina/';
window.location.replace('https://ejemplo.com/nueva-pagina/');
¿Por qué importa?
Google puede seguir los redirects JavaScript, pero solo después de renderizar el JavaScript —lo que supone una segunda fase de rastreo más lenta y menos fiable. Si Googlebot no renderiza la página, la redirección no se ejecuta y la URL original puede quedar indexada con contenido incorrecto. Otros buscadores y herramientas SEO directamente no ejecutan JavaScript.
Cómo detectarlo
Busca patrones window.location en tus scripts:
grep -r "window\.location" ./src/
O audita con SEOmator, que detecta exactamente estos patrones con la regla redirect-javascript:
seomator audit https://tu-web.com -c redirect --format llm
Cómo corregirlo
Sustituye el JavaScript redirect por un 301 server-side. En Next.js:
// next.config.js
async redirects() {
return [
{
source: '/ruta-antigua/:path*',
destination: '/ruta-nueva/:path*',
permanent: true,
},
]
}
Si el redirect es necesario en cliente por lógica de autenticación o navegación condicional, asegúrate de que la URL inicial no esté indexada mediante noindex o la cabecera X-Robots-Tag: noindex.
Regla 6: Sin redirects rotos {#redirect-broken}
Severidad: ❌ Crítica
¿Qué es?
Un redirect roto ocurre cuando una URL redirige a una página que devuelve un error 4xx (404 No encontrado, 410 Eliminado) o 5xx (error de servidor). El resultado: el usuario y Googlebot llegan a un callejón sin salida.
¿Por qué importa?
Es el equivalente técnico de un sendero de montaña que termina en un precipicio: todo el link equity acumulado en la URL origen se pierde. Googlebot marca la URL de destino como errónea y puede desindexar las páginas afectadas. Google Search Console mostrará estas URLs en el informe de Cobertura con error de rastreo.
Ejemplos
❌ Malo: /producto-descontinuado → 301 → /nueva-categoria → 404
✅ Bueno: /producto-descontinuado → 301 → /nueva-categoria (devuelve 200)
Cómo detectarlo
- Screaming Frog SEO Spider: Configuration → Spider → Follows Redirects → ON. Exporta «Redirect Chains» y filtra por «Destination Status Code» = 4xx/5xx.
- Google Search Console → Cobertura → «Redireccionada» → revisa las URLs de destino.
- Ahrefs o Semrush: Site Audit → Issues → «Broken redirect».
Cómo corregirlo
- Identifica la URL de destino rota.
- Actualiza el redirect para que apunte a una URL válida (200 OK).
- Si no existe una URL de destino apropiada, devuelve un 410 Gone en la URL original —es mejor que encadenar un 301 a un 404.
Regla 7: Los recursos no deben redirigir {#redirect-resource}
Severidad: ⚠️ Importante
¿Qué es?
Los recursos estáticos —imágenes, archivos CSS, JavaScript, fuentes web— deberían servirse directamente desde su URL final, sin pasar por ningún redirect. Un recurso que redirige genera una petición HTTP adicional innecesaria antes de cargar el contenido.
¿Por qué importa?
Cada redirect añade latencia. Si una imagen pasa por un 301 antes de cargarse, el navegador hace 2 peticiones en lugar de 1. Esto impacta directamente en el tiempo de carga y en métricas de Core Web Vitals como el LCP (Largest Contentful Paint), que Google usa como señal de ranking. Además, algunos navegadores y CDN no cachean correctamente los redirects de recursos.
Ejemplos
❌ Malo: <img src="/img/logo.png"> → 301 → /assets/images/logo.png
✅ Bueno: <img src="/assets/images/logo.png"> (URL final directa)
Cómo detectarlo
Con Screaming Frog: filtra los recursos (imágenes, CSS, JS) que tengan Status Code 301 o 302 en la columna de respuesta.
Cómo corregirlo
Actualiza las referencias en tu código fuente para que apunten directamente a la URL final del recurso, eliminando el salto intermedio.
Regla 8: Normalización de mayúsculas en URLs {#redirect-case}
Severidad: ⚠️ Aviso
¿Qué es?
Las URLs son sensibles a mayúsculas en la mayoría de servidores. Si alguien accede a https://ejemplo.com/Mi-Pagina/ y el servidor no redirige automáticamente a https://ejemplo.com/mi-pagina/, Google puede indexar ambas versiones como páginas distintas.
¿Por qué importa?
Google trata las URLs con diferente capitalización como páginas independientes. El resultado: contenido duplicado que diluye la autoridad de la URL correcta. Es un problema habitual en sitios migrados desde plataformas que permitían mayúsculas en los slugs.
Ejemplos
❌ Malo: /Servicios-SEO/ y /servicios-seo/ coexisten sin redirect → contenido duplicado
✅ Bueno: /Servicios-SEO/ → 301 → /servicios-seo/
Cómo detectarlo
Prueba manualmente introduciendo la URL con alguna mayúscula. Si el servidor no redirige automáticamente a la versión en minúsculas, tienes un problema.
Cómo corregirlo
Apache (.htaccess):
RewriteEngine On
RewriteMap lc int:tolower
RewriteCond %{REQUEST_URI} [A-Z]
RewriteRule (.*) ${lc:$1} [R=301,L]
Nginx (con rewrite específico por ruta):
# Redirige rutas con mayúsculas a su equivalente en minúsculas
location ~* ^(/[A-Z].*)$ {
return 301 $scheme://$host${uri_lowercase};
}
En la mayoría de frameworks modernos como Next.js o Astro, las URLs se generan en minúsculas por defecto. Si tienes este problema, lo más probable es que provenga de una migración o de contenido generado por usuarios.
Tabla resumen de las 8 reglas {#tabla-resumen}
| # | Regla | Severidad | Impacto principal |
|---|
| 1 | Sin redirect loops | ❌ Crítica | Página incrawleable; link equity atrapado |
| 2 | Tipo correcto 301 vs 302 | ⚠️ Importante | Pérdida de link equity con 302 permanentes |
| 3 | Sin meta refresh | ⚠️ Aviso | Señal de baja calidad; mala experiencia de usuario |
| 4 | Sin HTTP Refresh header | ⚠️ Aviso | Incompatibilidad con crawlers y herramientas SEO |
| 5 | Sin JS redirects | ⚠️ Aviso | Rastreo en dos fases; riesgo de no indexación |
| 6 | Sin redirects rotos | ❌ Crítica | Pérdida de link equity; desindexación |
| 7 | Recursos sin redirect | ⚠️ Importante | Impacto en Core Web Vitals (LCP) |
| 8 | Normalización de mayúsculas | ⚠️ Aviso | Contenido duplicado; dilución de autoridad |
Auditamos escala14.com con SEOmator el 25 de marzo de 2026 con el comando seomator audit https://escala14.com -c redirect --format llm. Resultado: 97/100 (grado A) en la categoría redirects, con 7 reglas superadas y 1 aviso.
| Regla | Estado | Detalle |
|---|
| Redirect loop | ✅ Correcto | Sin bucles de redirección detectados |
| Tipo de redirect (301/302) | ✅ Correcto | Usa redirects 301 permanentes |
| Meta refresh | ✅ Correcto | Sin etiquetas meta refresh en el HTML |
| HTTP Refresh header | ✅ Correcto | Sin cabecera HTTP Refresh en las respuestas |
| JavaScript redirect | ⚠️ Aviso | 1 patrón window.location en 5 scripts inline |
| Redirects rotos | ✅ Correcto | Todos los redirects apuntan a URLs válidas (200) |
| Recursos con redirect | ✅ Correcto | Los recursos se sirven directamente |
| Normalización mayúsculas | ✅ Correcto | URLs en minúsculas correctamente configuradas |
El único aviso es un patrón window.location detectado en scripts inline. Se corresponde con lógica de navegación condicional en cliente, no con un redirect SEO crítico. La acción pendiente es revisar si ese redirect puede trasladarse al servidor o si la URL de origen debe marcarse como noindex.
Checklist de auditoría de redirects SEO {#checklist}
Usa este checklist para auditar tu sitio paso a paso:
Auditoría básica
Auditoría avanzada
Corrección prioritaria
Preguntas frecuentes {#faq}
¿Cuántos redirects en cadena puede seguir Google?
Google puede seguir hasta 10 redirects en cadena antes de abandonar el rastreo de esa URL. Sin embargo, lo recomendable es no superar 2 saltos. Cada redirect adicional añade latencia, consume crawl budget y puede provocar una pequeña pérdida acumulada de link equity.
Según las declaraciones públicas de Google, un redirect 301 transfiere prácticamente todo el link equity (aproximadamente el 99 %). Sin embargo, las cadenas largas de redirects sí pueden provocar una pérdida acumulada de autoridad por cada salto adicional. La mejor práctica es apuntar siempre a la URL final directamente.
¿Cuál es la diferencia entre un 301 y un 308?
Ambos son redirects permanentes. La diferencia técnica es que el 308 obliga al navegador a mantener el método HTTP original (POST, PUT) en la redirección, mientras que el 301 puede cambiar el método a GET. Para redirects SEO estándar de páginas web, el 301 es el estándar de facto y el más compatible.
¿Puedo usar window.location.replace() para redirects SEO?
No se recomienda para redirects SEO críticos. Aunque Google puede seguir window.location.replace(), lo hace en la segunda fase de rastreo —cuando renderiza el JavaScript—, lo que retrasa la indexación. Para cambios de URL permanentes o migraciones, usa siempre redirects server-side 301.
No exactamente. Google procesa el meta refresh con delay=0 de forma similar a un 301, pero lo considera una señal de menor calidad. Además, no todos los crawlers y herramientas SEO lo procesan igual. Usa siempre redirects server-side cuando sea posible: son más rápidos, más fiables y más compatibles.
¿Cómo afectan los redirects rotos al posicionamiento?
Un redirect roto que apunta a un 404 hace que el link equity acumulado en la URL origen se pierda. Si tienes enlaces externos apuntando a una URL que redirige a un 404, esa autoridad no llega a ningún destino. Google también marca esas URLs como erróneas en Google Search Console, lo que puede reducir la cobertura de índice de tu sitio.
Conclusión
Las redirecciones no son un detalle menor del SEO técnico: son el sistema nervioso de la arquitectura de tu web. Un bucle mal resuelto, un 302 usado donde debería ir un 301, o un redirect roto pueden frenar tu ascenso en los resultados de búsqueda más que muchas otras carencias de contenido.
La buena noticia: las 8 reglas que hemos visto son auditables en menos de una hora con las herramientas adecuadas, y la mayoría de los problemas tienen soluciones directas. Con el checklist y los snippets de código de este artículo tienes todo lo necesario para dar los primeros pasos.
Si quieres que auditemos los redirects de tu web —y el resto de los factores técnicos que determinan tu posición en Google— cuéntanos lo que necesitas. En Escala14 llevamos años acompañando a negocios en su ascenso digital, y el SEO técnico es uno de los primeros tramos del mapa que revisamos juntos.
Continúa explorando el terreno técnico:
Auditoría realizada el 25 de marzo de 2026 · Herramienta: SEOmator · URL analizada: escala14.com · Puntuación redirects: 97/100 (A)