Performance

WordPress 6.6: melhorias na performance das options

Uma coisa “invisível” do WordPress e que potencialmente causa um bom problema de performance é a tabela de opções.

Ela armazena desde a URL do site até todas as configurações de plugins, dados em cache (transients), fila do cron e tudo mais que milhares de plugins definirem.

O WordPress tem uma grande benção e um grande problema: você coloca ele num servidor horrível, com WordPress de 5 anos atrás e ele ainda funciona e é compatível. Isso é muito bom porque facilita o desenvolvimento mas vai tornando as coisas potencialmente perigosas se não tomar cuidado.

Por isso gostei tanto dessa mudança!

O que muda?

Como disse, pode ter de tudo na tabela options. E por padrão todos os campos são carregados. Ou seja: você abre qualquer página, qualquer requisição ajax e a tabela inteira é sempre carregada.

Isso acontece porque o WordPress deixa por padrão sempre carregar essas options, ficando a cargo de cada autor de plugin dizer explicitamente para que isso não seja feito.

Isso obviamente é desnecessário.

Geralmente então segue-se o padrão, ignorando os possíveis problemas.
Mas agora o WordPress mudou: o padrão é carregar automaticamente apenas se forem options “leves”.

Se forem textos muito longos, json etc, o padrão é ignorar, a menos que explicitamente se diga o contrário.

Como testar seu site agora

Segundo a documentação oficial, você já pode testar essa novidade e ver o quanto de dados seu site carrega (de maneira desnecessária cada vez que é aberto).

Primeiro, instale o plugin Performance Lab. Ele vai melhorar o widget padrão de diagnóstico do WordPress.

Ao clicar no diagnóstico você pode ver a lista das principais opções carregadas por padrão:

Esse site até que não está um absurdo. Mas às vezes você vai adicionando plugins, adicionando plugins e vai ficando horrível. O mais incrível desse relatório é descobrir que nesse site específico, a maioria das linhas nem deveria existir: são de plugins já removidos.

Então além de melhorar a performance desativando o autoload, elas podem ser completamente excluídas. Mas cuidado para não apagar opções úteis (em último caso é só reconfigurar algum plugin, nada especial).

Conclusão

Essa com certeza é uma boa novidade do WordPress e vai beneficiar todas as lojas WooCommerce.

Com ela, menos dados serão carregados em cada abertura de página, potencialmente aumentando a performance, especialmente em sites com muitos plugins ou que já fizeram muitos testes instalando plugins.