Una redirección 301 es una respuesta del servidor (código HTTP 301 Moved Permanently) que indica a navegadores y buscadores que una URL se ha movido de forma permanente a otra dirección. Google la interpreta como una señal fuerte de que la nueva URL debe ser la canónica y pasa a indexar el destino en lugar del origen.
Es la pieza básica de cualquier cambio de URLs: conserva las visitas que llegan desde enlaces antiguos, marcadores o resultados de búsqueda, y traslada las señales de la página antigua a la nueva. Google lo detalla en su guía sobre redirecciones y la Búsqueda de Google.
Cuándo usar una redirección 301
- Cambio de URL: renombras un slug, reorganizas carpetas o pasas a URLs amigables. Cada URL antigua debe apuntar a su nueva versión.
- Cambio de dominio: un cambio de marca o pasar de un .es a un .com. Se redirige URL a URL, nunca todo el dominio a la portada. Es el núcleo de cualquier migración SEO.
- Paso a HTTPS y versión única: http a https y sin www a con www (o al revés). Si las cuatro variantes responden con contenido, tienes contenido duplicado.
- Fusión de páginas: dos artículos que compiten por la misma búsqueda se unen en uno, y el que desaparece redirige al que se queda.
- Contenido eliminado con sustituto claro: un producto descatalogado con un sucesor directo. Si no hay equivalente, un error 404 o un 410 es la respuesta honesta.
Google recomienda mantener las redirecciones el mayor tiempo posible, en general al menos un año, según su guía sobre cambios de sitio con cambios de URL. En la práctica, si no molestan, déjalas para siempre.
301 y 308: las dos redirecciones permanentes
El código 308 Permanent Redirect también es permanente. La diferencia es técnica: el 308 obliga a repetir la petición con el mismo método HTTP (un POST sigue siendo un POST), mientras que con un 301 el navegador puede convertir un POST en GET. Para Google son equivalentes: ambos son una señal fuerte de canonicalización.
En páginas normales, que se visitan con GET, da igual cuál uses. El 308 tiene sentido en APIs y formularios, y algunos frameworks, como Next.js, lo devuelven por defecto en sus redirecciones permanentes. Si ves un 308 en una auditoría, no es un error.
Cadenas de redirecciones
Una cadena aparece cuando A redirige a B y B redirige a C. Es típico tras varias migraciones acumuladas:
http://ejemplo.com/pagina→ 301 a la versión httpshttps://ejemplo.com/pagina→ 301 a la versión con wwwhttps://www.ejemplo.com/pagina→ 301 a la URL nuevahttps://www.ejemplo.com/pagina-nueva/→ 200
Tres saltos para cargar una página. Googlebot sigue hasta 10 saltos, según la documentación de Google sobre códigos de estado HTTP, y si no llega al contenido Search Console marca un error de redirección. Que lo aguante no lo convierte en buena idea: cada salto es una petición más que retrasa la carga para el usuario y gasta presupuesto de rastreo. Google ha explicado que las redirecciones 30x no pierden PageRank, así que el problema de las cadenas no es una supuesta pérdida de autoridad por salto, sino la lentitud y el rastreo desperdiciado.
La regla es sencilla: redirige siempre directamente a la URL final. Cuando cambies una URL que ya era destino de otras redirecciones, actualiza también las reglas antiguas. Puedes ver cada salto con su código en el comprobador de redirecciones.
Cómo hacer una redirección 301
En Apache (.htaccess)
En servidores Apache o LiteSpeed se configura en el archivo .htaccess. Para una URL concreta basta una línea:
Redirect 301 /pagina-antigua/ https://www.ejemplo.com/pagina-nueva/ Para forzar HTTPS y www en un solo salto, con mod_rewrite:
RewriteEngine On
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ https://www.ejemplo.com/$1 [L,R=301] Fíjate en que las dos condiciones van juntas: si las escribes como reglas separadas, la URL http sin www hará dos saltos.
En nginx
Nginx no lee .htaccess. Las redirecciones van en el bloque del servidor:
server {
listen 80;
server_name ejemplo.com www.ejemplo.com;
return 301 https://www.ejemplo.com$request_uri;
}
location = /pagina-antigua/ {
return 301 https://www.ejemplo.com/pagina-nueva/;
} En WordPress
Si no tienes acceso al servidor, un plugin como Redirection o los módulos de redirecciones de los plugins SEO permiten crear 301 desde el panel. Funcionan bien para decenas de reglas. Para un cambio de dominio o miles de URLs, es mejor hacerlo en el servidor: es más rápido y no depende de que WordPress cargue.
Errores comunes con las redirecciones 301
- Redirigir todo a la portada. Si eliminas 200 productos y los mandas a la home, Google trata esas redirecciones como soft 404: no consolida señales y el usuario aterriza en una página que no buscaba. Redirige a la equivalente más cercana (el sucesor o la categoría) o devuelve un 404.
- Redirigir a URLs rotas. El destino debe responder 200 y ser indexable. Una 301 que acaba en un 404, en una página con noindex o bloqueada en robots.txt no sirve de nada.
- Dejar enlaces internos apuntando a URLs antiguas. Funcionan, pero cada clic y cada rastreo pasan por un salto extra. Actualiza menús, enlaces del contenido, el sitemap y las URLs canónicas para que apunten a la URL final.
- Usar una 302 para un cambio definitivo. Muchos servidores y frameworks devuelven una redirección 302 por defecto. Comprueba el código real después de publicar.
- Reglas que se contradicen. Una regla que fuerza www y otra que la quita provocan un bucle de redirecciones y la página deja de cargar.
Preguntas frecuentes
-
La 301 indica un cambio permanente: Google la toma como una señal fuerte para indexar la URL de destino. La 302 indica un cambio temporal: Google suele mantener indexada la URL original porque espera que vuelva. Si el cambio es definitivo, usa siempre una 301.
-
Google ha explicado que las redirecciones 30x no hacen perder PageRank. Es normal ver algo de movimiento en las posiciones mientras Google rastrea las URLs nuevas y consolida las señales, pero si cada URL antigua apunta a su equivalente real, el tráfico se recupera.
-
Google recomienda mantenerlas el mayor tiempo posible y, en general, al menos un año. Como siguen llegando visitas desde enlaces externos y marcadores, lo más seguro es no quitarlas nunca.
-
Ejecuta
curl -I https://tu-urly mira el código de la primera línea y la cabeceraLocation, o pega la URL en un comprobador de redirecciones, que muestra cada salto con su código de estado hasta la URL final.