Skip to content

Tudo para WordPress, desenvolvimento web — e não só

⚡ Como desativar o dashicons.min.css e acelerar o seu site WordPress

⚡ Como desativar o dashicons.min.css e acelerar o seu site WordPress

A página está lenta e o PageSpeed Insights aponta silenciosamente para o dashicons.min.css, 30 KB de ícones que não são renderizados em nenhum elemento visível. Não instalou este ficheiro nem o colocou na fila de carregamento no seu tema, mas ele carrega fielmente para cada visitante. De onde vem e como se livra dele?

O WordPress carrega os dashicons no frontend por defeito para um único propósito específico: a barra de administração para utilizadores com sessão iniciada. Um visitante comum nunca vê a barra de administração, mas o navegador descarrega obedientemente o CSS, analisa-o, constrói o CSSOM e só então percebe que nenhuma classe foi necessária. Numa ligação móvel lenta, esses 30 KB traduzem-se em 300-400 ms extra de tempo de carregamento bloqueante da renderização, o suficiente para prejudicar as suas Core Web Vitals.

Abaixo estão três formas de desativar os dashicons: desde um snippet manual até uma única caixa de verificação num plugin de otimização. Todos os métodos são seguros, reversíveis e testados em instalações reais de WordPress.

💡 Visão geral rápida:

  • Abra as DevTools ou o PageSpeed Insights e confirme que o dashicons.min.css está realmente a carregar no seu site
  • Escolha a abordagem que se adequa ao seu fluxo de trabalho: código no functions.php ou um plugin de otimização já pronto
  • Volte a testar o desempenho e verifique se o ficheiro desapareceu do relatório
  • Certifique-se de que a barra de administração continua a funcionar sem erros para os administradores

O que são os dashicons e porque carregam no frontend

Os dashicons são a fonte de ícones incorporada do WordPress, introduzida na versão 3.8. Dentro do painel de administração aparecem em todo o lado: ícones das secções do menu, ícones dos tipos de conteúdo, botões da barra de ferramentas. Sem os dashicons, a área de administração transforma-se em texto simples e o WordPress não pode dispensá-los.

O problema está no mecanismo de registo. O núcleo regista os estilos dashicons globalmente e adiciona-os à fila não só para a administração, mas também para o frontend, tudo para um único cenário: um utilizador com sessão iniciada visita o site e vê a barra preta de administração com ícones. Os visitantes não recebem a barra de administração, mas recebem o ficheiro CSS. O navegador analisa-o, descobre que nenhum seletor correspondeu e descarta o resultado, mas o tempo já foi gasto.

O PageSpeed Insights e o GTmetrix assinalam o dashicons.min.css na recomendação "Remover CSS não utilizado" e descontam pontos. Um ficheiro como este parece menor. Mas quando os estilos de emoji do WordPress, CSS de plugins não utilizados e blocos de tema mortos se acumulam em cima disto, a poupança combinada atinge os 150-300 KB. Para o desempenho móvel, isso é relevante.

Relatório do PageSpeed Insights com um aviso sobre CSS de dashicons não utilizado

Como verificar se os dashicons carregam no seu site

Antes de desativar algo, confirme que o problema existe. Três métodos, cada um em menos de um minuto.

Chrome DevTools. Abra o site em modo anónimo (para que a barra de administração não afete o teste), prima F12, vá ao separador Rede e escreva dashicons no campo de filtro. Se vir um ficheiro com o estado 200 e um tamanho de cerca de 30 KB, ele carrega para cada visitante.

PageSpeed Insights. Cole o URL em pagespeed.web.dev e execute o teste. Expanda a recomendação "Remover CSS não utilizado"; o dashicons.min.css será listado com o seu tamanho e a potencial poupança em kilobytes.

GTmetrix. Vá ao separador Waterfall e filtre por dashicons. Mesmo que o ficheiro na cadeia de carregamento esteja marcado como "Baixo" ou "Muito Baixo", ele continua a bloquear a renderização e a prejudicar a sua pontuação.

Nenhum destes métodos mostrou o ficheiro? O seu tema ou um plugin de otimização já desativou os dashicons e pode fechar este artigo. Encontrou-o? Vamos prosseguir.

Método 1: desativar via código no functions.php

