Saiba como o JavaScript de terceiros pode afetar o desempenho e o que você pode fazer para evitar que ele deixe seus sites mais lentos.
JavaScript de terceiros geralmente se refere a scripts incorporados no seu site que são:
- Não criado por você
- Veiculado por servidores de terceiros
Os sites usam esses scripts para várias finalidades, incluindo:
- Botões de compartilhamento em redes sociais
- Incorporações do player de vídeo
- Serviços de chat
- Iframes de publicidade
- Scripts de métricas e análises
- Scripts de testes A/B para experimentos
- Bibliotecas auxiliares (como formatação de datas, animação e bibliotecas funcionais)
Scripts de terceiros podem fornecer funcionalidades eficientes, mas essa não é a história toda. Eles também afetam a privacidade, a segurança e o comportamento da página, além de serem particularmente problemáticos para o desempenho.
Desempenho
Qualquer quantidade significativa de JavaScript pode prejudicar o desempenho. Mas, como o JavaScript de terceiros normalmente está fora de seu controle, ele pode trazer outros problemas.
Rede
Configurar conexões leva tempo, e enviar muitas solicitações a vários servidores causa lentidão. Esse tempo é ainda maior para conexões seguras, que podem envolver buscas DNS, redirecionamentos e várias viagens de ida e volta ao servidor final que lida com a solicitação do usuário.
Scripts de terceiros geralmente aumentam a sobrecarga da rede com itens como:
- Disparar solicitações de rede adicionais
- Como extrair imagens e vídeos não otimizados
- Armazenamento em cache HTTP insuficiente, o que força a busca frequente de recursos de rede
- Compactação insuficiente do servidor de recursos
- Várias instâncias de frameworks e bibliotecas extraídas por diferentes incorporações de terceiros.
Renderização
A forma como o JavaScript de terceiros é carregado é muito importante. Se isso for feito de maneira síncrona no caminho crítico de renderização, isso atrasa a análise do restante do documento.
Se um terceiro tiver problemas no servidor e não fornecer um recurso, a renderização será bloqueada até que a solicitação expire, o que pode levar de 10 a 80 segundos. É possível testar e simular esse problema com os testes de ponto único de falha do WebPageTest (link em inglês).
O que fazer
O uso de JavaScript de terceiros costuma ser inevitável, mas há ações que podem ser feitas para minimizar os efeitos adversos:
- Ao escolher recursos de terceiros, dê preferência àqueles que enviam a menor quantidade de código, mantendo a funcionalidade de que você precisa.
- Use os orçamentos de performance no conteúdo de terceiros para manter os custos sob controle.
- Não use a mesma funcionalidade de dois fornecedores diferentes. Você provavelmente não precisa de dois gerenciadores de tags ou duas plataformas de análise.
- Audite e limpe com frequência scripts redundantes de terceiros.
Para saber como auditar o conteúdo de terceiros e carregá-lo de maneira eficiente para melhorar o desempenho e a experiência do usuário, confira as outras postagens na seção Otimizar recursos de terceiros.