Google Fonts localmente no WordPress: RGPD, sentença do tribunal de Munique e arquitetura WOFF2 sem fugas

Google Fonts localmente no WordPress: RGPD, sentença do tribunal de Munique e arquitetura WOFF2 sem fugas

Atualizado: 3 de novembro de 2026
7 min de leitura
Guia
Especialista WooCommerce

Durante muitos anos, o carregamento dinâmico de tipos de letra a partir de fonts.googleapis.com e fonts.gstatic.com foi a norma nos temas de WordPress. Bastava uma etiqueta <link> no cabeçalho para aceder a um vasto catálogo tipográfico. No entanto, perante o Regulamento Geral sobre a Proteção de Dados (RGPD) e as exigências do Core Web Vitals, este método acarreta sérios riscos jurídicos e perdas de velocidade.

Neste guia, analisamos o enquadramento legal resultante da sentença do tribunal de Munique, explicamos por que razão o endereço IP é considerado um dado pessoal e mostramos como implementar uma arquitetura local de fontes WOFF2 no WordPress e WooCommerce.


#1. A Sentença do LG München I (Processo n.º 3 O 17493/20): Factos e Fundamentos

Em 20 de janeiro de 2022, a 3.ª Secção Cível do Tribunal Regional de Munique I (Landgericht München I, Processo n.º 3 O 17493/20) proferiu uma decisão marcante que deu origem a notificações judiciais em toda a União Europeia.

#Os Factos

A empresa ré geria um sítio Web comercial que carregava tipos de letra do Google Fonts diretamente dos servidores da Google LLC nos Estados Unidos. Sempre que um utilizador acedia a uma página, o navegador enviava automaticamente um pedido HTTP à Google contendo:

  1. O endereço IP público completo do utilizador.
  2. A cadeia User-Agent (navegador e sistema operativo).
  3. O cabeçalho HTTP Referer com o endereço exato da página visualizada.

#A Decisão do Tribunal

O tribunal considerou que este tratamento de dados violou o Regulamento (UE) 2016/679 (RGPD):

  • Endereço IP como dado pessoal: De acordo com o Art. 4.º, ponto 1 do RGPD e a jurisprudência do Tribunal de Justiça da União Europeia (Processo C-582/14 Patrick Breyer contra República Federal da Alemanha, de 19 de outubro de 2016), um endereço IP dinâmico constitui um dado pessoal, desde que existam meios legais para identificar a pessoa em causa.
  • Ausência de consentimento nos termos do Art. 6.º, n.º 1, alínea a) do RGPD: O utilizador não tinha prestado consentimento prévio, livre e esclarecido antes da transmissão dos dados à Google LLC.
  • Recusa do interesse legítimo (Art. 6.º, n.º 1, alínea f) do RGPD): A ré alegou que a utilização do serviço externo decorria de razões estéticas e de otimização técnica. O tribunal rejeitou integralmente essa tese, sublinhando que as fontes tipográficas podem ser facilmente descarregadas e alojadas localmente pelo responsável pelo tratamento, evitando a transferência de dados para países terceiros (em conformidade com o Art. 44.º do RGPD).
  • Indemnização ao abrigo do Art. 82.º, n.º 1 do RGPD: O tribunal fixou uma indemnização de 100 EUR por danos não patrimoniais pela perda de controlo sobre os dados pessoais e cominou uma sanção pecuniária até 250 000 EUR em caso de reincidência.

#2. Por que motivo os avisos de cookies não resolvem a questão

Algumas agências tentam contornar a questão bloqueando o carregamento do Google Fonts até que o visitante clique em “Aceitar tudo” na barra de consentimento.

Esta abordagem traz desvantagens técnicas evidentes:

  1. Desvios de layout (FOIT / FOUT): Se o visitante rejeitar os cookies opcionais, a página é apresentada com tipos de letra genéricos do sistema (como Times New Roman), originando saltos visuais indesejados (Cumulative Layout Shift - CLS).
  2. Atraso no carregamento da página: As fontes só começam a descarregar após a execução do script de consentimento, prejudicando o Largest Contentful Paint (LCP).
  3. Prejuízo na conversão: Os clientes que valorizam a sua privacidade devem beneficiar de uma loja online legível e profissional.

A tipografia é um componente visual estrutural e não um mecanismo de rastreio publicitário. Deve residir no servidor do próprio sítio Web.


#3. Benefícios de desempenho do alojamento local (Core Web Vitals)

A ideia de que a CDN da Google é mais rápida devido a uma cache partilhada entre navegadores deixou de ser verdadeira desde a introdução do isolamento de cache (cache partitioning) nos navegadores modernos. Para impedir ataques de rastreio e recolha de impressões digitais, o Chrome, Safari e Firefox mantêm agora caches estanques por cada domínio de primeiro nível.

O alojamento local proporciona melhorias evidentes:

MétricaGoogle Fonts ExternoAlojamento Local WOFF2
Ligações externas2 domínios de terceiros (fonts.googleapis.com, fonts.gstatic.com)0 domínios adicionais (reutilização do mesmo canal ou CDN própria)
Sobrecarga DNS e TLS2 x resolução DNS + 2 x handshake TLS (100-250 ms perdidos)0 ms (multiplexagem sobre ligação HTTP/2 ou HTTP/3 existente)
Fiabilidade do serviçoQuebras na Google afetam a tipografia da sua loja100% autónomo e resiliente
Conformidade com o RGPDRisco elevado de infração dos Art. 6.º e 44.ºConformidade total (sem envio de dados para os EUA)

