Como ativar a compactação GZIP para acelerar sites WordPress
Publicados: 2020-10-16A maneira mais fácil de acelerar seu site WordPress é eliminar todos os seus recursos indesejados. A segunda maneira mais fácil de acelerá-lo é compactar todos os recursos desejados. Habilitar a compactação GZIP em seu servidor web é uma das maneiras mais simples e eficientes de conseguir isso.
Todos os navegadores modernos incluem suporte para compactação GZIP por padrão. No entanto, para servir os recursos compactados para seus usuários sem problemas, você deve configurar seu servidor corretamente.
Neste post, você aprenderá os fundamentos da compactação de dados na web, o que é a compactação GZIP, seus vários benefícios e como você pode usá-la para acelerar seus sites WordPress em diferentes configurações de servidor.
Excitado? Vamos descomprimir!
Prefere assistir a versão em vídeo?
Noções básicas de compactação de dados na Web
A compactação de dados na web é o processo de redução do tamanho dos dados transmitidos pelos sites. Dependendo do tipo de dados — texto, imagens, folhas de estilo, scripts, fontes — existem várias maneiras de compactar dados.

Por exemplo, a minificação de HTML, CSS e JavaScript é uma maneira simples de reduzir a quantidade de dados enviados pelos navegadores. Aqui, o minifier compacta o texto removendo caracteres desnecessários, como comentários e espaços em branco do código-fonte.
No exemplo abaixo de um documento HTML simples, existem três tipos de conteúdo: marcação HTML, estilos CSS e código JavaScript.
Cada tipo de conteúdo tem sintaxe e semântica exclusivas. No geral, este documento HTML tem 357 caracteres no total.
< html > < head > < style > /* kinsta-banner is used on the homepage only */ .kinsta-banner { font-size: 150% } .kinsta-banner { width: 75% } </ style > </ head > < body > <!-- kinsta banner START --> < div >...</ div > <!-- kinsta banner END --> < script > kinstaScripts(); // random scripts used on the page </ script > </ body > </ html >
O código acima é fácil de ler e seguir. É ideal para o desenvolvimento. No entanto, não é necessário que o navegador leia os comentários e tenha tags perfeitamente recuadas. Um compressor inteligente pode analisar este documento e remover todos os bits desnecessários dele.
< html >< head >< style >.kinsta-banner{font-size:150%;width:75%}</ style ></ head >< body >< div >...</ div >< script >kinstaScripts();</ script ></ body ></ html >
Após a minificação, o documento HTML é reduzido para apenas 141 caracteres. Isso é uma economia de 60,50% no número de caracteres. Não é tão fácil para os olhos, mas isso não importa para o navegador. Ele ainda exibirá a mesma página para o usuário.
Para tirar vantagem de ambas as versões, você pode manter o documento original como uma “versão de desenvolvimento”, mas minificar todo o código antes de colocá-lo no ar.
A maioria dos plugins de desempenho do WordPress cuidam disso automaticamente para você.

Como exemplo, a versão não compactada da biblioteca jQuery 3.5.1 é mais de 3 vezes maior que a versão minificada do mesmo arquivo.
Da mesma forma, as mesmas técnicas de compactação descritas acima podem otimizar outros tipos de conteúdo, como imagens, vídeos, fontes e muito mais. Reduções específicas de conteúdo como essas são o primeiro passo para otimizar o tamanho dos ativos baseados em texto do seu site.
Mas há mais na compactação de dados do que apenas minificação. Usando técnicas matemáticas avançadas, os algoritmos de compactação de dados podem reduzir ainda mais o tamanho dos dados.
Um dos exemplos mais populares desse método de compactação de dados é o GZIP . Permite a transmissão eficiente de dados e tem contribuído significativamente para tornar a internet um meio de comunicação global viável.
O que é compressão GZIP?
GZIP, abreviação de GNU Zip , é o método de compactação de dados sem perdas mais popular na web. Ele permite que você reduza o tamanho das páginas HTML, folhas de estilo e scripts do seu site.
Além de ser um algoritmo de compactação de dados, o GZIP também é uma extensão de arquivo ( .gz ) e um software usado para compactação/descompactação de arquivos.
É baseado no algoritmo DEFLATE, que é uma mistura de codificação LZ77 e algoritmos de codificação Huffman.

