Una redirección JavaScript utiliza scripting del lado del cliente para navegar el navegador a una URL diferente. La implementación más común usa window.location.href o window.location.replace() para activar la navegación. A diferencia de las redirecciones del lado del servidor, las redirecciones JavaScript requieren que el navegador descargue, analice y ejecute el script antes de que ocurra la redirección.
Las redirecciones JavaScript son la forma más lenta de redirección porque dependen del motor JavaScript del navegador. La página debe descargarse, el HTML debe analizarse y el JavaScript debe ejecutarse antes de que comience la navegación. Esto añade una latencia notable en comparación con las redirecciones del lado del servidor 301/302, que se procesan a nivel HTTP antes de que se cargue cualquier contenido de la página. Los libros sobre rendimiento JavaScript en Amazon discuten los tiempos de ejecución.
Desde el punto de vista del SEO, Google puede seguir las redirecciones JavaScript, pero el proceso es más lento y menos fiable que las redirecciones del lado del servidor. Googlebot renderiza las páginas con mucho JavaScript en una cola de renderizado separada, lo que significa que las redirecciones JavaScript pueden tardar más en ser descubiertas y procesadas. Para redirecciones críticas para el SEO, las soluciones del lado del servidor son siempre preferibles.
Las redirecciones JavaScript tienen usos legítimos en aplicaciones de página única donde el enrutamiento se maneja del lado del cliente, en redirecciones condicionales basadas en las capacidades del navegador o preferencias del usuario, y en implementaciones de seguimiento donde un breve retraso es aceptable. Los libros sobre desarrollo frontend en Amazon cubren estos patrones.