Como resolver problemas de um site lento em WordPress

Guia completo e definitivo de como identificar e resolver todas as possíveis causas referentes a um site lento usando WordPress.

Este post foi atualizado pela última vez há mais de 3 meses.

Ter um site rápido sempre foi muito importante e recomendado para qualquer negócio online. Mas com o enrijecimento do Google relacionado à classificação de páginas para a SERP (Página de Resultados dos Mecanismos de Pesquisa), somado ao aumento da concorrência, além do nível de exigência cada vez mais alto dos visitantes, ter um site lento é algo completamente inaceitável.

Resolvendo problemas de site lento no WordPress

O que é um site rápido ou um site lento?

Talvez a resposta mais honesta para esta pergunta seja algo como “nenhum site é rápido o suficiente“. Principalmente em função das expectativas tanto dos donos e webmasters de sites e blogs, tanto dos visitantes.

Contudo, é praxe arbitrar-se que uma página é considerada lenta se esta tem tempo de carregamento acima de dois segundos. Então, com base nessas informações, um site rápido é aquele cujas páginas carreguem totalmente abaixo desse tempo.

É importante salientar: a página deve carregar totalmente em menos de dois segundos e isso inclui anúncios, imagens e quaisquer penduricalhos extras, sejam eles necessários, ou não.

Há quem arbitre tempos ainda abaixo de dois segundos para separar os sites rápidos dos sites lentos, mas pela nossa experiência, não é necessário ser tão radical. Até porque é bastante difícil obter números assim tão baixos em termos práticos, principalmente quando é impossível abrir mão dos anúncios e dos scripts externos.

Backend e Frontend

Todo aplicativo na Internet tem dois “lados”, um que roda no servidor, o backend e outro que roda no dispositivo de navegação do visitante, o frontend.

Para os visitante dos nossos sites, incluindo o bot (que também é um tipo de visitante), o que importa é a velocidade do frontend que, na prática, é o resultado dos processamentos que são efetuados no backend.

De maneira resumida, requisições são feitas ao backend que, por sua vez, as processa e devolve os dados que são utilizados ou exibidos no frontend. Contudo, devemos lembrar que se o backend não entregar sua parte do trabalho rápido o suficiente, o frontend também vai apresentar lentidão e gargalos.

Em se tratando de WordPress, o backend é composto do servidor em si, com o Sistema Operacional e os serviços necessários ao funcionamento de um site, bem como o código do WordPress propriamente dito, seus plugins e templates ativos.

Já o frontend é composto do código HTML, CSS, JavaScript, imagens e demais objetos. Todos eles são entregues ao visitante para que a página possa ser “montada” corretamente. Desta forma, todo código que não seja executado diretamente no servidor também faz parte do front.

Lentidão no backend: causas mais comuns

As causas mais comuns de lentidão no backend são:

  • Servidor com hardware insuficiente para atender à demanda do site;
  • Código mal escrito, ocasionando demandas absurdas com relação à real necessidade do site;
  • Código que depende de resultados externos: se o site externo cai ele derruba consigo todos os que dependem de seus serviços.

Quando o servidor está subdimensionado para a demanda não tem muito jeito e a única solução é fazer um upgrade e contratar um servidor melhor. Porém, apenas uma pequena parcela dos casos de lentidão no back são causadas por hardware menor que o necessário.

Bem mais comuns são os casos de códigos que dependem do resultado de algum processamento externo. Os exemplos mais rotineiros são (1) plugins otimizadores de imagens, que na PortoFácil são totalmente desnecessários, leia: Mônica e a Otimização Avançada de Imagens e (2) plugins e templates que exigem verificação de chaves de licença para funcionar. Nesse caso, se o site externo cair, todos os “clientes” serão derrubados juntos.

Sem dúvida, a causa mais comum de site lento no back é a incidência de código mal feito, exigindo tanto do servidor a ponto de travar a máquina toda. Um bom exemplo são os plugins de estatística, vetados por nossos termos de serviço por ser um dos plugins mal comportados.

Como identificar lentidão no backend

A maneira mais simples de diagnosticar problemas no backend é analisando a carga do servidor. Os clientes da PortoFácil podem fazer isso facilmente usando a Mônica para Clientes, nossa querida e amada inteligência artificial. Neste caso, tente interpretar os gráficos ou peça ajuda ao suporte técnico.

O primeiro passo é medir a velocidade do site ou blog. Para isso, desative todos os plugins (menos os de cache) e reverta o blog para um template padrão do próprio WordPress. Agora faça um novo teste e compare com o anterior.

Se com o template padrão e os plugins desativados a lentidão sumir, então será necessário reativar o template e os plugins, um a um.

Repita a conferência de velocidade até encontrar o foco dos problemas do seu site lento.

Lentidão no frontend: causas mais comuns

Já a lentidão no frontend pode ser causada por fatores externos. Por exemplo: scripts de terceiros, “barras de redes de sites” e propagandas.

Mas a lentidão também pode ser causada por fatores internos como é o caso das imagens não otimizadas e scripts que interagem com o backend, quebrando as funcionalidades dos caches.

Como identificar um site lento no frontend

Para identificar um site lento no frontend é necessário utilizar uma ferramenta de medição. E a nossa favorita para medir velocidade de carregamento de páginas é o Pingdom Website Speed Test.

Através dela temos a exibição de carregamento de cada objeto individualmente, ou seja, na forma de “visualização em cascata” ou waterfall view.

