Como corrigir o conflito de CSS otimizado entre Astra Pro e WP Rocket
O que é o conflito de CSS entre Astra e WP Rocket?
O Astra Pro injeta boa parte do visual via CSS dinâmico, gerado pelo Customizer e enfileirado em handles como astra-theme-css. O WP Rocket, na aba File Optimization, oferece o Remove Unused CSS (que mantem so o CSS usado por página), além de minificar e combinar CSS. Quando essas otimizacoes leem o estilo do Astra como não usado, ou alteram a ordem de carga, o tema perde regras essenciais. O resultado e uma página que aparece sem estilo, com o conteúdo empilhado e os componentes do Astra Pro sem formatacao, mesmo que tudo esteja correto no editor.
Como identificar
- A página abre ‘sem estilo’ (texto cru, sem fontes, cores ou espacamento) so na primeira visita de cada URL, e ao recarregar volta ao normal.
- Cabeçalho, mega menu, botões ou sticky header do Astra Pro aparecem desformatados ou somem depois de ativar o Remove Unused CSS.
- No código-fonte da página o estilo inline do Astra (id ‘astra-theme-css-inline-css’) esta ausente ou movido para o rodape.
- O layout quebra so para visitantes deslogados, porque o CSS usado e servido do cache do WP Rocket e não para o admin logado.
Como prevenir
- Sempre que mexer no Customizer do Astra, limpe o Used CSS do WP Rocket logo em seguida para evitar estilo desatualizado em cache
- Mantenha os handles essenciais do Astra Pro fixos na CSS safelist do WP Rocket antes de subir mudancas grandes de layout
- Teste cada nova otimização do WP Rocket em staging e em aba anonima antes de ativar em producao, conferindo desktop e mobile
Causa
- A opção 'Remove Unused CSS' (aba File Optimization, Optimize CSS Delivery) descarta o handle astra-theme-css por considerar regras dinâmicas do Astra como não usadas naquela página.
- As opções 'Minify CSS files' e 'Combine CSS files' alteram a ordem de carga e fazem o CSS do Astra Pro perder para regras de outro arquivo combinado.
- O CSS crítico gerado pelo WP Rocket não inclui seletores de elementos dinâmicos do Astra, como mega menu, sticky header e off-canvas, que aparecem so após interacao.
- O cache do 'Used CSS' do WP Rocket ficou desatualizado depois de uma mudanca no Customizer do Astra e nunca foi regenerado.
- A opção do Astra 'Cache Dynamic CSS' (em Appearance -> Customize -> Performance) gerou um arquivo estático antigo que diverge do CSS que o WP Rocket otimizou.
Como resolver
- Confirme que o culpado e o Remove Unused CSS: abra uma URL afetada em aba anonima para reproduzir a quebra como visitante. Depois desligue temporariamente o Remove Unused CSS e limpe o cache para isolar a causa antes de aplicar a correção definitiva. A opção fica na aba indicada abaixo.
Settings -> WP Rocket -> File Optimization -> Optimize CSS Delivery -> Remove Unused CSS - Adicione os handles do Astra na CSS safelist: mantenha o Remove Unused CSS ligado, mas proteja o estilo do tema. Na área de texto CSS safelist, inclua os identificadores do Astra (um por linha) para o WP Rocket nunca remove-los. Use os valores abaixo.
#astra-theme-css-inline-css .ast-container .main-header-menu .ast-builder-layout-element - Exclua o CSS do Astra da combinacao, se ainda quebrar: se o problema vier da combinacao e não do Remove Unused CSS, va ao campo Excluded CSS Files, na mesma aba File Optimization, e informe o caminho do estilo do tema para que ele carregue isolado. Use o padrão abaixo.
/wp-content/themes/astra/assets/css/minified/style.min.css - Regenere o CSS do Astra e o Used CSS do WP Rocket: force os dois lados a recriar o estilo. No Astra, regenere o CSS dinâmico salvando o Customizer; no WP Rocket, limpe o Used CSS e o cache pela barra de administracao. Os caminhos estão abaixo.
Appearance -> Customize -> Publish (regenera o CSS dinâmico do Astra) Admin bar -> WP Rocket -> Clear Used CSS Admin bar -> WP Rocket -> Clear and preload cache - Valide em aba anonima e em mobile: abra de novo a URL corrigida em aba anonima e também no celular, já que o WP Rocket gera CSS usado separado para desktop e mobile. Se o layout do Astra voltar ao normal nas duas versões, a correção esta concluida.
// functions.php do tema filho do Astra
// Garante que o estilo do tema seja sempre enfileirado e dificil de
// ser tratado como 'nao usado' por plugins de otimizacao de CSS.
add_action( 'wp_enqueue_scripts', function () {
if ( ! wp_style_is( 'astra-theme-css', 'enqueued' ) ) {
wp_enqueue_style(
'astra-theme-css',
get_template_directory_uri() . '/assets/css/minified/style.min.css',
array(),
ASTRA_THEME_VERSION
);
}
}, 1 );














