Como corrigir TTFB alto no WordPress (Reduce server response time)
O que é o TTFB alto no WordPress?
O TTFB alto no WordPress mede que o servidor demora demais para começar a responder. O Time to First Byte soma o tempo de DNS, conexão, processamento do PHP e do banco de dados até o primeiro byte do HTML chegar ao navegador. O Google considera bom um TTFB abaixo de 600 a 800 milissegundos; acima disso, todas as métricas seguintes, inclusive o LCP, herdam esse atraso fixo. Um TTFB alto raramente é problema de front-end: ele aponta para o servidor, para a falta de cache ou para o WordPress gerando a página do zero a cada visita em vez de servir uma versão pronta.
Como identificar
- O diagnóstico “Reduzir o tempo de resposta do servidor (TTFB)” aparece como oportunidade no PageSpeed Insights.
- “TTFB acima de 600ms” ou “Reduce initial server response time” no relatório do Lighthouse.
- O waterfall da aba Network do navegador mostra um trecho “Waiting (TTFB)” longo antes de qualquer download.
- A primeira resposta demora mesmo em páginas leves, e o atraso some quando uma versão em cache é servida.
Como prevenir
- Mantenha cache de página e cache de objeto ativos e monitore o TTFB após cada mudança de tema ou plugin
- Use sempre uma versão de PHP suportada com OPcache habilitado
- Acompanhe queries lentas e o tamanho do banco para que o servidor não volte a gerar páginas devagar
Causa
- Hospedagem compartilhada sobrecarregada ou com recursos de CPU e memória insuficientes para o tráfego do site.
- Ausência de cache de página, fazendo o WordPress reconstruir o HTML com PHP e banco a cada requisição.
- Versão de PHP antiga ou sem OPcache, deixando a execução do código mais lenta do que o necessário.
- Queries de banco lentas por tabelas inchadas, falta de índices ou plugins que consultam demais o banco.
- Servidor geograficamente distante do visitante, sem CDN para servir a primeira resposta de um nó próximo.
Como resolver
- Meça o TTFB real: use o PageSpeed Insights e a aba Network do navegador para confirmar o tempo de "Waiting (TTFB)". Compare uma página em cache com uma sem cache para separar servidor de aplicação.
- Ative cache de página: ligue um plugin de cache de página para servir HTML pronto em vez de gerar tudo a cada visita. É a medida com maior impacto sobre o TTFB na maioria dos sites WordPress.
- Atualize o PHP e ative o OPcache: rode uma versão suportada do PHP (8.x) com OPcache habilitado. Versões novas executam o mesmo código bem mais rápido e cortam tempo de processamento.
- Adicione cache de objeto persistente: configure Redis ou Memcached para cachear o resultado de queries repetidas. Isso reduz o trabalho do banco em páginas dinâmicas e logadas, onde o cache de página não atua.
- Coloque um CDN na frente: use um CDN com cache na borda para entregar a primeira resposta de um nó próximo ao visitante, encurtando a latência de rede que entra no TTFB.
- Avalie um upgrade de hospedagem: se o TTFB seguir alto mesmo com cache, o gargalo é o servidor. Migre para uma hospedagem com mais recursos ou especializada em WordPress.
# .htaccess - serve a copia estatica de cache antes de subir o PHP
<IfModule mod_rewrite.c>
RewriteEngine On
# Nao usa cache para usuarios logados ou com carrinho/comentario
RewriteCond %{HTTP_COOKIE} (wordpress_logged_in|comment_author|woocommerce_items_in_cart) [NC]
RewriteRule .* - [S=1]
# Se existe um HTML ja gerado para esta URL, serve direto (sem PHP)
RewriteCond %{REQUEST_METHOD} GET
RewriteCond %{QUERY_STRING} =""
RewriteCond %{DOCUMENT_ROOT}/wp-content/cache/page/%{HTTP_HOST}%{REQUEST_URI}index.html -f
RewriteRule .* /wp-content/cache/page/%{HTTP_HOST}%{REQUEST_URI}index.html [L]
</IfModule>














