Otimizando o seu Joomla - Parte 2

web-optimizationAgora que já sabemos que devemos colocar o javascript no final da página, vamos aprender como servir o javascript pro browser comprimido.
Isso pode otimizar em até 70% o tempo de carregamento dos mesmos.

Pessoal isso é extramamente técnico, se você não tem se sente seguro pra fazer tais procedimentos, é melhor deixar do jeito que está, o seu site vai funcinar do mesmo jeito.

Existem diversas formas de resolver um mesmo problema, o que vou falar aqui, tomei como base o esse post.

Primeira coisa a fazer, baixar algum compressor de arquivos. Eu particularmente uso o 7-zip.

Comprimindo o arquivo .js

Se o arquivo se chamar mootools.js, após a compreensão ele vai se chamar mootools.js.gz e ambos devem ficar na mesma pasta.

Alterando o .htaccess

Insira a seguinte chamada no seu .htaccess

<FilesMatch "\\.js.gz$">
ForceType text/javascript
Header set Content-Encoding: gzip
</FilesMatch>
<FilesMatch "\\.js$">
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} !".*Safari.*"
RewriteCond %{HTTP:Accept-Encoding} gzip
RewriteCond %{REQUEST_FILENAME}.gz -f
RewriteRule (.*)\.js$ $1\.js.gz [L]
ForceType text/javascript
</FilesMatch>

Pronto feito, isso todos os arquivos .js que o browser for carregar ele primeiro vai procurar por .gz no final, caso ele não encontre ele utiliza o .js mesmo.

Aplicando a compressão no css

A mesma regra se aplica no css, comprima-o arquivo deixando-o com a extensão .gz

Adicione a regra no seu .htaccess

<FilesMatch "\style\.css\.gz$">
Header set X-Compression "gzip"
Header set Content-Encoding "gzip"
AddType text/css .gz
</FilesMatch>

<FilesMatch "\\.css$">
AddEncoding gzip .gz
RewriteCond %{HTTP:Accept-encoding} gzip
RewriteCond %{HTTP_USER_AGENT} !Safari
RewriteCond %{REQUEST_FILENAME}.gz -f
RewriteRule ^(.*)$ $1.gz [QSA,L]
</FilesMatch>

Pronto todos os css que browser encontrar, primeiro ele vai procurar o arquivo comprimido.

Considerações

Não esqueça de utilizar um compressor de css e javascript antes de comprimir o arquivo (que confuso né?)
Compressor de javascript: Dojo, Dean Packeer ou procure algum no google.
Compressor de CSS: CSSDrive, CleanCSS, CSS Compressor

Conclusão

Isso vai deixar seu site mais rápido do que um carro de fórmula 1??
Não MESMO!
Porém isso vai ajudar a deixá-lo cada vez mais rápido, quando você começa a perceber esses detalhes, significa que você se preocupa com o seu usuário.

Comentários
  • avatar

    Leo escreveu em 14/04/2010 às 09:55:44

    Fala Roni, Parabéns pelo tuto, são essas as diferenças de um profissional que gosta do que faz para um amador que só quer dinheiro. Estou gostando dos novos tutos "menos comuns", abraço.

  • avatar

    fititnt escreveu em 14/04/2010 às 10:59:22

    Muito bom o post. Certamente vou me lembrar que tem esse aqui quando quiser fazer algo 'no braço' direto via servidor. Eu algum tempo atrás já usei e testei vários compressoes, e, em geral quando não quero me encomodar muito, uso o CssJsCompress que faz esse serviço, porém via plugin Joomla. Além de fazer o indicado ele ainda junta os arquivos em um só, e tem certa compatibilidade de exclusão com javascripts que não aceitam serem comprimidos

  • avatar

    Wesley escreveu em 14/04/2010 às 13:35:08

    Roni, Parabéns cara! Acho que precisamos de mais posts técnicos mesmo. Acho que as épocas de ensiar o Ba-a-bá já foi. O ba-a-ba já tem no google. Vida longa ao seu Blog e sua carreira. Wesley

  • avatar

    Nadir escreveu em 14/04/2010 às 16:20:21

    Excelente post! Ainda mais agora que o Google vai utilizar rapidez de carregamento como fator de posicionamento dos sites. No final do projeto normalmente existem muitos arquivos, que se estiverem comprimidos, geram uma experiência de navegação melhor.

  • avatar

    gnumax escreveu em 15/04/2010 às 11:21:28

    Gostei da serie de post para melhorar a carga do site em Joomla!, mais acho que você esquecio da importância que tem a otimização das imagens da pagina inicial como fator de carga. Tem aplicações online como http://tools.dynamicdrive.com/imageoptimizer/ que ajudam a mudar a qualidade e o tamanho das mesmas para que seu site fique ainda mas rápido. Parabéns pelas dicas.

  • avatar

    Elio escreveu em 05/05/2010 às 10:02:36

    Show de bola. Parabéns!

  • avatar

    Vagner escreveu em 27/07/2011 às 09:54:47

    Da maneira como vc configurou, o arquivo css ou js é baixado compactado pelo browser e depois descompactado dentro dele para leitura?? ou como funciona esse processo?

Escrever Comentário



Para ter sua foto no comentário faça o seu cadastro no site Gravatar.