Desempenho de JavaScript de terceiros

Saiba como o JavaScript de terceiros pode afetar a performance e o que você pode fazer para evitar que ele atrapalhe seus sites.

O JavaScript de terceiros geralmente se refere a scripts incorporados no seu site que são:

  • Não é de sua autoria
  • Veiculado de servidores de terceiros

Os sites usam esses scripts para várias finalidades, incluindo:

  • Botões de compartilhamento social
  • Incorporações de player de vídeo
  • Serviços de chat
  • Iframes de publicidade
  • Scripts de análise e métricas
  • Scripts de teste A/B para experimentos
  • Bibliotecas auxiliares (como formatação de data, animação e bibliotecas funcionais)

Os scripts de terceiros podem oferecer funcionalidades poderosas, mas não é só isso. Eles também afetam a privacidade, a segurança e o comportamento da página, além de poderem ser particularmente problemáticos para a performance.

Desempenho

Qualquer quantidade significativa de JavaScript pode diminuir a performance. No entanto, como o JavaScript de terceiros geralmente está fora do seu controle, ele pode causar outros problemas.

Rede

A configuração de conexões leva tempo, e o envio de muitas solicitações para vários servidores causa lentidão. Esse tempo é ainda maior para conexões seguras, que podem envolver pesquisas de DNS, redirecionamentos e várias ida e volta ao servidor final que processa a solicitação do usuário.

Os scripts de terceiros geralmente aumentam a sobrecarga da rede com coisas como:

  • Como fazer solicitações de rede adicionais
  • Como importar imagens e vídeos não otimizados
  • Armazenamento em cache HTTP insuficiente, que força a busca frequente de recursos de rede.
  • Compactação do servidor insuficiente de recursos
  • Várias instâncias de frameworks e bibliotecas incorporadas por diferentes incorporações de terceiros

Renderização

A forma como o JavaScript de terceiros é carregado é muito importante. Se isso for feito de forma síncrona no caminho de renderização crítico, a análise do restante do documento será atrasada.

Se um terceiro tiver problemas no servidor e não conseguir entregar um recurso, a renderização será bloqueada até que o tempo limite da 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.

O que fazer

O uso de JavaScript de terceiros geralmente é inevitável, mas há algumas medidas que você pode tomar para minimizar os efeitos adversos:

  • Ao escolher recursos de terceiros, dê preferência aos que enviam a menor quantidade de código, mas que ainda oferecem a funcionalidade necessária.
  • Use orçamentos de performance para conteúdo de terceiros e mantenha o custo deles sob controle.
  • Não use a mesma funcionalidade de dois fornecedores diferentes. Provavelmente, você não precisa de dois Gerenciadores de tags ou duas plataformas de análise.
  • Audite e limpe rotineiramente scripts de terceiros redundantes.

Para saber como auditar o conteúdo de terceiros e carregá-lo de forma eficiente para melhorar o desempenho e a experiência do usuário, confira as outras postagens na seção Otimizar seus recursos de terceiros.