Todos los artículos

Cómo auditar las redirecciones tras migrar un sitio web

··3 min de lectura

Tras una migración, cada URL antigua debe llegar a su nueva página con una sola redirección permanente, y esa página debe responder 200. Pega tus URL antiguas en el comprobador masivo de redirecciones: cada fila enumera cada salto con su código de estado y la URL final, y marca los bucles, las cadenas largas, las caídas de HTTPS a HTTP y las páginas que terminan en un error.

Comprueba adónde redirige una lista de URL →

Compruébalas de forma masiva

  1. Exporta las URL antiguas: de tu sitemap antiguo, de las páginas de destino principales de tu analítica o de los enlaces de los correos y anuncios que ya enviaste.
  2. Abre el comprobador masivo de redirecciones y pégalas, una por línea: hasta 100 por ejecución, o 500 tras iniciar sesión gratis con Google.
  3. Pulsa Check redirects (comprobar redirecciones). Cada URL se solicita una vez y se siguen sus redirecciones, hasta diez saltos.
  4. Lee cada fila: OK, Redirects, Broken (la página final responde 4xx o 5xx), Loop, Too many hops o No answer.
  5. Filtra por Broken y por las cadenas largas, y descarga el CSV.

Hazlo a mano

Una fila por URL: saltos, estado final y dónde terminó.

printf "http://stripe.com/docs\nhttps://docs.github.com/en/github\nhttp://python.org\nhttps://github.com/nope-1109-zz\n" > old-urls.txt

while read -r u; do
  curl -s -o /dev/null -m 10 -L -w "$u,%{num_redirects},%{http_code},%{url_effective}\n" "$u"
done < old-urls.txt
# http://stripe.com/docs,2,200,https://docs.stripe.com/
# https://docs.github.com/en/github,1,200,https://docs.github.com/en
# http://python.org,1,200,https://www.python.org/
# https://github.com/nope-1109-zz,0,404,https://github.com/nope-1109-zz

Cada salto de una URL, con su código de estado:

curl -sL -m 15 -o /dev/null -D - http://stripe.com/docs | grep -iE '^(HTTP|location)'
# HTTP/1.1 301 Moved Permanently
# Location: https://stripe.com/docs
# HTTP/2 301
# location: https://docs.stripe.com
# HTTP/2 200

Lo ejecutamos el 9 de noviembre de 2026. La antigua URL de la documentación de Stripe da dos saltos permanentes: de http a https, y luego el traslado a su subdominio de documentación. Para una URL está bien; si tu propia migración añade un salto encima de una redirección de http a https que ya existía, apunta la URL antigua directamente a la página final.

Usa GET, como arriba, en lugar de curl -I. Ese mismo día, curl -sIL https://aka.ms/admin (peticiones HEAD) terminó en un 500, mientras que la misma cadena con GET terminó en un 200. Algunos servidores responden a HEAD de otra manera.

Qué arreglar

  • Un 404 al final. La URL antigua no tiene correspondencia. Añade una redirección a la página nueva más parecida, no una redirección general a la página de inicio.
  • 302 o 307 donde querías permanente. La RFC 9110, sección 15.4 define 301 y 308 como permanentes y 302 y 307 como temporales, en los que "the client ought to continue using the original target URI for future requests." (el cliente debería seguir usando la URI de destino original en futuras peticiones). Usa 301, o 308 si el método de la petición no debe cambiar.
  • Cadenas. Las redirecciones antiguas de migraciones anteriores se acumulan. Apunta cada URL antigua directamente a su destino final.
  • Bucles. Una regla que devuelve una URL a otra ya visitada. Los navegadores se rinden con un error.
  • De HTTPS a HTTP. Un salto que baja a http sin cifrar, normalmente una regla fija heredada del sitio antiguo.

Para solo las páginas de inicio de muchos dominios, usa el comprobador masivo de estado de sitios web; para las versiones http, https, con www y sin www de un dominio, el comprobador de redirecciones WWW.

Siguiente paso: comprueba la lista a la que anunciarás el nuevo sitio

El anuncio de una migración va a toda tu lista, incluidas las direcciones que murieron desde el último envío grande. Súbela en /verify para comprobar cada buzón sin enviar nada. Las primeras 100 comprobaciones son gratis al iniciar sesión con Google, sin tarjeta.

Pro, $39 al mes: verificación de correos ilimitada.* Nunca medida, nunca se corta. Consulta los precios.

*Uso razonable: las primeras 100.000 verificaciones del mes a máxima velocidad, después más lento, nunca se corta.

Más para leer: comprobar si una lista de sitios web está en línea, ¿perjudican los acortadores de URL a la entregabilidad del correo?

Preguntas frecuentes

¿Cómo compruebo las redirecciones de una lista de URL?

Pega las URL en el comprobador masivo de redirecciones, una por línea. Sigue las redirecciones de cada una hasta diez saltos y muestra cada código de estado, la URL final y si terminó en un error, con un CSV.

¿Una migración debe usar redirecciones 301 o 302?

Permanentes: 301, o 308 si el método de la petición no debe cambiar. La RFC 9110 define 302 y 307 como temporales, lo que significa que el cliente debería seguir usando la URL original.

¿Por qué curl muestra un resultado distinto al de mi navegador?

Los sitios pueden responder de forma distinta según el país, el dispositivo, las cookies o la protección contra bots, y algunos redirigen con JavaScript o un meta refresh que ni curl ni el comprobador de redirecciones siguen. Abre la URL en un navegador para confirmarlo.

¿Cuántos saltos de redirección son demasiados?

El comprobador masivo de redirecciones marca como largas las cadenas de más de tres saltos y se detiene en diez. Tras una migración, cada URL antigua debería necesitar uno.

Verifica correos por 39,00 USD/mes, sin cortes

Comprobación SMTP real del buzón. Sin créditos ni cobro por correo.

Empezar

Leer el original en inglés