Carregar um tipo de letra a partir dos servidores da Google desencadeia um pedido de saída do navegador do visitante, antes de qualquer consentimento. Esse pedido transmite o endereço IP, o endereço da página consultada e o agente do utilizador a um terceiro situado fora da União Europeia. É um tratamento de dados pessoais sem base legal, e é trivialmente verificável por qualquer pessoa que abra o inspetor do navegador.
Uma decisão do tribunal regional de Munique em 2022 condenou o responsável por um site exatamente com este fundamento, e o caso serviu de base a uma vaga de notificações na Alemanha. As autoridades de proteção de dados europeias, a CNPD incluída, retomaram o tema nas suas recomendações. O risco não é teórico.
Porque é que o consentimento não resolve o problema
Poder-se-ia imaginar bloquear os tipos de letra até ao consentimento, como um script de medição de audiência. Na prática, essa abordagem não se aguenta: uma página que espera pelo consentimento para carregar os tipos de letra aparece primeiro com a letra do sistema e depois muda, o que produz um salto visual importante e degrada a experiência para toda a gente.
O alojamento próprio é a única resposta que resolve ao mesmo tempo a conformidade e o desempenho. Descarrega os ficheiros uma vez, serve-os a partir do seu próprio domínio, e nenhum pedido parte para um terceiro.
Onde se escondem os pedidos no PrestaShop
É a parte que a maioria das repatriações falha. Um pedido removido do tema não significa que o site esteja limpo.
- O tema. Uma etiqueta de ligação para fonts.googleapis.com no ficheiro de cabeçalho, por vezes acompanhada de uma diretiva de pré-ligação.
- As folhas de estilo. Uma regra de importação no topo de um ficheiro CSS, muitas vezes esquecida porque não aparece no código dos templates.
- Os módulos. Um módulo de carrossel, de contagem decrescente ou de popup que carrega o seu próprio tipo de letra. Cada módulo acrescenta potencialmente um pedido.
- Os ícones. As bibliotecas de ícones alojadas no mesmo fornecedor levantam exatamente o mesmo problema.
- O conteúdo. Uma página CMS ou uma descrição de produto colada a partir de um editor externo pode conter uma etiqueta de estilo a importar um tipo de letra remoto.
Módulo Google Fonts Local PrestaShop 8/9: Tipos de Letra Alojados Localmente e RGPDOs seus tipos de letra das Google Fonts, alojados em sua casa. Zero pedidos ao Google, zero ficheiros de tema alterados.59,00€
O procedimento
Quatro etapas, por esta ordem.
1. Inventariar. Abra o separador Rede do navegador, filtre pelos domínios de tipos de letra, e recarregue várias páginas típicas: inicial, categoria, produto, carrinho, página CMS. Anote cada família e cada peso realmente chamado.
2. Descarregar. Obtenha os ficheiros em formato WOFF2, que cobre todos os navegadores atuais. Conserve apenas os pesos que usa mesmo: uma família carregada em seis pesos quando o tema só usa dois representa várias centenas de kilobytes inúteis.
3. Declarar. Coloque os ficheiros no seu tema e declare cada família com uma regra de tipo de letra personalizado, indicando um comportamento de exibição do tipo swap para evitar texto invisível durante o carregamento.
4. Limpar. Elimine todas as referências remotas encontradas na etapa 1, incluindo as diretivas de pré-ligação, que abrem uma ligação mesmo sem descarregar ficheiro.
O controlo final
O teste faz-se no separador Rede, em navegação privada e com a cache limpa. Filtre pelos domínios de tipos de letra remotos: zero pedidos esperados, em todas as páginas típicas, autenticado e não autenticado.
Há duas verificações complementares que vale a pena fazer. O back-office carrega por vezes os seus próprios tipos de letra remotos, o que não afeta os visitantes mas merece ser tratado pelas suas equipas. E os e-mails transacionais em HTML também podem conter chamadas de tipos de letra, o que transmite dados a cada abertura de mensagem.
O benefício de desempenho
O alojamento próprio elimina uma resolução de DNS, uma negociação TLS e uma ligação a um domínio terceiro, no caminho crítico da renderização. Numa ligação móvel média, isso representa correntemente várias centenas de milissegundos ganhas na exibição do texto.
Dois ajustes completam o ganho. O pré-carregamento do tipo de letra principal, a declarar no cabeçalho, arranca antes da análise do CSS. E a redução do conjunto de caracteres aos alfabetos realmente usados aligeira cada ficheiro, muitas vezes para metade quando se retiram os caracteres cirílicos e gregos de um tipo de letra universal.
O ponto de atenção sobre a licença
Quase todos os tipos de letra distribuídos pela Google estão sob licença livre, o que autoriza o alojamento próprio sem qualquer diligência. Verifique ainda assim a licença das famílias que repatria, em particular se as obteve noutro sítio, e guarde o ficheiro de licença junto dos ficheiros do tipo de letra.
Automatizar a repatriação
O módulo Google Fonts Local para PrestaShop trata esta cadeia no PrestaShop 8 e 9: deteção dos pedidos remotos no tema e nos módulos, descarregamento e alojamento local das famílias usadas, reescrita das referências e verificação de que não subsiste nenhum pedido.