Como exemplo não muito bom, pois não dá para dizer que há lentidão numa página que carrega totalmente em pouco mais de meio segundo, vamos analisar o waterfall view de uma página aleatória do nosso site.

Se analisarmos os dados no sentido vertical, ou seja, de cima para baixo da tabela, saberemos a ordem em que os objetos são carregados na página. Já no sentido horizontal, da esquerda para a direita, saberemos quando o navegador iniciou e terminou o carregamento de cada objeto.

Portanto, para aproveitar a informação ao máximo e descobrir as causas de um site lento, precisamos analisar o gráfico na dimensão tempo (na horizontal), do fim para o começo. Normalmente também é o fim da visualização por ordem de carregamento (eixo vertical). Só que é válido ressaltar que isso não é uma regra.

De acordo com o exemplo acima, podemos ver que os elementos que mais atrasam o carregamento da página (porque o instante final de seu carregamento está mais à direita) são vinculados ao Google Analytics.

O fato é que se pudéssemos viver sem o Google Analytics, a simples remoção do código de acompanhamento talvez já acelerasse o carregamento desta página em aproximadamente 20%.

Enquanto isso, na prática…

As coisas podem ser mais complicadas do que este exemplo, por isso, vai ser comum, principalmente em sites que veiculam conteúdo automático de redes de anúncios, existirem várias requisições feitas à revelia do responsável pela página.

Estes são os mecanismos de controle e de estatística dos anunciantes, das redes ou do que quer que eles resolvam injetar na sua página.

Por causa disso, é importante lembrar que cada um é responsável pelo seu site ou blog, ou seja, se não temos o poder de impedir que trackers, scripts de estatísticas e de rastreamento de conversão, sejam inseridos pelas redes de anúncios, o poder de removê-los nunca nos é tirado.

Assim, só cabe a você saber da importância que cada anúncio tem para o site, ou para o seu negócio como um todo e remover o que puder ser removido para deixar o site rápido novamente.

Resolvendo outros problemas

Antes de tudo, é necessário buscar em seu layout códigos mal escritos, excesso de chamadas ao banco de dados, plugins desnecessários e códigos JavaScript internos ou externos que estejam sem os atributos async e defer.

Código fonte mal escrito? Como isso atrapalha o carregamento da página e aumenta a lentidão?

Muitos temas WordPress vêm com tantas funções e gambiarras no código fonte que transformam o carregamento da página em uma carroça do século XVIII. Por isso recomenda-se fazer uma limpeza geral, inclusive usando um código mais limpo e sem firulas.

Atributo async e defer? O que é isso?

O atributo async é uma função que indica ao navegador que o script externo pode ser executado assincronamente junto com o HTML, ou seja, de forma simultânea.

Já o atributo defer é uma função assíncrona que avisa ao navegador para executar o script somente após o carregamento total do HTML.

Requisições ou chamadas ao banco de dados… Isso morde?

Requisição é a quantidade de vezes que seu site busca informação no banco de dados. Por isso é essencial reduzir a quantidade de chamadas ao banco de dados dentro de uma página.

O grande problema é que em muitos temas WordPress ainda existem uma quantidade absurda dessas requisições, contribuindo para a lentidão de um site WordPress.

Caso queria se aprofundar no assunto, recomendamos ler este artigo, em inglês, sobre requisição ou chamadas ao banco de dados: What Is the Definition of a Database Query?

Por que não posso ter muitos plugins?

O uso indiscriminado de plugins também é uma variável importante para a lentidão de um site WordPress.

Trocando em miúdos, o abuso na quantidade de plugins instalados transforma o que era para ser um benefício em um site extremamente lento, ainda mais se nesse meio existir algum plugin problemático.

Uma excelente dica é usar somente plugins essenciais, incluindo um bom plugin de cache configurado de forma correta, de preferência o recomendado pelo suporte técnico da sua hospedagem.

Mas eu não entendo nada de programação! O que devo fazer?

Sabemos que a grande maioria não tem esse conhecimento e se preocupam única e exclusivamente à produção de conteúdo.

Então, se você não tem familiaridade com linguagem PHP, nem com requisições ao banco de dados e JavaScript, talvez seja hora de aprender sobre desenvolvimento de sites WordPress ou contratar um profissional da área que possa fazer isso para você.

Além disso, uma maneira bem eficiente de acelerar qualquer site ou blog é utilizar corretamente os caches e, nossa recomendação, é usar a CloudFlare em uma configuração agressiva de cache, utilizando apenas os plugins realmente necessários, e não exagerando nos anúncios.

Por fim, caso precise de ajuda para resolver o problema de site ou blog lento em WordPress, basta entrar em contato. Nosso suporte técnico vai ficar feliz em poder ajudar.


Foto: Önder Örtel via Pexels.

Quero ser cliente da PortoFácil! Entre em contato

Leia também

Textos que têm a ver com este assunto:
TUTORIAL: como resolver erros e problemas no WordPress

Tutorial de como resolver os principais erros e problemas relacionados ao WordPress. Confira nosso passo a passo detalhado de soluções!

Novidades do WordPress 6.7.1

Conheça todas as novidades do WordPress, incluindo melhorias e aprimoramentos em segurança, desempenho e acessibilidade.

Guia SEO: Manual completo e definitivo sobre otimização de sites

Tutorial com as melhores práticas SEO, incluindo as principais ferramentas e os itens essenciais para alcançar o topo da busca orgânica.