Um compressor GZIP pega um conjunto de dados brutos e os compacta sem perdas. Os dados brutos podem ser de qualquer tipo de arquivo, mas o GZIP funciona melhor com recursos baseados em texto (por exemplo, HTML, CSS, JS).
A próxima seção aborda detalhadamente como a compactação GZIP funciona.
Como o GZIP compacta dados

Para começar, o compressor GZIP executa o algoritmo de compactação LZ77 nos dados brutos para remover redundâncias. Esse algoritmo funciona encontrando padrões repetidos em uma janela deslizante predefinida (uma pequena seção dos dados brutos).
Em seguida, ele substitui todas as strings repetidas por tuplas para compactar os dados brutos.

No exemplo acima, o tamanho da janela deslizante tem apenas 13 caracteres (13 bytes). No entanto, a compactação GZIP pode usar um tamanho máximo de janela deslizante de 32 KB (32.768 bytes). O tamanho da janela deslizante desempenha um papel fundamental no desempenho de compactação do LZ77.
Depois de compactar os dados brutos com o algoritmo LZ77, o compressor GZIP usa o algoritmo de codificação Huffman para comprimi-los ainda mais. Ele faz isso atribuindo caracteres que ocorrem com mais frequência com o menor número de bits, enquanto atribui caracteres raros com o maior número de bits.
Essa técnica é como a usada no código Morse, em que as letras que ocorrem com mais frequência no idioma inglês obtêm as sequências mais curtas.
Para entender como o algoritmo de codificação de Huffman funciona, considere a palavra BOOKKEEPER
. Tem 10 caracteres, mas tem apenas 6 caracteres únicos. Esta palavra tem uma boa mistura de letras simples, duplas e triplas.
Quase todos os sites usam a codificação de caracteres UTF-8 para representar letras e símbolos. Cada caractere ASCII em UTF-8, que também inclui o alfabeto inglês, usa 1 byte (8 bits).

Uma cadeia de 10 caracteres como BOOKKEEPER
exigirá 10 bytes (80 bits) de memória. Você pode ver que ele contém 1 instância das letras B , P , R
, 2 instâncias das letras O
e K
e 3 instâncias da letra E
.
O algoritmo de codificação Huffman usa esse conhecimento para compactar a string sem perdas. Ele faz isso gerando uma árvore binária com cada letra única como uma folha.
Letras com a frequência mais baixa (por exemplo, B , P , R ) se encontrarão na parte inferior da árvore, enquanto aquelas que aparecem com frequência (por exemplo, E , O , K ) se encontrarão idealmente no topo.
O nó mais alto da árvore é a raiz e seu valor é igual ao número total de caracteres na string.

Depois de gerar a árvore de Huffman, todas as setas de ramificação esquerda e de ramificação direita recebem números 0 e 1 , respectivamente. Você pode então gerar o código Huffman para qualquer caractere traçando o caminho da raiz para a folha e juntando todos os 0s e 1s .

Você pode notar que as letras com a frequência mais alta têm códigos Huffman com os menores tamanhos de bits.
Nota: O algoritmo de codificação Huffman pode gerar códigos binários alternativos usando uma estratégia de ordenação diferente para caracteres com as mesmas frequências. No entanto, o tamanho total da string codificada permanecerá o mesmo.

Isso representa uma redução de 68,75% na memória necessária para armazenar a palavra original.
O uso da árvore de Huffman com a convenção 0/1 gera códigos binários que satisfazem a propriedade prefix. Ele garante que o código Huffman de qualquer caractere específico não seja um prefixo do código de nenhum outro caractere, facilitando a decodificação da string codificada usando a árvore Huffman. Isso desempenha um papel principal na velocidade de descompressão GZIP.
Assim como na palavra acima, o compressor GZIP usa o algoritmo de codificação Huffman para otimizar ainda mais as tuplas geradas pelo algoritmo LZ77. Isso resulta em arquivos altamente compactados com extensão .gz.
Se você estiver interessado em saber mais sobre como o GZIP funciona, consulte este vídeo para obter uma visão geral rápida.
Quão boa é a compactação GZIP?
Normalmente, o GZIP atinge uma taxa de compactação de cerca de 70% para arquivos pequenos, mas pode chegar a 90% para ativos maiores baseados em texto.

