O plugin do Yahoo! para o Firefox, YSlow, que se integra ao Firebug, avalia a performance dos sites com base nas regras de performance do Yahoo! Developer Network.
Essa regras são dicas valiosas para melhorar o arquivamento que os browsers fazem (cache) e transferência de dados em geral. Geralmente quando instalamos o WordPress, nos preocupamos apenas com extensões como o wp-cache, mas otimização como compressão (gzip) passa despercebido.
Quando iniciei o processo de melhorar a performance da minha página inicial com base nos dados fornecidos pelo YSlow, observe na imagem abaixo que fiquei com uma nota baixÃssima, D(68).

Eu sabia que manipular o HTTP com “Expire Header”, “Gzip”, entre outras coisas, no meu servidor, somente por meio do .htaccess. Pesquisando na web como configurar esse arquivo apropriadamente, descobri esse site Askapache.com, com artigos resolvendo esses requisitos e com códigos prontos.
Apliquei esse conjunto de instruções no arquivo .htaccess (caso ele não exista, crie um com esse nome):

Header unset ETag FileETag None <filesmatch> SetOutputFilter DEFLATE </filesmatch> # 480 weeks <filesmatch> Header set Cache-Control "max-age=290304000, public" </filesmatch> # 2 DAYS <filesmatch> Header set Cache-Control "max-age=172800, public, must-revalidate" </filesmatch> # 2 HOURS <filesmatch> Header set Cache-Control "max-age=7200, must-revalidate" </filesmatch> <filesmatch> Header set Cache-Control "public" Header set Expires "Thu, 15 Apr 2010 20:00:00 GMT" </filesmatch> |
Logo após tirei mais um screenshot e minha nota melhorou muito, quase perfeito, agora tinha um B(89).

Por fim, para resolver o problema do CDN, eu segui o próprio faq do YSlow para camuflar esse requisito, não acho necessário (no meu caso) a utilização de um Content Delivery Network. Quem sabe se eu me tornar um problogger, maybe

Minha nota agora acompanha o próprio Yahoo!, existe um selinho de alta performance? No fim das contas o que vale mesmo é em quanto tempo seu site vai abrir lá no seu leitor, essas dicas não substituem um layout enxuto e bem montado.
Categories: Melhores práticas, Otimização, Web Development ~ ~ Trackback
October 10th, 2007 at 3:53 am
Eu estou contente você estou pondo no esforço do th! Boa vinda ao clube de 1%!
Você deve ter extremamente cuidado removendo o ETag. Somente assim se você for certo que você está emitindo um encabeçamento do Last modified. Com HTML um dos 2 tem que ser emitido.
Certificar-se também que você começa usar o WP-Esconderijo plugin, que lhe mostrará um impulso imediato.
Verificação para fora meus artigos avançados em http://www.askapache.com/htaccess/apache-speed-cache-control.html/ depois que você instala o wp-esconderijo, se você quiser ir mesmo mais rapidamente!
October 10th, 2007 at 4:33 am
Eita que o tradutor dele(aqui dirriba) tá tinindo! (quero ver ele traduzir essa, rsss)
October 10th, 2007 at 4:43 am
hahahahahahaha, deixa o cara, achei surpreendente.
Muita consideração dele responder a um estrangeiro ainda mais se preocupando em responder na lÃngua desse estrangeiro.
October 10th, 2007 at 6:11 am
Whoah I guess I should have checked the PT -> EN translation before I posted! Ha!
October 10th, 2007 at 4:37 pm
O engraçado é que eu tenho o YSlow instalado mas nunca utilizei.
Agora com essas explicações irei realmente utilizá-lo.
October 25th, 2007 at 4:41 pm
Muito bom esse post… o meu site também tava com performance D, mas depois de seguir as suas orientações eu consegui baixar para B! =)
Valeu pelas dicas.
June 29th, 2009 at 6:38 am
[...] [marcando a opção "Make build available via CacheFly" ] no CacheFly como um servidor CDN para otimizar o tráfego de sua aplicação principalmente se ela será disponibilizada na internet e não apenas na [...]
May 17th, 2013 at 1:59 pm
Cara, achei excelente o artigo, parabéns. Entretanto, coloquei seu código no meu .htaccess e ele não funciona, dá erro de servidor. Será que é porque estou colando no lugar errado dentro do meu código? Sou leigo neste assunto e preciso otimizar o meu blog do wordpress, poderia me ajudar?
Segue o meu .htaccess atual:
# BEGIN WordPress
RewriteEngine On
RewriteBase /site/
RewriteRule ^index\.php$ – [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /site/index.php [L]
# END WordPress
Como ele deveria ficar com o código acima?
Obrigado e desculpe a amolação.