O WordPress é uma plataforma faminta por recursos, ele é capaz de derrubar até o mais sólido servidor se não estiver configurado de forma a utilizar CPU e memória de forma inteligente.
Nesse artigo vamos ver algumas dicas, fora do feijão com arroz habitual, que irão fazer sua instalação dar um salto em qualidade e velocidade.
Antes de começar, copie o código abaixo e cole no arquivo footer.php do seu tema, ele irá dizer quantas chamadas seu blog faz ao banco de dados quando uma página é carregada, e quantos segundos isso demora para acontecer.
<?php echo get_num_queries(); ?> queries. <?php timer_stop(1); ?>
O objetivo é baixar o numero de chamadas ao menor possível. Aqui no site a página inicial faz 9 chamadas (ou queries) ao banco de dados e as indivuais 14.
Alguns temas para WordPress são verdadeiros sumidouros de recursos, principalmente os que funcionam no estilo revista. Eles costumam utilizar um script chamado Timthumb, que gera as imagens de forma automática. Automática e destruidora, já vi vários desses temas que fazem mais de 100 chamadas ao banco de dados para gerar uma página.
Instale um tema mais leve ou livre-se de todos os widgets que geram imagens dessa forma, ao menos nas páginas indivuais, que costumam ser as mais visitadas.
A imensa maioria dos temas têm widgets habilitadas, que facilitam a vida, mas também consomem recursos. Adicione os códigos da barra lateral manualmente ao tema, dá um pouco de trabalho mas vale a pena.
Livre-se de todo e qualquer plugin que não seja essencial ao funcionamento do blog. Eu tenho 10 plugins instalados, sendo que 1 é o Akismet e 2 são de cachê.
Textos relacionados são interessantes, mas os plugins que os geram não. Utilize o Linkwithin, que gera apenas uma chamada ao banco de dados e olhe lá.
Um bom plugin de cachê é indispensável. Eu já testei vários e hoje em dia não abandono o WP Supercache por nada. O plugin atingiu um estágio de extrema estabilidade e raramente falha.
No entanto, é preciso configurá-lo de forma eficiente. Marque as opções de acordo com o print abaixo.
Você deve ter notado que a compressão de arquivos foi desabilitada. Ela aumenta a velocidade de carregamento do blog mas, ao contrário do que muitos pensam, aumenta o consumo de CPU ao invés de reduzi-lo, já que é uma tarefa a mais para o servidor na hora de gerar as páginas.
O WP Supercache é eficiente, mas como gera arquivos estáticos, esses precisam ser eliminados de tempos em tempos, para não sobrecarregar o servidor.
O problema é aquele momento, que acontece de tempos em tempos, em que o cachê fica vazio e o banco de dados é exigido ao extremo.
Para esses momentos, instale o DB Cache Reloaded, que faz cachê do banco de dados, evitando que o mesmo seja muito exigido nessas horas.
A versão disponível no repositório de plugins gera um bug em alguns servidores, utilize a versão do link abaixo, da qual eu já removi os arquivos problemáticos.
Configure o tempo de expiração do cachê para 1440 minutos, equivalente a 24 horas. Faça isso na madrugada, para que o esvaziamento coincida com o momento de menor tráfego no site.
O melhor sistema de comentários ainda é o nativo do WordPress. Eu pensava que sistemas como o Intense Debate ou Disqus economizavam recursos, mas estava errado. Testei ambos e qualquer um deles acrescenta no mínimo 10 chamadas ao banco de dados.
Sempre faça backup da base de dados antes de fazer qualquer alteração. Se você não sabe fazer um backup manual, siga essas dicas do Viamão Lotado.
As versões mais recentes do WordPress tem o recurso de salvar várias versões do mesmo artigo, inchando de forma impressionante o banco de dados.
1. Desative o recurso.
Acrescente o código abaixo ao seu arquivo wp-config.php:
define('WP_POST_REVISIONS', false);
2. Livre-se das revisões salvas.
Execute o código abaixo no seu banco de dados, peça à sua hospedagem que o faça se você não souber como lidar com isso.
DELETE FROM wp_posts WHERE post_type = "revision";
Muitos plugins deixam tabelas e mais tabelas no banco de dados quando são desabilitados. Esses dados não são utilizados mas ficam atrapalhando.
O plugin Clean Options gera uma relação de todas essas tabelas inúteis e dá a você a opção de removê-las seletivamente. Lembre-se de desinstalar o plugin após a utilização.
Hospede todas as imagens estáticas do blog em um servidor à parte. Por estáticas eu quero dizer aquelas imagens que aparecem em todas as páginas do blog, como logos, banners e afins.
Use um servidor confiável que permita hotlink. Uma alternativa gratuita é criar um blog no Blogger, desabilitar a indexação do mesmo pelos sites de busca e utilizá-lo para hospedar essas imagens.
Se você quiser ser mais radical ainda, verifique nas estatísticas quais são suas páginas mais visitadas e faça o mesmo com as imagens que aparecem nelas. Por mais visitadas eu quero dizer com mais de 50 pageviews por dia.
Cada vez que algum recurso é chamado com tags em php, seu banco de dados e exigido. Sempre que possível, substitua as chamadas por html.
O css de um tema geralmente é chamado da forma mostrada a seguir…
<link rel="stylesheet" href="<?php bloginfo('stylesheet_url'); ?>" type="text/css" media="screen" />
… que pode ser substituido por…
<link rel="stylesheet" href="http://seublog.com/wp-content/themes/tema/style.css" type="text/css" media="screen" />
Para saber o caminho correto em seu tema, basta observar o código fonte de uma página aberta no navegador.
Várias outras chamadas podem ser feitas dessa forma, a mostrada acima foi apenas um entre vários exemplos.
Para saber o que pode ou não ser utilizado dessa forma, utilize como regra o fato de que tudo que não muda pode ser gerado de forma estática. Isso quer dizer que você não pode substituir as tags de título, geração de conteúdo etc.
Se você gosta de radicalizar, não utilize chamadas do tipo <?php get_header(); ?>, <?php get_sidebar(); ?> ou <?php get_footer(); ?> nas páginas mais visitadas, geralmente as indivuais e a principal, geradas pelos arquivos single.php e index.php, respectivamente. Ao invés disso, substitua os códigos pelo conteúdo dos respectivos arquivos.
E você, tem alguma dica interessante?
--~--~---------~--~----~------------~-------~--~----~
Você recebeu esta mensagem por estar inscrito na lista de debates "WordPress Brasil" através do sistema Google Groups.
Para enviar uma mensagem: wordpres...@googlegroups.com
Para cancelar sua inscrição: wordpress-bras...@googlegroups.com
Para visitar o grupo: http://groups.google.com.br/group/wordpress-brasil?hl=pt-BR
Temas: http://wordpress.org/extend/themes/
Plugins: http://wordpress.org/extend/plugins/
Projeto WordPress: http://br.wordpress.org/
-~----------~----~----~----~------~----~------~--~---
--
Você recebeu esta mensagem por estar inscrito na lista de debates "WordPress Brasil" através do sistema Google Groups.
Para enviar uma mensagem: wordpres...@googlegroups.com
Para cancelar sua inscrição: wordpress-bras...@googlegroups.com
Para visitar o grupo: http://groups.google.com.br/group/wordpress-brasil?hl=pt-BR
Temas: http://wordpress.org/extend/themes/
Plugins: http://wordpress.org/extend/plugins/
Projeto WordPress: http://br.wordpress.org/