Na tabela acima, você pode ver que compactar arquivos minificados com GZIP pode reduzir ainda mais seu tamanho.
Nota: Você pode compactar qualquer tipo de arquivo com GZIP, mas para ativos já compactados com outros métodos (por exemplo, imagens, vídeos), não haverá economia. Às vezes, pode até aumentar o tamanho do arquivo.
A força de um algoritmo de compactação não depende apenas de sua taxa de compactação, mas também da rapidez e eficiência com que ele pode compactar e descompactar dados. É aí que o GZIP se destaca na maioria dos casos de uso.
Como o GZIP descompacta rapidamente usando um algoritmo de streaming, é uma ótima opção para protocolos da Web em que a velocidade é essencial. Além disso, o GZIP usa recursos mínimos para compactar e descompactar dados, tornando-o ideal para servidores e clientes.

Os gráficos acima comparam o desempenho de compactação dos algoritmos de compactação brotli , bzip2 , gzip e xz . O GZIP perde no teste de taxa de compactação por uma pequena margem, mas para velocidades de compactação e descompactação, ele supera a concorrência.
Observando o gráfico de velocidade de compactação, podemos concluir que o GZIP é ideal para compactação em tempo real em servidores HTTP e outros fluxos de dados na web. Considerando todos os seus aspectos positivos no avanço da web, o IETF ratificou o GZIP como um dos três formatos padrão para compactação em HTTP/1.1.
Nota: Uma abstração da biblioteca de compressão do GZIP chamada zlib é usada em muitos sistemas operacionais populares (Linux, macOS, iOS) e consoles de jogos modernos (PlayStation 4, Wii U, Xbox One). Também é usado no formato de arquivo PNG sem perdas para compactar imagens.
6 vantagens da compactação GZIP
Vamos dar uma olhada nas vantagens mais importantes da compactação GZIP.
Oferece uma taxa de compressão decente
Como discutido anteriormente, o GZIP não possui a melhor taxa de compactação em comparação com a concorrência. Mas também não está tão longe deles. Normalmente, ele pode ajudar a reduzir o tamanho dos recursos baseados em texto em 70-90%.
Compressão e descompressão super rápidas
Para velocidades de compactação e descompactação de dados, o GZIP é o vencedor claro. É altamente desejável para compactação em tempo real em servidores HTTP e outros fluxos de dados.
Requer muito pouca memória
O GZIP deixa um espaço mínimo de memória, tornando-o adequado para servidores e sistemas com capacidade de memória limitada. Portanto, você encontrará suporte até mesmo pelos provedores de hospedagem na web mais baratos.
Não se expande muito, mesmo nos piores casos
Algoritmos de compactação de dados sem perdas, como GZIP, têm um limite estrito além do qual não podem compactar dados.
Normalmente, isso acontece quando o recurso já está bem compactado ou se é pequeno e a sobrecarga de adicionar o dicionário GZIP é maior do que a economia de compactação. Podemos atribuir esse fenômeno a um conceito chamado codificação de entropia. GZIP é altamente resistente a este efeito.
Livre para usar e de código aberto
O GZIP foi criado principalmente como um substituto gratuito e de código aberto para o programa de compactação patenteado usado nos primeiros sistemas Unix. Assim, não está onerado por nenhuma patente e pode ser usado livremente por qualquer pessoa.
Gosta de suporte universal
De acordo com a W3Techs, a compactação GZIP é usada por 82% de todos os sites que eles rastreiam, tornando-se o algoritmo de compactação mais usado na web.
GZIP é suportado por quase todos os servidores e clientes. Não importa em qual servidor você hospeda seu site, você pode acelerá-lo ativando o GZIP nele.
Avisos GZIP nas ferramentas de teste de velocidade do site
Ao lado da minificação, habilitar o GZIP é uma das otimizações de velocidade mais simples e eficazes que você pode implementar em seu site.
É também uma das maneiras mais fáceis de otimizar o WordPress. Apesar disso, muitos sites WordPress ainda não o utilizam.
Quando você visita um site, seu navegador verifica se o servidor da web tem o GZIP habilitado verificando o cabeçalho de resposta content-encoding: gzip
. Se o cabeçalho existir, ele recupera os arquivos compactados, os descompacta e, em seguida, exibe os arquivos menores para você automaticamente.