A abordagem mais leve e transparente: um único snippet no functions.php do seu tema ativo. O código remove o registo dos dashicons para todos os visitantes sem privilégios de administrador. Para quem administra o site, deixamo-los em paz e a barra de administração dentro do painel permanece intacta.

Adicione este código ao functions.php de um tema filho ou através do plugin Code Snippets (mais seguro porque sobrevive a mudanças de tema):

1/**
2 * Disable dashicons.min.css on the frontend for everyone,
3 * except users with administrator rights.
4 */
5function sdstudio_disable_dashicons_frontend() {
6 if ( current_user_can( 'update_core' ) ) {
7 return;
8 }
9 wp_deregister_style( 'dashicons' );
10}
11add_action( 'wp_enqueue_scripts', 'sdstudio_disable_dashicons_frontend' );

O hook wp_enqueue_scripts é acionado quando a fila de estilos é montada no frontend. current_user_can('update_core') verifica a capacidade de atualizar o núcleo, que por defeito pertence apenas aos administradores. Para visitantes comuns, a verificação falha e wp_deregister_style('dashicons') remove completamente o ficheiro da fila.

Porquê deregister em vez de dequeue? O wp_dequeue_style remove o estilo da fila, mas deixa-o registado; outro plugin poderia adicionar novamente os dashicons à saída. O wp_deregister_style elimina completamente o registo e a única forma de trazer o ficheiro de volta é uma chamada explícita a wp_register_style. Para os dashicons, esta é a escolha certa: não quer que um plugin de partilha social ou galeria os restaure acidentalmente no frontend.

Precauções. Um erro no functions.php pode deixar o site em branco. Antes de editar, copie o ficheiro para functions.php.bak para uma reversão rápida. Use um tema filho ou o Code Snippets. Verifique a sintaxe: cada parêntese e ponto e vírgula no lugar.

Método 2: plugins de otimização (uma caixa de verificação em vez de código)

Se preferir não mexer em PHP, os plugins de desempenho resolvem o mesmo problema.

Perfmatters. Em General → Options, encontrará uma opção "Disable Dashicons". Um clique e o ficheiro desaparece do frontend. O Perfmatters também exclui os dashicons do Used CSS quando a opção Remove Unused CSS está ativa, pelo que o problema é coberto duas vezes. O plugin é pago, mas resolve dezenas de outros estrangulamentos de desempenho, desde desativar estilos de emoji até controlar a heartbeat API.

WP Rocket. Em File Optimization → Optimize CSS Delivery, ative "Remove Unused CSS". O WP Rocket analisará as suas páginas e removerá os estilos não utilizados, incluindo o dashicons.min.css. Funciona automaticamente em todo o site. Se o Remove Unused CSS entrar em conflito com outra otimização, adicione o dashicons.min.css à lista de exclusão; o WP Rocket adiará o seu carregamento em vez de o remover totalmente.

Asset CleanUp (gratuito). O plugin Asset CleanUp permite-lhe desativar seletivamente CSS e JS ao nível de páginas e tipos de conteúdo individuais. Vá ao CSS/JS Manager, encontre o dashicons.min.css e descarregue-o em todo o site. A versão gratuita trata da limpeza básica.

Qual o método que deve escolher? Se já usa o Perfmatters ou o WP Rocket, use a funcionalidade incorporada; não acumule código extra no functions.php. Se o seu site funciona com um conjunto mínimo de plugins e se sente confortável com PHP, o snippet do método 1 é mais leve e não adiciona dependências.

Verificar o resultado

Depois de desativar os dashicons, abra o site em modo anónimo e repita a verificação da secção dois. O ficheiro dashicons.min.css deve ter desaparecido da lista de recursos carregados nas DevTools. Execute um novo teste no PageSpeed Insights; a métrica "Remover CSS não utilizado" diminuirá e a potencial poupança de tráfego aumentará nesses 30 KB.

O ganho real em pontos depende da sua stack. Em sites leves com apenas um ou dois problemas de CSS, desativar os dashicons adiciona 1-3 pontos à pontuação móvel do PageSpeed. Em sites sobrecarregados com dezenas de estilos não utilizados, é uma gota no oceano, mas uma gota correta: cada kilobyte conta e essas "gotas" somam-se para um resultado notório.

