Deixar o WordPress mais rápido em sites ou blogs em WordPress com algumas centenas (ou milhares) de posts, um bocado de plugins, comentários e tráfego razoável, se torna uma tarefa essencial para a saúde do seu site. E você certamente já percebeu que a nossa querida plataforma nem sempre é a coisa mais rápida do mundo…

A boa notícia é que apenas algumas otimizações já podem fazer uma enorme diferença, sobretudo se você nunca se dedicou à tarefa de deixar o WordPress mais rápido antes. E, mesmo que você já tenha bom hábito de manter seu WordPress em bom funcionamento, pense que o que é bom pode ficar ainda melhor – e um site mais rápido beneficia você, seus visitantes e a Internet de modo geral.

Este é um guia das melhores práticas de otimização voltadas para desempenho que reuni ao longo de muitos anos de trabalho com a plataforma. A ideia é mantê-lo sempre atualizado – então se você tiver alguma sugestão (ou mesmo uma pergunta), deixe um comentário e participe da discussão!

9 Passos para deixar o WordPress mais rápido

0. Acompanhe as mudanças de desempenho

Antes de começar a fazer mudanças, acesse a ferramenta BlogLite Speed Test, digite o endereço do seu site e faça uma análise de velocidade. A ferramenta usa o Google PageSpeed Insights para avaliar o desempenho do seu site e o resultado é uma nota de 0 a 100 para ‘Mobile’ e ‘Desktop’. Quanto mais próximo de 100, melhor.

> Clique aqui para testar sua velocidade <

Anote o resultado. Agora acesse o teste de velocidade do Pingdom e faça a mesma coisa. Essas duas ferramentas analisam critérios diferentes de desempenho, como tempo de carregamento, otimização no código, etc. É importante ter esses dados prévios antes de prosseguir para poder visualizar exatamente quanto desempenho seu site ganhou.

Feito? Então agora…

1. Faça um backup

Nem comece a fazer alterações importantes sem antes ter feito um bom backup do seu site! É verdade que a maioria das dicas aqui é pouco “invasiva”, mas fazer backup é boa prática básica, e inclusive já falamos disso antes (e de como não adotar esse hábito é um enorme erro!). Então faça um backup usando o painel da sua hospedagem ou um plugin como o BackWPup.

Dito isso…

2. O papel da hospedagem de sites

Faça uma análise rápida: sua hospedagem está ajudando ou atrapalhando o crescimento do seu site? Lembre-se de diferenciar bem a qualidade do serviço da categoria de serviço em que seu site se encaixa. Se o seu site em WordPress recebe dezenas de milhares de visitas por dia, não espere que uma hospedagem compartilhada de R$1,99/mês vá suportar a demanda.

Mas, por outro lado, se o seu site não recebe nenhum absurdo de visitas e ainda assim lento, pode existir um problema com a qualidade do serviço de hospedagem. Tenha isso em mente ao aplicar as técnicas a seguir, para que, ao final, você decida se está na hora de mudar a hospedagem do seu WordPress.

3. É hora da faxina geral!

Não adianta muito você se preocupar com os passos seguintes (e mesmo com a mudança de hospedagem) sem antes fazer uma BOA limpeza na sua instalação WordPress. Nem um servidor dedicado topo de linha resolve o problema de lentidão se o seu WP estiver em mal estado de conservação – e é por isso que vale a pena:

– Desativar e APAGAR plugins desnecessários

Faça uma boa revisão nos plugins ativados e pense seriamente em desativar aqueles que não são absolutamente necessários. Pode ser que você tenha esquecido um plugin de manutenção ativado (mesmo que configurado para deixar seu site público), ou que aquele plugin que simula neve já não seja tão interessante assim. A grande verdade é que cada plugin ativado na sua instalação tem um impacto no desempenho geral do site, pois em muitos casos o código deles é carregado em cada página do site, mesmo que o plugin não tenha uma função ali.

Então faça essa revisão, desative e APAGUE plugins desnecessários. Mesmo que inativos, alguns plugins podem representar brechas importantes de segurança. Não está usando, apague. Sempre dá para reinstalar de novo se preciso.

– Veja quais plugins impactam mais no tempo de carregamento do site

Bom, agora que restam apenas os plugins necessários para o funcionamento do site, é hora de saber se algum deles está roubando a cena e pedindo mais atenção ao servidor do que deveria. Sim, isso acontece! Plugins mal codificados ou mal configurados não são raridade.