Se o navegador não detectar o cabeçalho de resposta GZIP, ele baixa os arquivos descompactados. Na maioria dos casos, a diferença nas velocidades de carregamento da página pode ser de vários segundos. Portanto, se você não tiver o GZIP ativado, verá avisos nas ferramentas de teste de velocidade do site.
Aviso GZIP no Google PageSpeed Insights / Lighthouse
O Google PageSpeed Insights gera um aviso quando você não tem nenhuma compactação de texto ativada em seu site.
Observação: o Google PageSpeed Insights e o Google Lighthouse eram duas ferramentas de teste de desempenho de site separadas. Eles trabalharam independentemente um do outro até 2018, quando o Google atualizou o PageSpeed Insights para usar o Lighthouse como mecanismo de análise. Portanto, o PageSpeed Insights e o Lighthouse são a mesma coisa agora.

No site de exemplo acima, a compactação de recursos baseados em texto pode reduzir o peso da página em mais de 78% e acelerar o tempo de carregamento da página em 2,1 segundos .
Observação: o PageSpeed Insights depende dos cabeçalhos de resposta retornados ao seu navegador pelo servidor. Às vezes, ele pode mostrar um aviso falso mesmo quando a compactação GZIP está ativada. Pode ser devido à execução do teste de velocidade em uma máquina que usa um servidor proxy intermediário ou um software de segurança. Eles podem interferir no download de arquivos compactados de servidores externos.
Aviso GZIP no GTmetrix
GTmetrix mostra um aviso se o seu site não servir recursos baseados em texto compactado. Assim como o Google PageSpeed Insights, ele também mostra as economias potenciais que você pode alcançar.

Observação: a GTmetrix está atualizando seu algoritmo de teste de velocidade para substituir as antigas bibliotecas PageSpeed Insights e YSlow pelas métricas mais recentes do Google Lighthouse. Você pode esperar que seu aviso de compactação GZIP seja semelhante ao mostrado pelo Lighthouse.
Aviso GZIP em Ferramentas Pingdom
O Pingdom Tools lança um aviso direto para compactar os componentes do seu site com o GZIP.

Na seção de descrição, o Pingdom Tools também fornece algumas estatísticas sobre a importância do GZIP. Feijão legal!

Aviso GZIP no WebPageTest
O WebPageTest mostra um aviso na guia Avaliação de desempenho se detectar que alguma resposta compressível não está sendo veiculada da maneira mais otimizada.

