WordPress de alta performance: o guia definitivo
Passo a Passo Genérico para otimizar o WordPress
1. Exercite o desapego: faz bem pra alma e te faz crescer
Muitos webmasters são apegados aos plugins que instalam em seus blogs. Outros têm por passatempo, em vez de escreverem mais e melhores posts, ficarem catando e experimentando plugins “engraçadinhos” de utilidade duvidosa em seus blogs. Não sei se é por acaso, mas são estes também os que menos entendem de programação, logo nem dão uma vista d’olhos no código do plugin que vão instalar e acabam se “contaminando” com plugins maliciosos ou mal escritos.
A regra geral é: se um plugin não for essencial para o funcionamento do blog, não o instale. Nem é questão de não ativar o plugin, é não instalar mesmo.
Especial atenção deve ser dada (no sentido de livrar-se deles primeiro) aos plugins de contagem de qualquer coisa, de estrelinhas em posts, de estatística, etc. Aprenda a usar o Analytics para estatísticas e seja feliz. Da mesma forma, plugins que enviam e-mails devem ser considerados potencialmente perigosos, tanto quanto maior for o movimento de seu blog.
Lembro de um cliente que havia instalado um plugin que envia um e-mail de agradecimento para cada comentário recebido. Esse tipo de plugin é duplamente pernicioso, pois além de enviar e-mails não solicitados para as pessoas (mesmo em pequena escala, isso é spam) ele criava uma sobrecarga no sistema de e-mail do servidor, e no servidor de páginas, que tinha de ficar esperando longamente até que um determinado e-mail fosse entregue, antes de poder prosseguir na execução do script.
Então, só para reforçar: todo plugin que não for essencial deve ser cortado imediatamente.
2. Beleza não é tudo: bom comportamento também é fundamental
Em se tratando de temas WordPress, a variedade de opções à escolha do infeliz blogueiro indeciso ajuda a criar um outro vício, que é o de ficar trocando de tema no blog mais do que se trocam as cuecas (porque mesmo que você tire suas cuecas para lavar todos os dias, dificilmente você ficará comprando cuecas novas diariamente só pra ver como ficam em você).
É fato que um tema para o blog deve retratar aquilo que o dono deseja, deve ser bonito aos seus olhos (e se possível ao dos visitantes também), mas também tem que ser bem escrito, não deve ter links ocultos (já vi sites serem arruinados por conterem links ocultos para locais de pornografia, disseminação de vírus e trojans ou sites de jogos de azar). Há alguns que safadamente fazem uma chamada HTTP (o que se chama de “call out”) para o servidor do autor do tema, para avisar que sua criação está em uso no domínio tal. A cada página visualizada. Imagine a sobrecarga no servidor para ficar fazendo esse tipo de asneira.
Mais comum do que tudo isso é a utilização de um script chamado TimThumb, capaz de redimensionar e recortar imagens em tempo real, livrando o blogueiro atarefado da tarefa de editar suas imagens uma por uma para fazê-las caber em cada espacinho do layout. É o que se define pelo adágio “por fora bela viola, por dentro pão bolorento”. Ou seja, aparentemente uma maravilha, mas na prática a ideia é péssima e mal executada.
O principal problema do TimThumb é que embora ele tenha um cache de imagens já geradas, cada vez que uma requisição for feita a ele todo o mecanismo de interpretador de PHP será instanciado novamente, a despeito de qualquer plugin de cache. E o processamento de imagens é algo dispendioso do ponto de vista do uso de processador, o que acaba tornando-se um imenso problema à medida que a visitação de um site aumenta.
Assim, acima de tudo o tema do WordPress deve ser bem analisado antes de ser posto em produção, porque pode causar excessos de processamento inimagináveis.
3. Ninguém merece carregar um piano nas costas sozinho
O WordPress é um aplicativo que faz uso intenso de banco de dados. Se houver (há sim, acalme-se) um meio de reduzir o volume de consultas ao MySQL o resultado disso será mais agilidade no carregamento das páginas e menos carga no servidor.
Assim, para que o MySQL não tenha de carregar toda a responsabilidade de estar disponível para o WordPress o tempo inteiro (ele pode ter dor de cabeça um dia desses, ou chegar muito cansado do trabalho, é um direito dele) “os caras” criaram um plugin de cache de banco de dados, o DB Cache Reloaded (instale-o pela Dashboard, é muito mais fácil).
O que esse plugin faz é simples: ele intercepta cada consulta feita ao MySQL. Se a consulta tiver sido feita recentemente é muito provável que o resultado retornado pelo banco ainda seja o mesmo. Logo, se o resultado da consulta estiver armazenado no cache e ainda válido, em vez de ativar o MySQL, fazer a consulta, esperar o resultado e fechar a conexão o plugin apenas entrega diretamente o valor salvo no cache. Caso a consulta seja inédita, o plugin faz o protocolo inteiro junto ao MySQL e salva o resultado da consulta para referências futuras.
Para entender a utilidade deste plugin basta pensar que os widgets das barras laterais não mudam quase nunca, e para cada um será necessária uma consulta ao banco de dados. Os posts relacionados — para quem usa um plugin do tipo — também não mudam entre uma visualização de página e outra. E mesmo com o uso do WP Super Cache (já chegaremos nele) ele faz muita diferença, pois no momento da criação do cache costuma acontecer uma leve sobrecarga de processamento — que pode nem ser tão leve assim. Logo, o cache do banco de dados vai ajudar a aliviar essa sobrecarga, e agilizar a população do cache de páginas, o que em última instância implica um WordPress mais rápido e disponível.
4. Seja ecológico, economize energia
Qualquer um com um pingo de bom senso sabe o quão pernicioso é o retrabalho: consome tempo, energia, desgasta emocionalmente os seres humanos (embora às vezes o WordPress pareça assustadoramente temperamental para um programa de computador). Todo e qualquer esforço para evitar retrabalho sempre será muito bem visto.
É esta a função do plugin de cache de páginas, que no caso específico recomendo o WP Super Cache. Siga a orientação do tutorial do Criar Sites (que é o site do Celso Lemes — o link está no primeiro parágrafo), inclusive executando o Update ModRewrite Rules, que é quem vai garantir que as páginas em cache sejam carregadas sem necessidade de instanciar todo o WordPress na memória do webserver.
Alguns servidores ativam a porcaria do SAFE MODE no PHP, o que torna impossível de utilizar o WP Super Cache. Se você tiver a desgraça de estar numa hospedagem fuleira dessas, caia fora o quanto antes!
5. Todo mundo mente de vez em quando, mesmo que não tenha a intenção
Lembra quando eu disse que eram quatro passos para otimizar o WordPress? Eu menti. São cinco. Só que este é tão óbvio que pensei duas vezes se deveria incluí-lo.
Quando inserimos propagandas em nossos sites é normal que o façamos por meio de tags em JavaScript que “puxam” o anúncio do site do anunciante, ou de nosso adserver. Beleza. Só que muitas vezes são justamente estes anúncios externos que travam o carregamento de uma página, além de qualquer dificuldade que o servidor possa estar tendo.
É claro, também, que nenhum anunciante vai querer oferecer um serviço de má qualidade aos seus parceiros, porque isso implicaria em gastar dinheiro (para manter a estrutura funcionando) sem obter retorno (que seriam os cliques e compras de nossos visitantes). Mas isso não é garantia de qualidade total, e eventualmente os banners podem acabar demorando demais a aparecer, e até mesmo interrompendo o carregamento da página a partir de um determinado ponto. Todo mundo já viu isso acontecer, então vale apenas o aviso de que mesmo fazendo tudo certo é necessário ficar esperto para não ser pego por imprevistos desta natureza.

Muito obrigado por citar meu artigo.
Agradeço imensamente por todas as dicas em relação a otimização que você vem me passando. Realmente elas fazem toda a diferença em sites com muita visitação. Dá para economizar um bom bocado.
Aproveito para recomendar a todos, os VPSs oferecidos na Porto Fácil. Já passei por diversas empresas de hospedagens e nenhuma delas chegou aos pés do serviço prestado pelo Janio. Nota 10!
Abraço!
Obrigado eu por você escrever artigos tão bons, e obrigado pela recomendação!
Vou colocar em prática o exercício de me desapegar de certos plugins, principalmente os de estatísticas.
A duvida é se há algum dano a velocidade e funcionamento do blog, já que, pelo que me parece, alguns criam entradas, registros e sei la mais o que no banco de dados e etc…
Abraços!
Enfim, não tem como garantir por nenhum deles, mas com certeza nenhum rastro vai fazer mais danos do que um plugin de estatísticas ativo num blog.