Como corrigir o erro de carregamento de fontes no WordPress
O que é o font loading lento no WordPress?
Toda fonte personalizada declarada em uma regra @font-face precisa ser baixada antes de o navegador pintar o texto com ela. Sem nenhuma configuração, muitos navegadores escondem o texto enquanto esperam a fonte, criando o flash of invisible text (FOIT): o usuário ve espaco em branco onde deveria haver conteúdo. Quando a fonte enfim carrega, o texto aparece de uma vez. Em páginas WordPress o problema piora porque tema, page builder e plugins costumam puxar várias famosas familias do Google Fonts de um domínio externo, cada uma exigindo uma conexão nova e um arquivo separado. Adicionar font-display: swap, hospedar as fontes no próprio domínio e dar preload no arquivo da fonte principal são as três alavancas que tiram a fonte do caminho crítico e fazem o texto aparecer rápido com uma fonte de fallback do sistema.
Como identificar
- O texto da página fica invisivel por um instante e depois aparece de uma vez, o chamado flash of invisible text (FOIT), perceptivel principalmente na primeira visita sem cache.
- O texto abre numa fonte do sistema (Arial ou Times) e troca para a fonte do tema depois de meio segundo, causando um salto visivel de layout.
- O PageSpeed Insights aponta a oportunidade Ensure text remains visible during webfont load no relatório de performance.
- Na aba Network do navegador, os arquivos woff2 ou woff aparecem demorando para baixar de fonts.gstatic.com ou de um domínio externo, depois dos demais recursos da página.
Como prevenir
- Mantenha o font-display: swap e a auto-hospedagem das fontes ativos, para nenhuma fonte nova voltar a esconder o texto ou depender de domínio externo
- Sempre que adicionar uma fonte, sirva o arquivo em woff2 do próprio domínio e limite o número de familias e pesos realmente usados
- Após cada troca de tema ou plugin, revise na aba Network se surgiram novas fontes externas e ajuste o preload da fonte acima da dobra
Causa
- Google Fonts carregado do domínio externo fonts.googleapis.com em vez de auto-hospedado, exigindo uma conexão DNS e TLS nova so para buscar a fonte.
- Regra @font-face sem a propriedade font-display: swap, fazendo o navegador esconder o texto até o arquivo da fonte terminar de baixar.
- Fonte principal acima da dobra sem preload, descoberta tarde pelo navegador porque so aparece dentro do arquivo CSS, que e baixado e processado antes.
- Várias familias e pesos de fonte enfileirados por tema, Elementor e plugins, cada arquivo woff2 em uma requisicao separada que concorre com o resto da página.
- Fontes entregues em formato antigo ttf ou woff em vez de woff2, que e bem menor e baixa mais rápido.
Como resolver
- Confirme o gargalo na aba Network: abra o site numa janela anonima, pressione F12, va na aba Network e filtre por Font. Recarregue a página e observe de onde vem cada fonte e quanto tempo cada arquivo demora. Anote se a fonte vem de um domínio externo e qual e o formato do arquivo. Os caminhos abaixo são os filtros e o tipo a observar.
Network -> Filtro: Font fonts.gstatic.com fonts.googleapis.com - Ative o font-display: swap no WP Rocket: no painel, abra o menu de Configurações do WP Rocket. Na otimização de arquivos, ao ativar a otimização de CSS o WP Rocket já aplica a propriedade swap as fontes, fazendo o texto aparecer de imediato com a fonte de fallback enquanto a definitiva carrega. O caminho de menu esta abaixo.
Configurações -> WP Rocket -> Otimização de Arquivos Otimizar a entrega de CSS - Auto-hospede o Google Fonts no próprio domínio: deixe de servir a fonte de um domínio externo e passe a entrega-la do seu site, eliminando a conexão DNS e TLS extra. Um plugin de auto-hospedagem de fontes ou a opção equivalente do seu plugin de performance baixa os arquivos para a pasta de uploads e reescreve as URLs. O diretório onde as fontes ficam gravadas esta abaixo.
wp-content/uploads/fonts - Faca preload da fonte principal: informe ao WP Rocket o caminho do arquivo woff2 da fonte usada acima da dobra. Na otimização de carregamento, no campo de preload de fontes, cole uma URL de fonte por linha. O navegador passa a buscar essa fonte logo no inicio, em prioridade, sem esperar o CSS ser processado. O caminho do campo e o exemplo de URL estão abaixo.
Configurações -> WP Rocket -> Otimização do Carregamento -> Preload Fonts /wp-content/uploads/fonts/inter-regular.woff2 - Reduza familias e converta para woff2: limite o site a uma ou duas familias de fonte e poucos pesos, removendo as variantes que o tema carrega sem usar. Garanta que cada fonte esteja em woff2, o formato mais leve, em vez de ttf ou woff. Menos arquivos e arquivos menores significam menos requisicoes concorrendo com o render.
- Limpe o cache e meca de novo: limpe o cache do WP Rocket e do CDN, recarregue o site sem cache e rode o PageSpeed Insights novamente. Confirme que a oportunidade de texto visivel durante o carregamento da fonte sumiu e que o LCP melhorou. Repita o teste em mobile, onde o ganho costuma ser maior.
<!-- 1) Preload da fonte principal acima da dobra: o navegador busca o woff2 cedo, em prioridade -->
<link rel="preload" as="font" type="font/woff2"
href="/wp-content/uploads/fonts/inter-regular.woff2" crossorigin>
<!-- 2) @font-face auto-hospedado com font-display: swap: texto aparece com fallback ate a fonte chegar -->
<style>
@font-face {
font-family: 'Inter';
font-style: normal;
font-weight: 400;
font-display: swap;
src: url('/wp-content/uploads/fonts/inter-regular.woff2') format('woff2');
}
body { font-family: 'Inter', system-ui, sans-serif; }
</style>