O WebPageTest também fornecerá uma pontuação para mostrar a gravidade de um aviso. Por exemplo, ele classifica o aviso acima com 23 de 100, o que significa que você deve corrigi-lo como prioridade.
Como verificar se a compactação GZIP está ativada
O cabeçalho HTTP Accept-Encoding: gzip, deflate
é suportado efetivamente por todos os navegadores modernos. Portanto, a maioria dos hosts da Web, incluindo Kinsta, habilita a compactação GZIP por padrão em todos os seus servidores.
Quando os servidores da web veem esse cabeçalho enviado por um navegador, eles reconhecem o suporte do navegador para GZIP e respondem com uma resposta HTTP compactada usando content-encoding: gzip
.
Mas se você estiver usando outro provedor de hospedagem WordPress, ou se quiser apenas confirmar se seu site está servindo conteúdo compactado GZIP corretamente, sempre verifique se ele está ativado.
Abaixo estão algumas maneiras simples de verificar a compactação GZIP.
1. Ferramentas on-line de teste de compactação GZIP
Usar uma ferramenta online é a maneira mais fácil de verificar se a compactação GZIP está habilitada em seu site. Eu recomendo usar as ferramentas gratuitas Check GZIP Compression ou HTTP Compression Test. Basta digitar o URL do seu site e clicar no botão Verificar ou Testar .
Ambas as ferramentas on-line mostrarão um breve relatório sobre se o GZIP está ativado ou não e a quantidade de transferência de dados que você salvou (ou pode salvar) veiculando o URL de teste com a compactação GZIP ativada.
A primeira ferramenta também mostrará outras informações relevantes, como o tipo de servidor do seu site, o tipo de conteúdo e o tempo de compactação.


Você deve observar que a otimização GZIP não para apenas em sua página da web, mas também inclui seus recursos estáticos baseados em texto, como folhas de estilo, scripts e fontes. Se você estiver usando uma CDN para fornecer esses ativos, precisará garantir que a CDN também os atenda com a compactação GZIP habilitada.
A maioria das CDNs modernas, como Cloudflare, Kinsta CDN, KeyCDN e CloudFront, são compatíveis com a compactação GZIP. Você pode testar ativos servidos por CDN para compactação GZIP vinculando diretamente aos ativos.

No relatório acima, você pode ver que o Kinsta CDN usa o mecanismo KeyCDN, que é um pull CDN tradicional. Se você estiver usando Kinsta para hospedar seu site WordPress, não precisa se preocupar com a compactação GZIP, pois ela está habilitada por padrão.
2. O cabeçalho de resposta HTTP “codificação de conteúdo: gzip”
A segunda maneira de verificar se um site fornece conteúdo compactado com GZIP é verificando a content-encoding: gzip
.
Cansado do suporte de hospedagem WordPress de nível 1 abaixo da média sem as respostas? Experimente nossa equipe de suporte de classe mundial! Confira nossos planos
Você pode abrir o Chrome DevTools ou o Firefox Developer Tools e procurar este cabeçalho de resposta na seção Rede .
Já mostrei como fica no Chrome DevTools anteriormente. Veja como fica no Firefox Developer Tools.

Você também pode ativar a opção "Usar linhas de solicitação grandes" no painel de configurações do Chrome DevTools para ver o tamanho original e compactado da página. Como você pode ver abaixo, o tamanho da página original foi reduzido de 118 KB para apenas 22,9 KB após comprimi-la com GZIP.

3. Ferramentas de teste de velocidade da página da Web
A maioria das ferramentas de teste de velocidade do site irá avisá-lo para não usar compressão como GZIP para servir suas páginas da web. Muitos leitores que chegam a este artigo provavelmente estão vindo exatamente por causa desses avisos GZIP, muitos dos quais já discutimos acima em profundidade.

Você pode usar ferramentas como PageSPeed Insights, GTmetrix, Pingdom Tools e WebPageTest para verificar se a compactação GZIP está ativada em seu site WordPress.
Como ativar a compactação GZIP
Se você não tiver a compactação GZIP habilitada em seu servidor web, há muitas maneiras de habilitá-la. O método exato depende de qual servidor da Web você está usando para hospedar seu site.
Importante: Como sempre, faça um backup do seu site e dos arquivos de configuração do servidor antes de editá-los.
Ative o GZIP com um plug-in do WordPress
A maneira mais fácil de habilitar a compactação GZIP em seu site WordPress é usando um plug-in de otimização de cache ou desempenho.
Por exemplo, se você hospedar seu site WordPress no servidor web Apache, o W3 Total Cache inclui uma opção para habilitar a compactação GZIP em seu painel de configurações do Cache do navegador .
Da mesma forma, o WP Rocket permite adicionar regras de compactação GZIP automaticamente. Esses plugins habilitam a compactação GZIP adicionando o módulo mod_deflate
do Apache ao arquivo .htaccess.

