Revisão técnica: 08/09/2026. Texto atualizado; a data original de publicação foi preservada.
Compressão e cache podem reduzir transferências, mas precisam de regras compatíveis com o conteúdo. Antes de alterar cabeçalhos, identifique quem já os configura: aplicação, servidor, plugin ou CDN.
Confira a compressão existente
Inspecione a resposta de um recurso textual no navegador e veja se existe Content-Encoding. HTML, CSS e JavaScript podem se beneficiar de compressão. Arquivos já comprimidos, como muitas imagens, não terão necessariamente ganho semelhante.
Configure a compressão na camada apropriada e teste o resultado. Acrescentar ob_gzhandler a todo script PHP sem conferir o servidor pode duplicar responsabilidades e causar problemas. Preserve o funcionamento de respostas dinâmicas e downloads.
Defina cache conforme o tipo de recurso
Arquivos estáticos com nomes versionados podem receber períodos longos de cache porque uma alteração produz uma URL nova. Para arquivos atualizados no mesmo endereço, planeje revalidação ou um prazo compatível com a necessidade de atualização.
Evite uma data fixa de expiração distante, como 2090. Com Cache-Control, no-cache permite armazenamento com revalidação antes da reutilização; no-store pede que a resposta não seja armazenada. As opções têm finalidades diferentes.
Conteúdo de contas, carrinhos e sessões exige regras próprias. Não aplique cache público indiscriminado a respostas personalizadas. Confira o comportamento de usuários distintos e os cabeçalhos enviados pela aplicação antes de habilitar cache compartilhado.
Reduza recursos sem quebrar dependências
Minificação remove partes dispensáveis da representação do código, mas a ferramenta e a configuração precisam respeitar a sintaxe. Combinação de arquivos e adiamento de scripts são outras operações, com efeitos diferentes. Teste cada uma separadamente.
Verifique menus, formulários, consentimento e integrações após o ajuste. Se um erro aparecer, identifique o recurso alterado e reverta a configuração específica. Mantenha uma forma de invalidar arquivos antigos quando publicar uma correção.
Compare o resultado
Observe bytes transferidos, tempos de carregamento e erros antes e depois, na primeira visita e nas seguintes. Não prometa multiplicadores fixos de velocidade. Use o diagnóstico de lentidão para escolher o próximo ajuste com base na medição.
Referências: cache HTTP na MDN e compressão de saída no PHP.