Como corrigir fontes do Google que não carregam no Elementor
O que é o erro de Google Fonts que não carregam no Elementor?
O Google Fonts no Elementor não carrega significa que a fonte escolhida na tipografia do editor não chega a ser aplicada no frontend do site, e o navegador renderiza o texto com uma fonte genérica do sistema como Arial ou Times. O Elementor injeta as fontes do Google de duas formas: por uma chamada à API do Google Fonts (fonts.googleapis.com) ou, quando a opção Load Google Fonts Locally está ligada, baixando os arquivos para a pasta wp-content/uploads/elementor/fonts e reescrevendo o CSS para apontar para esses arquivos locais. A partir da versão 3.32.1 do Elementor, esse carregamento local passou a vir desligado por padrão e precisa ser ativado. O erro surge quando essa cadeia quebra: o CSS gerado fica preso a um caminho que não existe mais, o arquivo local baixou incompleto, o cache entrega a versão antiga da folha de estilo, ou uma regra de CORS e mixed content barra o arquivo de fonte. Em todos os casos a fonte existe e está configurada, mas não é aplicada na página pública.
Como identificar
- O texto do site abre numa fonte genérica como Arial ou Times no frontend, enquanto a fonte do Google escolhida aparece correta dentro do editor do Elementor.
- No console do navegador (F12, aba Console) surge a mensagem ‘Access to font at … has been blocked by CORS policy’ ou um aviso de mixed content sobre carregar a fonte por HTTP numa página HTTPS.
- Na aba Network do navegador o arquivo da fonte (woff2 ou woff) retorna status 404, indicando que o CSS aponta para um caminho que não existe na pasta de fontes do Elementor.
- A fonte volta ao normal logo após salvar a página no editor, mas torna a cair para a fonte de fallback depois de alguns minutos ou após uma limpeza de cache.
- Depois de ativar ou desativar a opção Load Google Fonts Locally, o site passa a exibir a fonte errada até o CSS ser regenerado.
Como prevenir
- Sempre que trocar a tipografia de um site grande, rode Regenerate Files & Data logo em seguida para o CSS nascer já com o @font-face correto
- Ao ativar o carregamento local das fontes, confira a pasta wp-content/uploads/elementor/fonts para garantir que os arquivos woff2 baixaram completos antes de publicar
- Inclua a limpeza do cache de página e do CDN na sua rotina de publicação, para o site nunca servir uma folha de estilo antiga sem a fonte nova
- Mantenha o site inteiramente em HTTPS e revise os endereços do site após qualquer migração, para evitar bloqueios de mixed content nas fontes
Causa
- O CSS gerado pelo Elementor está desatualizado e ainda aponta para um @font-face ou um caminho de fonte que mudou, situação resolvida em Elementor, aba Tools, com Regenerate Files and Data.
- A opção Load Google Fonts Locally (Elementor, Settings, aba Features) baixou os arquivos de forma incompleta para wp-content/uploads/elementor/fonts, deixando o woff2 ausente e o CSS apontando para um 404.
- Um plugin de cache ou de otimização (WP Rocket, LiteSpeed, W3 Total Cache) serve a folha de estilo antiga, sem o @font-face atualizado, mesmo após a fonte ter sido trocada no editor.
- A página é servida em HTTPS mas a chamada das fontes do Google ou o arquivo local é referenciado em HTTP, e o navegador bloqueia por mixed content.
- O arquivo de fonte é servido de um CDN ou subdomínio sem o cabeçalho Access-Control-Allow-Origin, então o navegador baixa o arquivo mas se recusa a aplicá-lo por política de CORS.
- Um plugin de privacidade ou de remoção de Google Fonts (instalado por causa da LGPD ou do GDPR) intercepta e bloqueia a chamada a fonts.googleapis.com, deixando a fonte sem origem.
Como resolver
- Confirme onde a fonte quebra pelo console: abra o site publicado, pressione F12 e leia as abas Console e Network. O Console mostra se o bloqueio é de CORS ou de mixed content, e a aba Network mostra se o arquivo de fonte retorna 404 ou 200. Anote o caminho exato do arquivo de fonte para saber se ele aponta para a pasta local do Elementor ou para um host externo.
- Regenere o CSS e os arquivos do Elementor: no painel do WordPress, vá no menu do Elementor e abra a aba de ferramentas para forçar a reconstrução das folhas de estilo, que é o que remove referências antigas de fonte. Use o caminho de menu abaixo e clique no botão de regenerar.
Elementor -> Tools -> General -> Regenerate Files & Data - Reveja a opção de carregamento local das fontes: ainda no Elementor, abra as configurações e veja a aba de recursos, onde fica a opção que baixa as fontes do Google para o seu servidor. Se ela estiver ligada e a fonte não carrega, desligue, salve e regenere o CSS para voltar a servir pela API do Google; se preferir manter local, desligue e ligue de novo para forçar um novo download dos arquivos na pasta de fontes. Os caminhos abaixo localizam a opção e a pasta.
Elementor -> Settings -> Features -> Load Google Fonts Locally wp-content/uploads/elementor/fonts - Limpe o cache do site e do navegador: depois de regenerar o CSS, limpe o cache do plugin de cache, o cache do CDN e o cache do navegador, senão o site continua servindo a folha de estilo antiga sem o @font-face correto. Recarregue o frontend sem cache para conferir a fonte. Os caminhos abaixo são os pontos de limpeza mais comuns.
WP Rocket -> Limpar cache LiteSpeed Cache -> Toolbox -> Purge All Ctrl + F5 (recarregar sem cache no navegador) - Trate CORS, mixed content ou bloqueio por plugin: se o Console acusou CORS, libere o cabeçalho Access-Control-Allow-Origin para as extensões de fonte no servidor. Se acusou mixed content, force HTTPS no site para que a fonte seja pedida pelo mesmo protocolo. Se houver um plugin de privacidade que remove o Google Fonts, ajuste-o para hospedar a fonte localmente em vez de bloquear a chamada. Os alvos abaixo apontam onde agir.
Header set Access-Control-Allow-Origin (.htaccess ou bloco server do Nginx) Configurações -> Geral -> Endereço do site (forçar https://)
<?php
// Força o Elementor a regerar o CSS das fontes ao detectar versão nova.
// Cole no functions.php do tema filho ou num plugin de snippets.
// Roda uma vez por carga de admin e limpa o cache de CSS do Elementor.
add_action( 'admin_init', function () {
if ( ! current_user_can( 'manage_options' ) ) {
return;
}
if ( ! class_exists( '\Elementor\Plugin' ) ) {
return;
}
// Apaga os arquivos CSS gerados (inclui os @font-face antigos).
ElementorPlugin::$instance->files_manager->clear_cache();
}, 20 );