Os plugins do WordPress requerem permissões para modificar arquivos em seu servidor web. Se eles não tiverem as permissões corretas, eles falharão ou mostrarão um erro.
Nesses casos, você precisa entrar em contato com seu provedor de hospedagem ou modificar manualmente os arquivos de configuração do seu servidor web usando os trechos de código abaixo.
Nota: Kinsta otimizou sua plataforma para alto desempenho, confiabilidade e segurança. Isso também inclui habilitar a compactação GZIP por padrão para todos os seus planos de hospedagem.
Como plugins de cache de terceiros podem causar conflito com as otimizações de desempenho interno da Kinsta, Kinsta não permite a maioria deles em seus servidores. Para mais informações, você pode ver a lista completa de plugins banidos da Kinsta.
Habilitar GZIP no Apache Web Server
De acordo com a Netcraft, o Apache atende a mais sites ativos do que qualquer outro servidor web em uso atualmente. É também um dos dois servidores web recomendados pelo WordPress.
Para habilitar a compactação GZIP em servidores Apache, você precisa usar seus módulos mod_filter
e mod_deflate
e configurá-los corretamente com as diretivas corretas. Eles direcionarão o Apache para compactar a saída do servidor antes de enviá-la aos clientes pela rede.
Você tem duas opções para editar as configurações do servidor Apache com base no nível de acesso que você tem:
- Se você puder acessar o arquivo de configuração do servidor principal (normalmente chamado httpd.conf ), é recomendável usá-lo para configurar o Apache, pois arquivos .htaccess podem tornar o Apache lento.
- Se você não pode acessar o arquivo de configuração do servidor principal, que geralmente é o caso da maioria dos provedores de hospedagem compartilhada do WordPress, você precisa configurar o Apache usando o arquivo .htaccess .
A primeira opção é estritamente para administradores de sistema, pois os provedores de hospedagem raramente permitem que você edite o arquivo de configuração do servidor principal. Explicar como fazer isso dessa maneira está fora do escopo deste artigo. Você pode consultar o exemplo de configuração do servidor Apache compartilhado pelo projeto HTML5 Boilerplate e a documentação do Apache para começar.
A segunda opção é ideal para a maioria dos proprietários de sites WordPress, pois muitos provedores de hospedagem compartilhada permitem que você edite arquivos .htaccess .
Para começar, use o SFTP ou o gerenciador de arquivos online do seu host para encontrar o arquivo .htaccess no diretório raiz do seu site WordPress. Em seguida, adicione o trecho de código abaixo a ele.
Importante: Certifique-se de que o módulo mod_filter
esteja ativo em seu servidor. A maioria dos hosts da Web o habilita por padrão, mas se não estiver, a diretiva AddOutputFilterByType
não funcionará e poderá gerar um erro HTTP 500. Você pode verificar os logs de erros do seu servidor se tiver algum problema após adicionar o snippet de código abaixo.
<IfModule mod_deflate.c> # Compress HTML, CSS, JavaScript, Text, XML and fonts AddOutputFilterByType DEFLATE application/javascript AddOutputFilterByType DEFLATE application/rss+xml AddOutputFilterByType DEFLATE application/vnd.ms-fontobject AddOutputFilterByType DEFLATE application/x-font AddOutputFilterByType DEFLATE application/x-font-opentype AddOutputFilterByType DEFLATE application/x-font-otf AddOutputFilterByType DEFLATE application/x-font-truetype AddOutputFilterByType DEFLATE application/x-font-ttf AddOutputFilterByType DEFLATE application/x-javascript AddOutputFilterByType DEFLATE application/xhtml+xml AddOutputFilterByType DEFLATE application/xml AddOutputFilterByType DEFLATE font/opentype AddOutputFilterByType DEFLATE font/otf AddOutputFilterByType DEFLATE font/ttf AddOutputFilterByType DEFLATE image/svg+xml AddOutputFilterByType DEFLATE image/x-icon AddOutputFilterByType DEFLATE text/css AddOutputFilterByType DEFLATE text/html AddOutputFilterByType DEFLATE text/javascript AddOutputFilterByType DEFLATE text/plain AddOutputFilterByType DEFLATE text/xml # Remove browser bugs (only needed for ancient browsers) BrowserMatch ^Mozilla/4 gzip-only-text/html BrowserMatch ^Mozilla/4\.0[678] no-gzip BrowserMatch \bMSIE !no-gzip !gzip-only-text/html Header append Vary User-Agent </IfModule>
Adicione o código acima somente após as diretivas existentes do seu arquivo .htaccess . Salve o arquivo e verifique se ele habilita a compactação GZIP em seu servidor.