E como saber? Instale o P3 (Plugin Performance Profiler) e ative-o. Uma nova opção aparecerá no menu Ferramentas (P3 Plugin Profiler). Na página do plugin, clique em ‘Start scan’, e depois em ‘Auto scan’. Aguarde o processo, que pode levar vários minutos. Nos resultados, você poderá ver exatamente quais plugins roubam mais tempo de carregamento, e até o tempo levado para carregar o tema, core do WordPress, etc. Para quem precisa de dados mais avançados, o plugin mostra também quanta memória foi utilizada, quantas queries do banco de dados, etc. Não se surpreenda se o impacto dos plugins no carregamento for grande, isso é de certo modo normal. Mas se um plugin se destacar demais, procure desativá-lo, se possível, ou substituí-lo por outro de mesma função.

– Faça uma limpeza de revisões de posts e otimize o banco de dados

A cada vez que você cria e atualiza novos posts e páginas, o WordPress guarda uma versão – chamada de ‘revisão’ – que pode ser restaurada em caso de desastre. Um recurso absolutamente genial e avançado, mas que tem um probleminha: as revisões antigas não são apagadas automaticamente. O conteúdo textual de posts e páginas é armazenado no banco de dados, e, portanto, o acúmulo de revisões desnecessárias pode resultar em um banco de dados inflado e ineficiente – e acredite, bancos de dados grandes ficam vagaroooooosos e têm um impacto relevante no tempo de carregamento do site.

A boa notícia é que há um plugin muito eficiente que apaga revisões antigas, além de conteúdo da lixeira, comentários de SPAM e outras coisinhas dispensáveis. E, feito isso, otimiza as tabelas do banco de dados para deixar tudo em ordem. O Optimize Database after Deleting Revisions é o responsável pela mágica e, tal como os demais plugins indicados nesta página, nós usamos e aprovamos.

Claro, claro: se você seguiu o conselho de fazer backup antes de começar as otimizações, não há com que se preocupar. Apesar de muito seguro, o plugin põe as mãos diretamente no banco de dados, e com isso não se brinca. Faça um bom backup antes de proceder!

4. Reveja o uso de serviços de terceiros

Seu site provavelmente usa vários serviços que dependem de terceiros: Google Analytics, botões de curtir do Facebook e +1 do Google, Twitter, etc. O problema é que muitos destes serviços não usam carregamento assíncrono, o que faz com que o carregamento geral do seu WordPress dependa também do carregamento de scripts externos. Por experiência própria, colocar botões de compartilhamento social pode ter um impacto de 1 a 2 segundos (!) no carregamento do site, e, como isso depende de servidores alheios, não há muito o que fazer…

… não havia muito o que fazer. O plugin Lazy Social Buttons veio para resolver de vez o problema. A estratégia é muito inteligente: o plugin exibe botões ‘falsos’ de compartilhamento, e, quando um leitor posiciona o mouse sobre eles, só então carrega os botões reais (economizando cerca de 300Kb de dados ao carregar a página pela primeira vez, segundo os autores). Apesar de usar uma estratégia sofisticada, a instalação e configuração do plugin é muito simples. Vale a pena implementar!

É importante ressaltar que serviços de estatísticas de acesso e analytics, como o Google Analytics, usam javascript assíncrono há bastante tempo, e portanto sua presenção não tem impacto relevante no tempo de espera do visitante.

5. Muita beleza, pouca eficiência?

Com a oferta virtualmente interminável de temas no WordPress, não tenho dúvidas de que você dedicou algum tempo para escolher o visual perfeito para o seu site ou blog. Mas já parou pra pensar que isso também tem um impacto no desempenho?

O problema é que há temas muito mal codificados (alguns até com malware), arrastando sua instalação para um oceano de ineficiência e desgastando a hospedagem mais do que o necessário. Se você fez um diagnóstico usando o plugin P3 (vide item 3), deve ter visto o item ‘theme’ no gráfico de desempenho. Se ele estiver ocupando uma fatia grande do gráfico, é hora de pensar seriamente em trocar de tema.

Duvida do impacto que isso pode ter? Se o seu WordPress anda meio vagaroso, experimente mudar o tema para o padrão ‘Twenty Fourteen’ (de preferência em um horário de menos tráfego). Acesse o site de uma aba privativa (ou após fazer logoff) e veja se há alguma diferença notável no tempo de carregamento. Esses são indícios de que o tema pode estar atrapalhando o desempenho do site, por mais bonito que seja…

