Qué es el JavaScript diferido
El JavaScript diferido es la técnica que retrasa la ejecución de los scripts no imprescindibles de tu web hasta que el contenido visible ya ha cargado, para que el visitante no tenga que esperar a código que todavía no necesita. También se conoce como «defer JavaScript» o «carga diferida de JavaScript».
Es como atender primero al cliente que acaba de entrar por la puerta y dejar para después las llamadas de teléfono que pueden esperar unos segundos: lo urgente va primero, lo que puede esperar, espera. Muchos scripts de una web (contadores de analítica, chats, botones de redes sociales) no son necesarios para que el visitante vea y use la página; el JavaScript diferido retrasa la descarga y ejecución de esos scripts hasta después de que el contenido principal ya esté listo, en lugar de dejar que bloqueen la carga desde el principio.
Cómo funciona
- La página empieza a cargar el contenido visible: texto, imágenes, estilos.
- Los scripts marcados como diferidos se descargan en paralelo, pero no se ejecutan todavía.
- El navegador termina de construir y mostrar el contenido principal de la página sin esperar a esos scripts.
- Una vez que el contenido visible ya está listo, se ejecutan los scripts diferidos, en el orden en que aparecen en el código.
- El visitante percibe la página como cargada antes, aunque algunas funciones secundarias (como un chat o un contador de visitas) tarden un instante más en activarse.
Ejemplo
Un taller de reparación de móviles con cita previa online en Vitoria-Gasteiz tenía un script de chat en directo y otro de un mapa interactivo que se ejecutaban nada más entrar, bloqueando la carga del resto de la página hasta que ambos terminaban. Marcamos esos dos scripts como diferidos, de forma que el contenido principal (el formulario de cita) se mostrara primero y el chat y el mapa se activaran justo después, sin que el visitante notara ningún retraso en lo que realmente necesitaba usar primero.
Señales de que te afecta
- PageSpeed Insights señala «elimina JavaScript que bloquea la renderización» entre las recomendaciones de tu web.
- Tienes chats en directo, mapas, widgets de redes sociales o contadores de analítica cargando nada más entrar.
- Tu INP es alto porque hay scripts ejecutándose justo cuando el visitante intenta interactuar.
- La página «se queda en blanco» un instante mientras varios scripts se cargan antes que el contenido.
Cómo lo resolvemos
Identificamos qué scripts de tu web son realmente imprescindibles para la primera carga y cuáles pueden esperar, y configuramos estos últimos para que se ejecuten después de que el contenido principal ya esté disponible. Si quieres que revisemos los scripts de tu web, en nuestro servicio de optimización WordPress nos encargamos de diferirlos correctamente. El JavaScript diferido mejora especialmente el INP, y conviene aplicarlo junto con la minificación de esos mismos archivos.
Preguntas frecuentes
¿Diferir un script puede hacer que deje de funcionar algo importante?
Puede pasar si se aplica sin cuidado a un script que la página necesita de inmediato (como el que gestiona el propio menú de navegación), por eso conviene revisar caso por caso qué puede esperar y qué no.
¿Es lo mismo diferir que eliminar un script?
No, diferir solo cambia cuándo se ejecuta, no elimina ninguna función: el script sigue haciendo exactamente lo mismo, solo que un poco más tarde, sin retrasar lo que el visitante ve primero.
¿Todos los scripts de analítica se pueden diferir?
La gran mayoría sí, porque no son necesarios para que el visitante vea o use la página; solo conviene tener cuidado con scripts que afecten directamente a la funcionalidad visible desde el primer segundo.