Seu servidor web agora deve servir arquivos compactados para todas as extensões de arquivo listadas acima. Você pode confirmar isso usando qualquer um dos métodos mencionados anteriormente.
Se você quiser garantir que proxies e software de segurança no lado do cliente não interfiram na compactação GZIP, substitua o trecho de código acima pelo abaixo.
<IfModule mod_deflate.c> # force compression for clients that mangle 'Accept-Encoding' request headers <IfModule mod_setenvif.c> <IfModule mod_headers.c> SetEnvIfNoCase ^(Accept-EncodXng|X-cept-Encoding|X{15}|~{15}|-{15})$ ^((gzip|deflate)\s*,?\s*)+|[X~-]{4,13}$ HAVE_Accept-Encoding RequestHeader append Accept-Encoding "gzip,deflate" env=HAVE_Accept-Encoding </IfModule> </IfModule> # compress all output with one of the following file extensions <IfModule mod_filter.c> AddOutputFilterByType DEFLATE "application/atom+xml" \ "application/javascript" \ "application/json" \ "application/ld+json" \ "application/manifest+json" \ "application/rdf+xml" \ "application/rss+xml" \ "application/schema+json" \ "application/geo+json" \ "application/vnd.ms-fontobject" \ "application/wasm" \ "application/x-font-ttf" \ "application/x-javascript" \ "application/x-web-app-manifest+json" \ "application/xhtml+xml" \ "application/xml" \ "font/eot" \ "font/opentype" \ "font/otf" \ "font/ttf" \ "image/bmp" \ "image/svg+xml" \ "image/vnd.microsoft.icon" \ "text/cache-manifest" \ "text/calendar" \ "text/css" \ "text/html" \ "text/javascript" \ "text/plain" \ "text/markdown" \ "text/vcard" \ "text/vnd.rim.location.xloc" \ "text/vtt" \ "text/x-component" \ "text/x-cross-domain-policy" \ "text/xml" </IfModule> # define and map media types to their appropriate encoding type # Using SVG format (Scalable Vector Graphics) is highly recommended to # load logos, icons, text, and simple images. You can compress .SVG files # further using GZIP to create .SVGZ files. However, most browsers don't # know that they need to decompress them first if they're not served # without an appropriate 'content-encoding' HTTP response header. Thus, # these images wouldn't show up in the browser. Hence, this module. <IfModule mod_mime.c> AddType image/svg+xml svg svgz AddEncoding gzip svgz </IfModule> </IfModule>
Você pode aprender mais sobre todas as diretivas usadas aqui acessando seu repositório de código e seguindo todos os recursos vinculados lá.
Ativar GZIP no servidor Web Nginx
De acordo com o Netcraft, o Nginx é o servidor web mais usado por computadores voltados para a web. Se a tendência atual continuar, em breve ultrapassará o Apache para se tornar o servidor web mais usado pelos sites ativos. Até a Kinsta usa o Nginx para potencializar suas soluções de hospedagem otimizadas para desempenho para WordPress.
Você pode habilitar a compactação GZIP em seu servidor web Nginx usando as diretivas definidas no arquivo ngx_http_gzip_module.
Para começar, adicione as diretivas fornecidas abaixo ao seu arquivo nginx.conf . Normalmente, você pode encontrar esse arquivo no local /etc/nginx/nginx.conf
do seu servidor.
# enables GZIP compression gzip on; # compression level (1-9) # 6 is a good compromise between CPU usage and file size gzip_comp_level 6; # minimum file size limit in bytes to avoid negative compression outcomes gzip_min_length 256; # compress data for clients connecting via proxies gzip_proxied any; # directs proxies to cache both the regular and GZIP versions of an asset gzip_vary on; # disables GZIP compression for ancient browsers that don't support it gzip_disable "msie6"; # compress outputs labeled with the following file extensions or MIME-types # text/html MIME-type is enabled by default and need not be included gzip_types application/atom+xml application/geo+json application/javascript application/x-javascript application/json application/ld+json application/manifest+json application/rdf+xml application/rss+xml application/vnd.ms-fontobject application/wasm application/x-web-app-manifest+json application/xhtml+xml application/xml font/eot font/otf font/ttf image/bmp image/svg+xml text/cache-manifest text/calendar text/css text/javascript text/markdown text/plain text/xml text/vcard text/vnd.rim.location.xloc text/vtt text/x-component text/x-cross-domain-policy;
Se o seu site servir arquivos JS e CSS grandes, você poderá aumentar o tamanho do buffer usado para compactação adicionando a seguinte diretiva ao seu arquivo nginx.conf :
# sets the 'number' and 'size' of buffers for GZIP compression # default buffer size is 4K or 8K depending on the platform gzip_buffers 16 8k;
Não se esqueça de recarregar o Nginx depois de salvar seu arquivo nginx.conf .
sudo service nginx reload
Finalmente, você deve testar para ver se o seu servidor tem a compactação GZIP habilitada. Você pode consultar a documentação do Nginx para obter uma lista atualizada de todas as diretivas ngx_http_gzip_module
.
Habilitar GZIP no servidor Web IIS
O Internet Information Services (IIS) da Microsoft é o terceiro servidor Web mais popular em uso atualmente. O IIS é implantado principalmente em ambientes corporativos executados no Windows, especialmente para configurar servidores de intranet e extranet específicos da empresa.
Raramente é usado para hospedar sites WordPress devido a vários problemas de compatibilidade.
No entanto, se você se encontrar em uma daquelas raras situações em que precisa habilitar a compactação GZIP no IIS, consulte a documentação da Microsoft para começar. Você também pode achar este thread do Stack Overflow útil.
Alternativas à compactação GZIP
O mundo da compressão de dados na web está sempre avançando. Com o tamanho médio da página aumentando constantemente, a tecnologia da web está tentando alcançá-la também para tornar a transferência de dados pela web mais eficiente.

