Descubre cómo el JavaScript de terceros puede afectar el rendimiento y qué puedes hacer para evitar que ralentice tus sitios.
El JavaScript de terceros generalmente se refiere a secuencias de comandos incorporadas en tu sitio web con las siguientes características:
- No lo creaste
- Provienen de servidores de terceros
Los sitios utilizan estas secuencias de comandos para diversos fines, entre ellos:
- Botones para compartir contenido en redes sociales
- Incorporaciones en el reproductor de video
- Servicios de chat
- iframes de publicidad
- Secuencias de comandos de estadísticas y métricas
- Secuencias de comandos de pruebas A/B para experimentos
- Bibliotecas de ayuda (como formato de fecha, animación y bibliotecas funcionales)
Los guiones de terceros pueden proporcionar una funcionalidad poderosa, pero esa no es la historia completa. También afectan la privacidad, la seguridad y el comportamiento de la página, y pueden ser particularmente problemáticos para el rendimiento.
Rendimiento
Cualquier cantidad significativa de JavaScript puede ralentizar el rendimiento. Sin embargo, dado que el JavaScript de terceros suele estar fuera de tu control, puede traerte problemas adicionales.
Red
Configurar conexiones lleva tiempo, y enviar demasiadas solicitudes a varios servidores provoca demoras. Ese tiempo es incluso mayor para las conexiones seguras, que pueden implicar búsquedas de DNS, redireccionamientos y varias idas y vueltas al servidor final que maneja la solicitud del usuario.
Las secuencias de comandos de terceros a menudo aumentan la sobrecarga de la red con situaciones como las siguientes:
- Activa solicitudes de red adicionales
- Extrae imágenes y videos no optimizados
- Almacenamiento en caché HTTP insuficiente, lo que fuerza la recuperación frecuente de recursos de red
- Compresión de servidor de recursos insuficiente
- Varias instancias de frameworks y bibliotecas extraídas por diferentes incorporaciones de terceros
Renderización
La forma en que se carga JavaScript de terceros es muy importante. Si se hace de forma síncrona en la ruta de acceso de renderización crítica, se retrasa el análisis del resto del documento.
Si un tercero tiene problemas con el servidor y no puede entregar un recurso, la renderización se bloquea hasta que se agote el tiempo de espera de la solicitud, que puede ser de 10 a 80 segundos. Puedes probar y simular este problema con las pruebas de punto de error único de WebPageTest.
Qué hacer al respecto
A menudo, el uso de JavaScript de terceros es inevitable, pero hay medidas que puedes tomar para minimizar los efectos adversos:
- Cuando elijas recursos de terceros, prioriza los que envían la menor cantidad de código y te brindan la funcionalidad que necesitas.
- Usa los presupuestos de rendimiento del contenido de terceros para controlar los costos.
- No uses la misma funcionalidad con dos proveedores diferentes. Es probable que no necesites dos administradores de etiquetas ni dos plataformas de estadísticas.
- Audita y borra periódicamente las secuencias de comandos de terceros redundantes.
Si deseas obtener información sobre cómo auditar el contenido de terceros y cargarlo de manera eficiente para mejorar el rendimiento y la experiencia del usuario, consulta las otras publicaciones de la sección Optimiza tus recursos de terceros.