#4. Soluções no ecossistema WordPress

Existem dois caminhos principais para implementar o alojamento local no WordPress.

#Opção A: Plugins dedicados a tipos de letra (ex.: OMGF / Host Webfonts Locally)

Criado por Daan van den Bergh, o OMGF foi concebido especificamente para intercetar folhas de estilo do Google Fonts:

  • Funcionamento: Analisa as folhas de estilo registadas, descarrega os ficheiros WOFF2 para wp-content/uploads/omgf/ e gera uma folha de estilo local.
  • Vantagens: Ferramenta focada unicamente na gestão tipográfica.
  • Limitações: Requer verificações e limpeza manual da cache de fontes após atualizações de temas.

#Opção B: Pacote integrado de conformidade comercial (Shoplex)

No comércio eletrónico europeu, os lojistas WooCommerce têm de cumprir várias exigências legais em simultâneo: a Diretiva Omnibus (preço mais baixo nos últimos 30 dias), regras de faturação B2B, direito de livre resolução, sistemas de depósito de embalagens e os critérios do European Accessibility Act (EAA).

O plugin Shoplex reúne estas funcionalidades e inclui o módulo LocalFontsService:

  • Interceção automática sem fugas (zero-leakage): Captura as folhas de estilo através do gancho style_loader_src e elimina as etiquetas <link rel="preconnect" href="https://fonts.gstatic.com">.
  • Ficheiros WOFF2 otimizados: Descarrega apenas formatos modernos WOFF2 com suporte completo para carateres acentuados da língua portuguesa (ç, ã, õ, é), mantendo os ficheiros com pesos reduzidos.
  • Cache de longa duração: Entrega os ficheiros com o cabeçalho Cache-Control: public, max-age=31536000, immutable.

#5. Implementação manual sem fugas num tema personalizado

Se desenvolve o seu próprio tema, pode integrar esta solução diretamente em PHP e CSS.

#Passo 1: Desativar fontes remotas do tema

add_action( 'wp_enqueue_scripts', function(): void {
    wp_dequeue_style( 'theme-google-fonts' );
    wp_deregister_style( 'theme-google-fonts' );
}, 999 );

#Passo 2: Limpar ligações de pré-ligação externa

add_filter( 'wp_resource_hints', function( array $urls, string $relation_type ): array {
    if ( in_array( $relation_type, array( 'preconnect', 'dns-prefetch' ), true ) ) {
        $urls = array_filter( $urls, static function( string $url ): bool {
            return ! str_contains( $url, 'fonts.googleapis.com' )
                && ! str_contains( $url, 'fonts.gstatic.com' );
        } );
    }
    return $urls;
}, 10, 2 );

#Passo 3: Declarar regras @font-face no CSS

@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('/wp-content/themes/o-seu-tema/assets/fonts/inter-v13-latin-regular.woff2') format('woff2');
    unicode-range: U+0000-00FF, U+0100-02AF;
}

@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url('/wp-content/themes/o-seu-tema/assets/fonts/inter-v13-latin-700.woff2') format('woff2');
    unicode-range: U+0000-00FF, U+0100-02AF;
}

#6. Procedimento de validação nas DevTools

Depois de aplicar a configuração, valide o tráfego de rede no navegador:

  1. Abra uma nova janela em modo privado (navegação anónima).
  2. Abra as Ferramentas de Programação (F12) e selecione o separador Rede (Network).
  3. Filtre por: fonts.
  4. Atualize a página (Ctrl+F5 ou Cmd+Shift+R).
  5. Critérios de sucesso:
    • Nenhum pedido enviado para fonts.googleapis.com ou fonts.gstatic.com.
    • Todos os ficheiros .woff2 são servidos a partir do seu domínio.
    • O cabeçalho de resposta indica content-type: font/woff2 e diretivas de cache corretas.

#Conclusão

A decisão do tribunal de Munique confirmou que a conveniência técnica não pode sobrepor-se à proteção dos dados pessoais dos utilizadores.

Alojando as Google Fonts localmente no WordPress, obtém-se plena conformidade com o Art. 6.º do RGPD e assegura-se simultaneamente uma redução tangível no tempo de resposta das páginas. Seja através de um plugin como o OMGF, do módulo integrado no Shoplex, ou de código no próprio tema, esta transição é hoje indispensável para qualquer loja online de qualidade.

Próximo passo

Transforme o artigo numa implementação real

Este bloco reforça a ligação interna e conduz o leitor para o passo seguinte mais útil dentro da arquitetura do site.

Explorar outros serviços WordPress e base de conhecimento

Reforce o seu negócio com suporte técnico profissional em áreas-chave do ecossistema WordPress.

Artigos Relacionados

O GA4 perde encomendas do WooCommerce: como encontrar a diferença e corrigir o registo de compras antes da Black Friday

Uma reconciliação que se faz numa tarde: encomendas do WooCommerce contra eventos purchase do GA4 pelo ID da transação, separadas por método de pagamento, dispositivo e página de agradecimento, com atenção especial ao MB WAY e às referências Multibanco, e depois uma compra enviada pelo servidor através do Measurement Protocol, sem ignorar o consentimento.