Opte por fornecedores de qualidade quando for escolher um tema. Há centenas deles, que oferecem temas gratuitos e pagos. Os pagos geralmente têm mais qualidade, e ainda assim é preciso garimpar um pouco. Os temas da ElegantThemes são sempre bonitos, funcionais e bem codificados. O mesmo vale para as inúmeras opções disponíveis no ThemeForest, que é um marketplace que permite que desenvolvedores vendam seus próprios temas. As políticas do site são exigentes quanto à qualidade do código.

6. Instale um plugin de caching

As alterações até agora já devem ter dado um fôlego novo para o seu site… mas vamos seguir ao próximo nível, que é fazer com que seu WordPress exiba páginas estáticas aos visitantes.

Por que? Bom, se você não está familiarizado com o funcionamento da plataforma: o WordPress é programado em PHP, uma linguagem de programação que “roda” no servidor. Além disso, todos os dados do site são armazenados em um banco de dados, também processado no servidor.

A cada vez que um visitante acessa seu site ou blog, uma requisição é feita ao servidor, que busca os dados no banco de dados, e, com as instruções do código PHP, gera uma página que é enviada ao navegador de quem visita. Isso acontece toda vez que alguém visita uma página do seu site. O problema é que, com um número crescente de visitantes, esse processo se torna muito ineficiente e acaba demandando bastante do servidor. Resultado? O servidor acaba ocupado por tempo demais para cada visitante, e o carregamento das páginas torna-se lento.

E se fosse possível, ao invés de consultar o banco de dados e gerar cada página para cada visitante, fazer esse procedimento uma só vez e salvar o resultado como conteúdo estático (HTML) para ser exibido para todos os visitantes, não importa quantos acessem ao mesmo tempo? Isso pouparia bastante o servidor, certo?

Pois isso é possível com o uso de plugins especializados. Esses plugins fazem o trabalho de gerar versões estáticas de todas as páginas e posts do seu WP, armazenando-os e exibindo-os para quem visita. O impacto disso no desempenho é imenso e, se você nunca usou um plugin assim antes, vai ver seu site praticamente renascer.

Um dos plugins mais conhecidos e confiáveis para tal tarefa é o W3 Total Cache. Instale-o e ative-o.

Após ativar, você verá um novo menu – Performance. Clique no submenu ‘General Settings’. Há muitas formas de configurar e otimizar o W3, mas vamos cobrir o básico que já funciona muito bem: simplesmente marque como ‘Enabled’ as seguintes opções:

  • Page cache
  • Minify
  • Database cache
  • Object cache
  • Browser cache

Clique em ‘Save all settings’, e em seguida acesse seu site a partir de uma aba privativa ou após fazer logoff (o plugin por padrão não serve a versão estática para o usuário logado).

Navegue um pouco pelo site, e volte à página inicial.

BOOOM.

Sentiu a diferença? Aposto que sim. Se você nunca usou um plugin de cache no WordPress antes, vai conhecer um novo mundo de desempenho. As ações até aqui já foram suficientes para dar um novo fôlego ao seu site, e estou certo de que você já notará diferenças grandes quando refizer os testes do item zero deste guia.

7. Seu site tem muitas fotos e conteúdo de mídia? Use uma CDN.

CDN é a sigla para Rede de Distribuição de Conteúdo (Content Delivery Network). Trata-se de um serviço sofisticado que permite que o conteúdo de mídia do seu site seja servido a partir de uma rede de servidores distribuídos pelo mundo, de tal modo que o visitante recebe os dados do servidor mais próximo geograficamente. Isso desafoga o servidor em que o site está hospedado, e, pela proximidade do servidor de mídia do usuário, faz com que o carregamento geral do site seja mais rápido.

Há muitos serviços de CDN no mercado destinados a sites pequenos e médios (considere que há alguns anos esse tipo de serviço só estava disponível para sites de grande porte, porque era muito caro), e os preços têm caído com o tempo. Mas há uma opção bacana de CDN que é grátis e voltada 100% para o WordPress. Trata-se do Photon, disponível para usuários do plugin Jetpack. O Jetpack é desenvolvido pela Automattic, empresa responsável por coordenar o desenvolvimento do WordPress. Basta ativar o Jetpack, conectá-lo a uma conta gratuita do WordPress.com e você terá acesso a uma ampla gama de novos recursos em sua instalação – o que inclui o Photon. Ative-o e beneficie-se instantaneamente da rede de distribuição do WordPress.com, sem nenhum custo.

Usar uma CDN pode melhorar bastante a experiência de seus visitantes, sobretudo os que acessam a partir de conexões mais lentas. Com o tempo, você pode optar por um serviço mais completo de CDN, que inclusive pode ser configurado facilmente no plugin W3 de que falei no item anterior.

