plugin-icon

Web Worker Offloading

Descarrega a execução do JavaScript selecionado para um Web Worker a fim de reduzir a carga na execução principal e melhorar a métrica Interação com Próxima Exibição (INP).
Classificação
2/5
Versão
0.2.0
Instalações ativas
20K
Última atualização
Dec 2, 2025
Web Worker Offloading

Este plugin descarrega a execução do JavaScript para um web worker, melhorando o desempenho ao liberar a execução principal. Isso deve se traduzir em melhoria nas métricas Interação com Próxima Exibição (INP).

Esta funcionalidade é experimental.

Para fazer com que um script seja descarregado para um worker, basta adicionar dados de um worker a um script registrado. Por exemplo, se você tiver um script registrado com o handle de foo, você pode descarregá-lo para um web worker fazendo:

wp_script_add_data( 'foo', 'worker', true );

Diferentemente das estratégias de carregamento de scripts (assíncrono/diferido), quaisquer scripts inline associados ao script registrado também serão descarregados para o worker correspondente, ao passo que em estratégias de script, um script inline posterior impediria o script original de ser atrasado.

De outra maneira, no momento, o plugin já contém o código para descarregar o Google Analytics para um web worker para o seguinte plugin:

Uma vez ativado, acompanhe suas estatísticas para garantir que todos os eventos esperados estejam sendo registrados. Ao mesmo tempo, revise as métricas INP para avaliar se há melhorias.

Este plugin depende da biblioteca Partytown 🎉 da Builder.io, disponível sob a licença MIT. Esta biblioteca está em beta e há alguns erros ainda não resolvidos.

A configuração do Partytown pode ser modificada por meio do filtro plwwo_configuration. Por exemplo:

<?php add_filter( 'plwwo_configuration', function ( $config ) { $config['mainWindowAccessors'][] = 'wp'; // Make the wp global available in the worker (e.g. wp.i18n and wp.hooks). return $config; } );

Entretanto, nem todas as opções de configuração podem ser serializadas dessa forma em um JSON; por exemplo, a configuração resolveUrl é uma função. Para especificar isso, você pode adicionar um script inline como a seguir.

<?php add_action( 'wp_enqueue_scripts', function () { wp_add_inline_script( 'web-worker-offloading', <<<JS window.partytown = { ...(window.partytown || {}), resolveUrl: (url, location, type) => { if (type === 'script') { const proxyUrl = new URL('https://my-reverse-proxy.example.com/'); proxyUrl.searchParams.append('url', url.href); return proxyUrl; } return url; }, }; JS, 'before' ); } );

Há também muitas opções de configuração que não estão documentadas; consulte as definições do TypeScript para saber mais.

Gratuitono plano Business
Ao instalar, você concorda com os Termos de Serviço do WordPress.com e com os Termos do plugin de terceiros.
Testado até
WordPress 6.9
Esse plugin está disponível para download para o seu .