Como corrigir o Scroll to Top que não funciona no Astra Pro
O que é Scroll to Top Astra Pro que não funciona?
O Scroll to Top do Astra é o botão flutuante de voltar ao topo que o tema exibe no canto inferior da página e que, ao ser clicado, rola a tela suavemente até o início do conteúdo. Ele é controlado pelo Personalizador (Customizer) do WordPress, com opções de visibilidade por dispositivo (desktop, tablet e mobile), estilo do ícone e cor. O recurso depende de um pequeno arquivo JavaScript que o Astra carrega no rodapé da página para detectar a rolagem e animar o retorno ao topo.
Quando esse botão deixa de funcionar, em geral não há mensagem de erro visível: o botão simplesmente não aparece, aparece mas não rola a página, ou some apenas em um dispositivo. A causa raiz costuma estar em três frentes: a opção desativada para o dispositivo em uso, o JavaScript do tema removido ou adiado por um plugin de cache ou de performance, ou o conflito com um segundo botão de voltar ao topo vindo de outro plugin. Por ser um recurso de usabilidade e não de funcionamento crítico do site, a severidade é baixa, mas a correção melhora a experiência em páginas longas.
Como identificar
- O botão de voltar ao topo simplesmente não aparece no canto inferior da página, mesmo após rolar bastante o conteúdo.
- O botão aparece no desktop mas some no celular (ou o contrário), indicando opção de visibilidade desligada para aquele dispositivo.
- Ao clicar no botão, a página não rola suavemente até o topo ou recarrega para o topo da URL com âncora, sinal de JavaScript ausente.
- No console do navegador surge um erro de JavaScript ligado ao arquivo do tema, como “Uncaught ReferenceError” envolvendo o script do Astra.
- Dois botões de voltar ao topo aparecem sobrepostos na mesma página, indicando que outro plugin também injeta o seu próprio botão.
Como prevenir
- Após cada atualização do Astra ou importação de Starter Template, confira no Customizer se o Scroll To Top continua ativo nos dispositivos desejados, pois a importação pode sobrescrever a opção.
- Evite usar dois botões de voltar ao topo ao mesmo tempo: escolha o do Astra ou o de um plugin dedicado, nunca os dois, para não gerar conflito de clique.
- Ao configurar o cache, exclua o JavaScript do tema das otimizações de adiar e combinar, validando o botão em aba anônima após cada mudança.
- Documente regras de CSS Adicional que alterem posição ou z-index de elementos flutuantes, para não esconder o botão sem querer em ajustes futuros.
Causa
- A opção Scroll To Top está com a visibilidade desligada para o dispositivo em uso: no Customizer do Astra, os interruptores de Desktop, Tablet e Mobile são independentes, e desmarcar o do dispositivo testado faz o botão sumir só nele.
- Um plugin de cache ou de performance (WP Rocket, Autoptimize, Perfmatters) adiou, combinou ou removeu o JavaScript do tema, deixando o script de scroll-to-top do Astra sem carregar e o botão sem ação ao clique.
- A opção Scroll To Top está totalmente desativada no Personalizador após uma atualização do tema ou importação de um Starter Template, que sobrescreveu a configuração anterior do botão.
- Outro plugin (um plugin de back-to-top dedicado ou um construtor de página) injeta o seu próprio botão de voltar ao topo, gerando dois botões sobrepostos ou um conflito de evento de clique com o do Astra.
- Um seletor de CSS customizado ou um plugin define z-index baixo, display none ou posição fora da viewport para o elemento do botão, escondendo o Scroll To Top que o Astra renderiza no rodapé.
Como resolver
- Reative o Scroll To Top no Customizer por dispositivo: Abra o Personalizador do Astra e confirme que a opção Scroll To Top está ativa e visível para os dispositivos desejados. Os interruptores de Desktop, Tablet e Mobile são independentes, então marque o do dispositivo em que o botão sumiu.
Painel WP -> Aparência -> Personalizar Acesse Scroll To Top (em versões antigas: Layout -> Scroll To Top) Ative a opção e marque os dispositivos Desktop, Tablet e Mobile -> Publicar - Libere o JavaScript do tema no plugin de cache: Se o botão aparece mas não rola ao clicar, o script do Astra provavelmente foi adiado ou combinado pelo cache. Limpe o cache e exclua o JavaScript do tema das otimizações de adiar e combinar para o script voltar a executar.
Painel WP -> WP Rocket (ou Perfmatters/Autoptimize) -> Limpar cache Em Otimização de Arquivos, exclua os arquivos JS do Astra de 'Adiar (defer)' e 'Combinar' Recarregue a página em aba anônima para validar - Identifique conflito com outro botão de voltar ao topo: Se aparecem dois botões ou o clique falha, desative temporariamente plugins de back-to-top ou recursos equivalentes do construtor de página e recarregue a página a cada teste, até isolar o que disputa com o Astra.
Painel WP -> Plugins -> desative plugins de 'back to top' ou 'scroll to top' dedicados Desative no construtor (Elementor/Spectra) qualquer recurso próprio de voltar ao topo Recarregue a página após cada desativação para confirmar - Verifique CSS que esconde o botão: Use o inspetor do navegador para localizar o elemento do botão do Astra e confira se algum CSS aplica display none, z-index baixo ou posição fora da tela. Ajuste ou remova a regra que o oculta.
Abra a página -> botão direito sobre a área do botão -> Inspecionar Procure o elemento '#ast-scroll-top' e veja as regras aplicadas No CSS Adicional do Customizer, corrija display/z-index/posição se necessário - Force a reexibição do botão via código se persistir: Em casos em que o script do tema é removido por minificação agressiva, garanta a presença do ícone com um snippet de fallback que reexibe e reativa a rolagem suave, sem depender do JS combinado do tema.
Adicione o snippet abaixo via plugin de Code Snippets ou no functions.php do tema filho Salve e limpe o cache do site e do navegador Teste o clique em desktop e mobile
<?php
add_action( 'wp_footer', 'full_astra_scroll_top_fallback', 99 );
function full_astra_scroll_top_fallback() {
if ( ! function_exists( 'astra_get_option' ) ) {
return; // Astra inativo: nao injeta nada.
}
?>
<a href="#" id="full-scroll-top" aria-label="Voltar ao topo"
style="position:fixed;right:20px;bottom:20px;z-index:9999;display:none;">⇧</a>
<script>
(function(){
var b = document.getElementById('full-scroll-top');
if (!b) { return; }
window.addEventListener('scroll', function(){
b.style.display = (window.pageYOffset > 300) ? 'block' : 'none';
});
b.addEventListener('click', function(e){
e.preventDefault();
window.scrollTo({ top: 0, behavior: 'smooth' });
});
})();
</script>
<?php
}