Além disso, sempre comprime adequadamente suas imagens antes de fazer upload. Limite também as dimensões das imagens – pense que deve ser apropriado para a web, então nada de subir aquela foto de 500 megapixels que você tirou com uma câmera profissional – redimensione, comprima e facilite a vida de quem acessa o seu site (sobretudo quando a pessoa acessa de um celular usando a rede de dados).

8. Indo mais fundo: hora de fazer uma faxina no banco de dados

Se mesmo depois de seguir os passos acima o seu site continua lento, talvez seja um bom momento para fazer uma limpeza mais profunda nele. Neste passo, certifique-se de ter realmente feito um backup -como eu insistentemente sugeri no passo 1  8-)

Isso porque as sugestões deste passo alteram o banco de dados diretamente. Se algo der errado, você pode recuperar tudo facilmente.

Instale e ative o plugin WP-Sweep. As configurações dele ficarão em Ferramentas > Sweep.

Em uma tacada só, esse plugin é capaz de fazer uma limpeza automatizada de dados desnecessários que estão entupindo seu banco de dados e potencialmente afetando o desempenho do site. Alguns dos itens que entram na faxina pesada são:

  • Revisões de posts e páginas (o WordPress acaba armazenando muitas versões da mesma página/post com o tempo, algo completamente desnecessário para a maioria das pessoas)
  • Comentários já apagados
  • Comentários rejeitados e marcados como spam
  • Entradas órfãs no banco de dados
  • Entradas duplicadas no banco de dados
  • Transientes armazenados na tabela options do WordPress. Apenas como curiosidade, já fui surpreendido com uma instalação do WP que tinha mais de 1 milhão de transientes armazenados na tabela options. Não é surpresa nenhuma que, após a limpeza, o site ganhou vida novamente. Muita vida. A propósito, transientes são, num modo bem simplificado de dizer, como um cache de operações complexas do banco de dados. Eles podem ser apagados sem problemas porque o WordPress ou plugins recriam isso sob demanda.

Como bônus, o WP-Sweep otimiza as tabelas do banco de dados. A única coisa a notar é que esse processo todo de limpeza consome muitos recursos de processamento e deve ser feito em um horário de menor tráfego no site. Caso contrário, seus visitantes vão se deparar com um site AINDA mais lento enquanto você tenta colocar a casa em ordem. Nada legal.

9. Combinar, comprimir, jogar para os cantos

Pensa que terminou? Ainda tem o que otimizar nesse guerreiro que o seu site em WordPress.

Uma tática avançada é a de combinar e comprimir (ou “minificar”) os scripts que são carregados pelo seu tema e plugins ativos. Na maioria dos casos, arquivos JavaScript e CSS.

Ao consolidar vários arquivos em um só e usar técnicas de compressão, o navegador do visitante fará menos conexões ao servidor e será capaz de baixar o conteúdo de modo mais eficiente. Outra boa prática é fazer com que todos os CSS sejam carregados no cabeçalho do site, e os JS no rodapé, sempre que possível.

Esse processo todo pode ser feito por plugins (o W3 Total Cache, de que falei acima, tem uma função básica para isso), embora os melhores resultados só possam ser alcançados manualmente, com muito teste. Tenha em mente que consolidar e reposicionar scripts pode “quebrar” temas e plugins, a depender de como funcionam. Essa é uma estratégia que é mais avançada e exige muita tentativa e erro até chegar ao equilíbrio.

 

Otimização para desempenho: um processo…

Gostaria de terminar dizendo que ações de otimização são um hábito, e não uma ação única no tempo. Uma instalação WordPress bem gerenciada vai sempre se beneficiar de algumas ou todas as dicas acima, e muitas delas (como a limpeza de plugins e revisões de posts) podem ser feitas com alguma frequência para manter tudo sempre em ordem e com o melhor funcionamento possível.

A boa notícia é que o WordPress está ficando melhor a cada versão, e com isso há boas expectativas de que a questão de otimização para desempenho seja uma preocupação constante dos desenvolvedores. Isso, aliado às boas práticas de quem administra os sites, resulta em uma instalação saudável e sempre rápida para os visitantes – que, a propósito, são os juízes absolutos dos nossos esforços.

Se você hospeda seu WordPress na BlogLite, então não há com que se preocupar: todas as boas-práticas acima (e muitas outras, de nível altamente técnico e que não caberiam neste artigo) já estão implementadas.

O que você achou deste guia? Já implementou alguma das dicas? Tem alguma sugestão que testou e aprovou? Participe da discussão nos comentários!