Qué es un 301 Redirect
Un 301 es un código de estado HTTP que el servidor devuelve para indicar que una URL ha sido movida de forma permanente a otra dirección. Cuando un navegador o un bot de búsqueda recibe un 301, sigue la nueva URL y, con el tiempo, los buscadores actualizan su índice para reflejar el cambio.
Es la pieza más importante en cualquier migración o reestructuración de URLs. Sin 301 bien aplicados, la autoridad SEO acumulada por una página se pierde y los rankings caen.
301 vs 302 (y otros redirects)
| Código | Significado | Uso típico |
|---|---|---|
| 301 Moved Permanently | Permanente, transfiere autoridad SEO | Cambio de URL definitivo, migración |
| 302 Found | Temporal, no transfiere autoridad | Mantenimiento, A/B testing breve |
| 307 Temporary Redirect | Temporal, preserva método HTTP | APIs y POST temporales |
| 308 Permanent Redirect | Permanente, preserva método HTTP | Migración de APIs y POST |
La regla práctica: si el cambio es definitivo, usa 301. Si dudas, usa 301. Los 302 mal usados en migraciones son una causa común de pérdida de tráfico orgánico.
Cómo afecta al SEO
- Transfiere autoridad (PageRank, enlaces internos y externos) de la URL antigua a la nueva. Google asume hoy que la transferencia es prácticamente completa.
- Consolida señales de ranking en una sola URL en lugar de dispersar entre versiones.
- Reduce contenido duplicado cuando combinas con canonical.
- Tiempo de procesado: Google tarda entre 1 y 6 meses en consolidar el cambio. Mantén los redirects al menos 12 meses, idealmente para siempre.
Casos típicos donde se usa
- Cambio de dominio:
miempresa.compasa amiempresa.es. - Migración HTTPS: redirigir
http://ahttps://. - Cambio de estructura de URLs:
?id=123pasa a/producto/nombre/. - Eliminación de www: forzar versión sin www o al revés.
- Unificación de slashes:
/urly/url/apuntan a la misma versión. - Producto descatalogado: redirigir a la categoría padre, no a la home.
- Rebranding: nombres de servicios o productos cambiados.
Implementación según servidor
Apache (.htaccess)
Redirect 301 /url-antigua /url-nueva
RewriteEngine On
RewriteRule ^categoria-vieja/(.*)$ /categoria-nueva/$1 [R=301,L]
Nginx
location = /url-antigua {
return 301 /url-nueva;
}
Cloudflare (Page Rules / Bulk Redirects)
Desde el panel de Cloudflare puedes crear redirects sin tocar el servidor de origen. Para migraciones grandes, Bulk Redirects permite subir un CSV con miles de reglas.
Astro + Cloudflare Pages
En astro.config.mjs o mediante _redirects (sintaxis Netlify/Cloudflare):
/url-antigua /url-nueva 301
/blog/post-1 /blog/post-1-renombrado 301
Errores típicos
- Redirect chain (cadena): A → B → C. Google sigue máximo 5 saltos, pero cada uno diluye autoridad. Apunta siempre A → C directamente.
- Redirect loop: A redirige a B y B redirige a A. Rompe la web.
- Todos los 301 apuntan a la home: pierdes todo el SEO de las URLs antiguas. Mapea uno a uno a páginas equivalentes.
- 301 hacia 404 o 5xx: si la URL destino no existe, el 301 no sirve de nada y empeora la experiencia.
- Olvidar redirects de URLs con parámetros:
?utm_source, paginación, filtros. - Quitar los redirects a los 3 meses: Google sigue revisando URLs antiguas durante años; mantén los redirects.
Cómo verificar tus 301
- Inspector de red del navegador: F12 → Network → recargar y ver el código de estado.
- curl desde terminal:
curl -I https://miweb.es/url-antigua
Busca HTTP/2 301 y la cabecera Location: apuntando a la URL correcta.
- Search Console → Inspección de URL: muestra el código devuelto a Googlebot.
- Herramientas tipo Screaming Frog o Sitebulb: rastrean toda la web detectando cadenas y bucles.
En IMPERO
Cualquier proyecto de migración web que hacemos incluye plan de 301 por URL, con mapeo previo y verificación post-lanzamiento. Sin esto, una migración es prácticamente garantía de caída de tráfico orgánico.