Otimizando wordpress com YSlow

{ October 10th, 2007 }


cmilfont

Autor: cmilfont

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).

sem otimizacao

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):

criar htaccess

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).

otimizado

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 :)

otimizacao final

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


Assine os coment√°rios deste artigo.


8 Responses to “Otimizando wordpress com YSlow”

  1. 1
    AskApache

    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!

  2. 2
    M√°rio Arag√£o

    Eita que o tradutor dele(aqui dirriba) t√° tinindo! (quero ver ele traduzir essa, rsss)

  3. 3
    cmilfont

    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.

  4. 4
    AskApache

    Whoah I guess I should have checked the PT -> EN translation before I posted! Ha!

  5. 5
    Rafael Carneiro

    O engraçado é que eu tenho o YSlow instalado mas nunca utilizei. :)

    Agora com essas explica√ß√Ķes irei realmente utiliz√°-lo.

  6. 6
    Daniel F. Martins

    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.

  7. 7
    Introdução ao Ext - CMilfont Tech

    [...] [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 [...]

  8. 8
    Diego Sinais

    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.

Leave a Reply