Não se esqueça de verificar a barra de administração: inicie sessão como administrador e confirme que a barra preta no topo é exibida normalmente e os seus ícones estão no lugar. O código do método 1 e a opção no Perfmatters deixam os dashicons intocados para os administradores, pelo que não notará qualquer diferença.

⁉️🤔 Perguntas frequentes

Desativar os dashicons afetará a aparência do site?

Se o seu tema usar dashicons para ícones do frontend (setas de slider, botões de fechar, menu hambúrguer), desativá-los quebrará esses elementos. Testar é simples: desative o ficheiro e percorra as páginas. Se os ícones desaparecerem, o tema depende dos dashicons. Nesse caso, use cache agressiva através da Cloudflare ou de um plugin de cache: 30 KB servidos da cache do navegador não são críticos.

Este método funciona com temas de blocos (FSE)?

Em temas de blocos como o Twenty Twenty-Four, Ollie e similares, os dashicons geralmente não carregam no frontend. O editor de blocos usa os seus próprios ícones SVG e o núcleo não coloca a fonte de ícones na fila para os visitantes. Verifique através das DevTools: é provável que o ficheiro não esteja lá. Se o encontrar, o código do método 1 funciona da mesma forma para temas clássicos e de blocos.

Posso desativar os dashicons apenas para certas páginas?

Sim, usando as tags condicionais do WordPress. Por exemplo, para manter os dashicons apenas na página inicial:

1function sdstudio_conditional_dashicons() {
2 if ( is_front_page() ) {
3 return;
4 }
5 if ( current_user_can( 'update_core' ) ) {
6 return;
7 }
8 wp_deregister_style( 'dashicons' );
9}
10add_action( 'wp_enqueue_scripts', 'sdstudio_conditional_dashicons' );

Todas as tags condicionais disponíveis estão descritas na documentação do WordPress. Incluem is_single para artigos individuais, is_page para páginas, is_archive para arquivos e is_home para o índice do blogue.

Já tenho um plugin de cache a acelerar o site. Ainda devo desativar os dashicons?

Um plugin de cache acelera as visitas repetidas, mas a primeira visita a frio ainda puxa o dashicons.min.css. O PageSpeed Insights emula uma cache limpa em cada teste, pelo que o ficheiro aparecerá no relatório independentemente da cache do lado do servidor. Desativar os dashicons reduz os dados transferidos ao nível da origem; tanto as métricas como os visitantes reais na sua primeira visita beneficiam.

Desativar os dashicons é suficiente para uma boa pontuação no PageSpeed?

Não, é apenas um passo entre dezenas. Os maiores ganhos vêm normalmente da otimização de imagens (compressão, formatos modernos, lazy loading), carregamento diferido de JavaScript e cache do lado do servidor. Pense em desativar os dashicons como higiene básica: rápido, seguro, com um efeito mensurável. É um ponto de partida conveniente para limpar o frontend.

Qual o método a escolher para a sua situação

Um resumo rápido dos três métodos e cenários específicos.

Se trabalha com código e o seu site funciona com uma stack leve, use o snippet do método 1. Dois minutos para o colar no functions.php ou no Code Snippets e o problema fica resolvido de vez. Sem plugins extra, sem carga adicional na administração.

Se já paga pelo Perfmatters ou WP Rocket, ative a opção incorporada e não crie entidades extra. Estes plugins resolvem mais uma dúzia de problemas de desempenho de uma só vez e código adicional no tema só complica a manutenção.

Se precisa de uma ferramenta gratuita sem editar PHP, o Asset CleanUp trata da tarefa em dois cliques. Adequa-se a principiantes e a quem prefere não arriscar partir o functions.php.

O princípio geral: os dashicons não tornam um site lento por si só. Mas fazem parte do ruído de fundo que, combinado com estilos de plugins não utilizados, fontes pesadas e imagens não otimizadas, entope o canal e atrasa a renderização. Remover os dashicons é uma vitória rápida e um ponto de partida conveniente para uma otimização sistemática.

Desativou-os? Deixe um comentário e partilhe quantos pontos do PageSpeed ganhou. Se conhecer outro método não abordado neste artigo, partilhe-o também.