Descubre cómo el código JavaScript de terceros puede afectar el rendimiento y qué puedes hacer para evitar que ralentice tus sitios.
Por lo general, el código JavaScript de terceros hace referencia a secuencias de comandos incorporadas en tu sitio web que tienen las siguientes características:
- No es de tu autoría
- Publicación desde servidores de terceros
Los sitios usan estas secuencias de comandos para varios fines, incluidos los siguientes:
- Botones para compartir en redes sociales
- Incorporaciones de reproductores 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 auxiliares (como bibliotecas funcionales, de animación y de formato de fecha)
Las secuencias de comandos de terceros pueden proporcionar funciones potentes, pero no es todo. También afectan la privacidad, la seguridad y el comportamiento de la página, y pueden ser especialmente problemáticos para el rendimiento.
Rendimiento
Cualquier cantidad significativa de JavaScript puede ralentizar el rendimiento. Sin embargo, como el código JavaScript de terceros suele estar fuera de tu control, puede generar problemas adicionales.
Red
La configuración de las conexiones lleva tiempo, y enviar demasiadas solicitudes a varios servidores causa lentitud. Ese tiempo es aún mayor para las conexiones seguras, que pueden incluir búsquedas de DNS, redireccionamientos y varios viajes de ida y vuelta al servidor final que controla la solicitud del usuario.
Las secuencias de comandos de terceros suelen aumentar la sobrecarga de la red con elementos como los siguientes:
- Cómo activar solicitudes de red adicionales
- Extraer imágenes y videos no optimizados
- Almacenamiento en caché HTTP insuficiente, que obliga a recuperar recursos de red con frecuencia
- Compresión del servidor insuficiente de los recursos
- Varias instancias de frameworks y bibliotecas extraídas por diferentes incorporaciones de terceros
Renderización
La forma en que se carga el código JavaScript de terceros es muy importante. Si se realiza de forma síncrona en la ruta de renderización crítica, retrasa el análisis del resto del documento.
Si un tercero tiene problemas con el servidor y no entrega 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 único de fallo de WebPageTest.
Qué hacer al respecto
A menudo, es inevitable usar JavaScript de terceros, pero puedes hacer lo siguiente para minimizar los efectos adversos:
- Cuando elijas recursos de terceros, prefiere aquellos que envíen la menor cantidad de código y, al mismo tiempo, te proporcionen la funcionalidad que necesitas.
- Usa presupuestos de rendimiento para el contenido de terceros para controlar su costo.
- No uses la misma funcionalidad de dos proveedores diferentes. Es probable que no necesites dos administradores de etiquetas ni dos plataformas de estadísticas.
- Audita y limpia de forma periódica las secuencias de comandos de terceros redundantes.
Para 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.