Pular para o conteúdo
Performance

Painel de widgets do Elementor travado depois de instalar um addon: o problema dos 48 MB

Três pacotes de addons registraram 307 widgets, e o editor precisava baixar todos. Desligar os 173 que ninguém usava resolveu em minutos.

Macro photograph of fiber optic cables plugged into a steel patch panel

Resposta rápida: se o editor do Elementor abre mas o painel de widgets fica carregando, ou o editor começa a dar erro 500 logo depois de você ativar um pacote de addons, confira o tamanho da configuração de widgets que o editor baixa. Neste caso eram 48 MB, descrevendo 307 widgets, e o servidor levava 13 segundos para montar. Desativar os 173 widgets de addons que o site nunca usou baixou para 11,6 MB, e o editor voltou a carregar normalmente.

O que aconteceu

O site de um escritório de advocacia feito com Elementor e Elementor Pro, com dois pacotes de addons já instalados. Às 11:12 alguém ativou um terceiro pacote para montar um rodapé global. Das 11:18 às 11:41 o editor ficou falhando: o painel de widgets girava e as requisições para admin-ajax.php retornavam erro. O site público funcionou normalmente o tempo todo.

Por que pacotes de addons fazem isso

Quando o editor abre, o Elementor envia ao navegador a descrição de todos os widgets registrados: cada controle, cada opção, cada valor padrão. Pacotes de addons registram dezenas de widgets cada um, e todos entram na conta, usados ou não. Três pacotes em cima do Elementor Pro somaram 307 widgets. Montar essa descrição levava 13 segundos no servidor, e a resposta pesava 48 MB. Num servidor compartilhado ocupado, isso basta para estourar os limites de tempo e de memória.

Como ver isso

  1. Abra o editor com as ferramentas de desenvolvedor do navegador na aba Rede (Network).
  2. Filtre por admin-ajax e procure a requisição que devolve a configuração de widgets (a resposta contém get_widgets_config).
  3. Veja o tamanho e o tempo. Qualquer coisa na casa das dezenas de megabytes, ou um erro 500 nessa requisição, aponta para cá.

Descubra quais widgets o site usa de verdade

O Elementor guarda o layout de cada página como JSON no metadado _elementor_data. Este trecho conta cada tipo de widget em uso. Salve como widgets.php e rode wp eval-file widgets.php:

<?php
global $wpdb;
$used = array();
$rows = $wpdb->get_col( "SELECT meta_value FROM {$wpdb->postmeta} WHERE meta_key = '_elementor_data'" );
foreach ( $rows as $json ) {
	preg_match_all( '/"widgetType":"([^"]+)"/', $json, $m );
	foreach ( $m[1] as $widget ) {
		$used[ $widget ] = ( $used[ $widget ] ?? 0 ) + 1;
	}
}
arsort( $used );
print_r( $used );

Neste site, só um widget dos três pacotes estava em uso: uma grade de posts na página do blog. Todo o resto das páginas vinha do Elementor e do Elementor Pro.

A correção

Em Elementor > Gerenciador de elementos, desative todo widget que o site não usa. O Elementor mostra a contagem de uso ao lado de cada um, então dá para confirmar antes de desligar. Desligamos 173 widgets de addons e mantivemos o que estava em uso. O Elementor salva essa lista na opção elementor_disabled_elements, e vale fazer backup dela antes de mexer.

O resultado: a configuração de widgets caiu de 48 MB para 11,6 MB e o painel abriu sem erros. Se alguém precisar de um desses widgets depois, é só religar na mesma tela.

Checklist

  • Editor quebrado, site público normal, logo depois de ativar um addon: suspeite da configuração de widgets.
  • Meça a requisição antes de aumentar limites de memória ou de tempo. Limites maiores escondem o problema por um tempo.
  • Conte os widgets em uso a partir do _elementor_data.
  • Desative os widgets sem uso no Gerenciador de elementos e guarde um backup da opção.
  • Prefira um pacote de addons a vários que fazem a mesma coisa.

Perguntas que recebemos sobre isso

Desativar um widget quebra as páginas que usam ele?

Sim, um widget desativado deixa de aparecer onde é usado. Por isso você confere a contagem de uso, ou roda o trecho acima, antes de desligar qualquer coisa.

Isso deixa o site público mais rápido?

O ganho principal é no editor. Alguns addons também carregam menos scripts e estilos no site quando seus widgets estão desligados, então pode haver um pequeno ganho ali também.

Não é só aumentar a memória e o tempo de execução do PHP?

Pode fazer o editor abrir de novo, mas o navegador continua baixando dezenas de megabytes toda vez. Remover o que o site não usa resolve a causa.

Algo quebrado
no seu site?

Conte o que está acontecendo. Você recebe uma resposta clara e por escrito em até um dia útil.

Fale conosco