Um novo algoritmo de compressão ganhou grande popularidade nos últimos anos: Brotli. A compactação de fontes da Web WOFF2 era o foco principal de Brotli originalmente, mas desde então se expandiu para oferecer suporte à compactação de qualquer tipo de dados.
O Brotli compacta os dados melhor que o GZIP, mas requer consideravelmente mais tempo e recursos para compactar os dados. No entanto, seu tempo de descompressão é comparável ao do GZIP, embora ainda seja um pouco mais lento.

A maioria dos navegadores suporta o Brotli hoje, mas usá-lo em sites WordPress ainda é um pouco complicado. Você deve hospedar seu site com um provedor de hospedagem que suporte Brotli ou que permita instalar a biblioteca Brotli. A maioria dos hosts WordPress gerenciados ainda não o suportam totalmente, mas se você usar um CDN como Cloudflare ou KeyCDN, poderá habilitá-lo facilmente.
Brotli mostra uma grande promessa para ativos estáticos de compactação. A Akamai publicou um artigo detalhado comparando Brotli vs GZIP. You can check it out to learn more about Brotli.
Resumo
A well-optimized web is great for everyone. Users love snappier websites, website owners love the reduced hosting charges, and web hosts love the optimization achieved on their servers. Compression techniques like GZIP are one of the best ways to speed up page load times for your visitors.
WordPress site owners can speed up their sites instantly by enabling GZIP compression. Kinsta enables it by default on all its servers, but for others, this article covers multiple ways to enable GZIP compression on various web servers.
Speed is critical for any website. Just compress!