O TTFB mede o tempo entre a requisição do navegador e o primeiro byte recebido do servidor. Um TTFB alto indica servidor lento, back-end pesado, rede ruim ou tudo junto. Reduzir o TTFB melhora LCP, rastreio do Google e a sensação de velocidade.
Como Medir o TTFB
- DevTools > Network: selecione o recurso HTML e veja Waiting (TTFB).
- cURL (linha de comando): curl -o /dev/null -s -w “TTFB: %{time_starttransfer}\n” https://seusite.com/
- WebPageTest / PageSpeed / GTmetrix: rode 3x e use a mediana.
Causas Comuns de TTFB Alto
- Hospedagem lenta ou distante do usuário.
- Aplicação pesada: consultas SQL lentas e PHP sem cache.
- Sem cache de página ou cache mal configurado.
- CDN ausente ou mal integrada.
- TLS/HTTP sem otimizações (handshakes repetidos, falta de HTTP/3).
Otimizações de Infraestrutura
- Proximidade: hospede no país do público. Latência menor = TTFB menor.
- Servidor web moderno: LiteSpeed/NGINX, HTTP/2 e HTTP/3 (QUIC) ativos.
- PHP atualizado e rápido: PHP 8.x + OPcache habilitado.
- Banco de dados afinado: índices corretos, pool de conexões, query cache onde fizer sentido.
- Keep-Alive e TLS: reuse conexões, habilite TLS 1.3 e session resumption.
Cache: a Alavanca Mais Forte
- Cache de página no servidor: gera HTML estático e responde em milissegundos.
- Object cache: Redis/Memcached para reduzir queries repetidas.
- Warm-up de cache: pré-aqueça principais URLs após deploy/limpeza.
- Edge cache na CDN: sirva o HTML no edge quando possível.
CDN e Rede
- Ative CDN com PoPs próximos ao usuário.
- Cache de HTML (quando seguro): regra específica para páginas públicas.
- DNS rápido: provedores com baixa latência reduzem a soma dos tempos iniciais.
WordPress: Passo a Passo Prático
- Atualize WordPress, tema e plugins. Remova plugins inúteis.
- Cache de página: WP Rocket, LiteSpeed Cache ou equivalente. Ative cache mobile.
- Object cache: configure Redis com
WP_REDIS_DISABLED=falsee prefixo por site. - OPcache no PHP e pré-carregamento do cache após publicações.
- Banco de dados: limpe revisões/auto-saves. Monitore slow queries e crie índices.
- CDN + HTTP/3: integre a CDN, ative QUIC e teste cache de HTML para páginas não logadas.
- Exceções de cache: carrinho/checkout e páginas logadas não devem ser cacheadas.
Back-end Mais Leve
- Desative cron interno e use
crontabdo servidor parawp-cron.php. - Evite chamadas externas bloqueantes (APIs) no carregamento da página.
- Carregamento lento (lazy) de funcionalidades administrativas, não no front público.
Boas Práticas de TLS/HTTP
- TLS 1.3 + session tickets e 0-RTT quando suportado.
- Compressão Brotli para assets estáticos (não altera TTFB, mas melhora a percepção).
- Early Hints (103) se disponível, para pré-carregar críticos enquanto o back-end prepara o HTML.
Metas de Referência
- TTFB < 200–300 ms em CDN/edge para páginas cacheadas.
- < 500 ms no origin para páginas dinâmicas simples.
Checklist Rápido
- Servidor próximo e rápido, com HTTP/2/3.
- PHP 8.x + OPcache, Redis habilitado.
- Cache de página + warm-up + CDN com edge cache.
- DB com índices e slow log limpo.
- TLS 1.3, Keep-Alive e Early Hints quando possível.
Conclusão
TTFB baixo é resultado de soma: infraestrutura ágil, cache bem configurado, banco otimizado e CDN afinada. Ataque cada camada. Meça sempre. Repita o ciclo após mudanças e acompanhe a mediana dos testes.
Perguntas Frequentes (FAQ)
TTFB alto é só hospedagem ruim? Não. Código pesado, DB lento e ausência de cache também elevam o TTFB. Investigue tudo. CDN resolve TTFB sozinha? Ajuda muito quando cacheia o HTML. Se o HTML não for cacheado, o origin continua crítico. Minificação reduz TTFB? Pouco. Minificação ajuda depois do primeiro byte. Para TTFB, foco é cache, back-end e rede. De quanto em quanto tempo medir? Sempre após deploy, mudanças de cache e picos de tráfego. Use séries históricas. Posso cachear páginas logadas? Evite. Use object cache e otimização de queries. Páginas públicas são as candidatas ao cache de página/edge.
Tags
#TTFB #PerformanceWeb #WordPress #CDN #ServerExpress
“É necessário construir frases curtas. Toda otimização dividirá em, no mínimo, duas frases.”









