WordPress Lento: 10 Causas Comuns e Como Diagnosticar Cada Uma

Um site WordPress lento não tem uma única causa — tem um diagnóstico. Aplicar optimizações ao acaso (instalar mais um plugin de cache, comprimir mais imagens) sem perceber onde está o problema real é como tomar analgésicos para uma fractura. Este guia apresenta as 10 causas mais comuns com as ferramentas de diagnóstico específicas para cada uma.

Ferramenta de diagnóstico inicial: separar TTFB do carregamento total

Antes de ir para as causas, uma distinção crítica: TTFB (Time to First Byte) mede quanto o servidor demora a responder. Carregamento total mede tudo incluindo o que o browser descarrega e processa.

  • TTFB alto (>600ms) → problema no servidor ou na geração da página (causas 1-4)
  • TTFB baixo mas carregamento alto → problema nos recursos da página (causas 5-10)

Usar Chrome DevTools → Network tab → recarregar a página → clicar no primeiro pedido para ver o TTFB.

1. Hosting lento ou sobrecarregado

Diagnóstico: TTFB consistentemente acima de 800ms em horários normais. Testar em horas diferentes do dia — se o TTFB varia muito, o servidor está sobrecarregado.

Solução: migrar para hosting com PHP-FPM e recursos dedicados (ou VPS). Em hosting partilhado barato, não há muito mais a fazer — o tecto de performance está no servidor.

2. Sem cache de página

Diagnóstico: cada pedido ao site executa PHP + consultas MySQL, mesmo para páginas estáticas. Verificar headers HTTP de resposta — deve existir um header X-Cache: HIT ou equivalente nas páginas cacheadas.

Solução: WP Rocket, LiteSpeed Cache, ou cache nativa do servidor (Nginx FastCGI cache). Impacto típico: TTFB cai de 800ms para 50-200ms para páginas cacheadas.

3. Base de dados não optimizada

Diagnóstico: plugin Query Monitor → Database Queries — verificar número total de queries por página load e identificar queries lentas (>100ms). Sites com anos de conteúdo acumulam milhares de revisões de posts e transients expirados que tornam as queries lentas.

Solução: limpar revisões excessivas, transients expirados, e metadados órfãos com WP-Optimize. Adicionar índices em tabelas de meta se o Query Monitor mostrar queries lentas nessas tabelas.

4. PHP desactualizado

Diagnóstico: verificar versão PHP no painel de hosting ou em "Ferramentas" → "Saúde do Site" no WordPress. PHP 7.4 é 20-30% mais lento que PHP 8.2.

Solução: actualizar para PHP 8.2 em staging primeiro (verificar compatibilidade de plugins), depois em produção.

5. Imagens não optimizadas

Diagnóstico: Chrome DevTools → Network tab → filtrar por "Img" → ordenar por tamanho. Imagens acima de 200KB numa página web são geralmente desnecessariamente grandes.

Solução: comprimir e converter para WebP com Imagify ou ShortPixel. Adicionar atributos width e height para evitar layout shift. Usar loading="lazy" em imagens abaixo do fold.

6. Muitos pedidos HTTP

Diagnóstico: Chrome DevTools → Network tab → contar número total de pedidos. Mais de 80-100 pedidos por página é excessivo. Verificar especificamente pedidos para domínios de terceiros (Google Fonts, scripts de analytics, chat widgets).

Solução: combinar CSS/JS com plugin de cache, hospedar fontes localmente, defer scripts de terceiros, remover plugins não essenciais.

7. Render-blocking resources

Diagnóstico: PageSpeed Insights → "Eliminar recursos que bloqueiam a renderização". CSS e JS em <head> sem async ou defer atrasam o início do rendering da página.

Solução: WP Rocket ou LiteSpeed Cache têm opções para defer CSS/JS não-crítico. Critical CSS inline para o conteúdo above-the-fold.

8. Page builder pesado mal configurado

Diagnóstico: desactivar temporariamente o page builder e verificar se o TTFB e o carregamento melhoram significativamente. Elementor e Divi carregam ficheiros CSS/JS em todas as páginas mesmo nas que não usam o builder.

Solução: activar o carregamento de assets apenas nas páginas que usam o builder (opção nativa no Elementor). Para sites novos, considerar temas mais leves (GeneratePress, Kadence).

9. Sem CDN para ficheiros estáticos

Diagnóstico: verificar a latência dos pedidos para imagens e CSS/JS — se o servidor está em Lisboa e o visitante em Lisboa, não é relevante. Se o site tem audiência internacional, CDN é importante.

Solução: Cloudflare (gratuito) para cache de ficheiros estáticos e optimização automática de imagens. Alternativas premium: BunnyCDN, KeyCDN.

10. Plugins com queries excessivas

Diagnóstico: Query Monitor → Database Queries → ordenar por número de queries por plugin. Alguns plugins de WooCommerce, SEO, ou redes sociais fazem dezenas de queries adicionais por page load.

Solução: desactivar plugins um por um e medir impacto com Query Monitor. Substituir plugins problemáticos por alternativas mais eficientes ou código customizado quando justificável.

Ordem de prioridade para optimização

Se precisar de resolver o problema rapidamente, priorizar nesta ordem:

  • 1. Hosting + PHP actualizado (maior impacto no TTFB)
  • 2. Cache de página (maior impacto para visitantes recorrentes)
  • 3. Imagens optimizadas (maior impacto no carregamento total)
  • 4. Base de dados limpa (impacto em sites com muitos conteúdos)
  • 5. CDN + defer de scripts (refinamento final)

Optimização de performance incluída na manutenção

A Vuvo inclui diagnóstico e optimização de performance periódica nos planos Pro — com relatório documentado das métricas antes e depois.

Ver planos de manutenção