Benchmark: Yoast vs Rank Math Pro — Medindo queries SQL, tamanho do autoload e impacto real no TTFB
Fala pessoal, beleza?
Semana passada peguei um freela pra resolver um problema clássico de WordPress: o site (um blog com WooCommerce) estava com o TTFB batendo quase 1.1s no mobile, mesmo com cache de página ativo.
Investigando o backend com o Query Monitor e o WP-CLI, percebi que boa parte do gargalo não vinha do tema, mas sim da quantidade absurda de chamadas ao banco e dados serializados gigantescos sendo carregados no autoload da tabela wp_options.
O site usava o Yoast há anos. Como a equipe de SEO do cliente pediu pra migrar para o Rank Math por causa dos schemas avançados e da integração com IndexNow, decidi fazer um benchmark técnico isolado antes de mandar qualquer alteração pra produção.
Montei um ambiente controlado para responder uma dúvida sincera: qual dos dois é mais leve em consultas SQL e memória de execução? Compartilho os dados abaixo.
O Ambiente de Testes
Para eliminar variáveis de rede ou servidor compartilhado, o teste rodou em um container Docker limpo na minha máquina:
- Stack: PHP 8.2 (FPM) + Nginx 1.24 + MariaDB 10.11
- Base: WordPress 6.5 limpo + Twenty Twenty-Four + WooCommerce com 100 produtos fictícios
- Configuração: Sem plugins de cache (Redis/WP Rocket desligados para medir o peso real do PHP/SQL)
- Builds testadas:
- Base (só WP + WC)
- Yoast SEO (v22.x)
- Rank Math versão com módulos avançados de Schema e Redirecionamento ativos para staging (Rank Math SEO Pro)
1. O Vilão Oculto: Tamanho do autoload na wp_options
Muitos devs esquecem que toda opção marcada como autoload = 'yes' é carregada na memória em absolutamente todas as requisições, inclusive nas rotas da REST API e chamadas AJAX.
Rodei a seguinte query para inspecionar o peso total dos dados carregados automaticamente:
SELECT
autoload,
COUNT(*) as total_linhas,
ROUND(SUM(LENGTH(option_value)) / 1024, 2) as tamanho_kb
FROM wp_options
WHERE autoload = 'yes'
GROUP BY autoload;
O resultado foi uma surpresa no comportamento de cada plugin:
| Cenário | Total de Queries (Front-end) | Queries no Painel (/wp-admin) | Autoload na wp_options | Pico de Memória (PHP) | TTFB Médio Local |
|---|---|---|---|---|---|
| WP 6.5 Limpo + WooCommerce | 24 | 38 | ~112 KB | 14.2 MB | ~140ms |
| + Yoast SEO | 39 (+15) | 67 (+29) | ~294 KB (+182 KB) | 19.8 MB | ~215ms |
| + Rank Math Pro (Módulos Ativos) | 32 (+8) | 54 (+16) | ~185 KB (+73 KB) | 17.5 MB | ~178ms |
2. Por que o Rank Math consumiu menos queries no banco?
Analisando a stack trace das queries pelo Query Monitor, deu pra notar uma diferença arquitetural evidente:
Arquitetura Modular
O Rank Math permite desativar fisicamente módulos que você não usa (ex: 404 Monitor, Image SEO, Redirecionamentos, AMP). Se o módulo está desligado, o hook do WordPress nem sequer é registrado. O Yoast tende a carregar grande parte da sua suíte de indexáveis (Indexables framework) de uma só vez.
Armazenamento de Tabelas Próprias
O Yoast utiliza tabelas dedicadas (wp_yoast_indexable) para acelerar buscas pós-indexação. Isso é excelente depois de indexado, mas gera mais consultas relacionais na renderização da página se você tiver muitos Custom Post Types complexos.
Já o Rank Math grava boa parte das regras de metadados em lote. Para checar o impacto de injeção dos schemas customizados no hook wp_head, utilizei esse trecho de depuração no functions.php:
add_action('wp_head', function() {
if (current_user_can('manage_options')) {
global $wp_actions;
// Marcação simples para monitorar o tempo de injeção das tags de cabeçalho
echo '<!-- Debug SEO Hook: ' . timer_stop(0, 4) . 's -->';
}
}, 9999);
Na média de 50 requests locais:
- Hook de injeção do Yoast: executou em ~0.021s
- Hook de injeção do Rank Math: executou em ~0.014s
3. Onde você precisa tomar cuidado
Nem tudo são flores. O Rank Math tem uma funcionalidade excelente que é o Analytics integrado (puxa dados do Google Search Console pro painel).
Dica de ouro: se o seu servidor for compartilhado ou tiver poucos recursos, não ative o módulo de Analytics dentro do painel do WP. Ele cria tabelas pesadas de histórico (wp_rank_math_analytics_*) e executa cron jobs de sincronização via Action Scheduler que podem congelar o banco de dados em horários de pico.
Deixe a parte analítica no próprio painel do Search Console e use o plugin estritamente para Schema, Sitemaps e IndexNow.
Conclusão e Veredito
Pelo menos no cenário testado (WooCommerce + tema FSE), a estrutura modular do Rank Math se mostrou mais enxuta em número de queries SQL e gerou bem menos peso no autoload do banco de dados do que o ecossistema do Yoast.
Conseguimos derrubar o TTFB no ambiente de produção do cliente de 1.1s para cerca de 420ms combinando essa troca com a limpeza manual das entradas mortas na wp_options.
Como vocês têm lidado com o impacto de plugins de SEO na performance técnica dos projetos WordPress por aí? Alguém já fez esse mesmo teste em servidores de alta concorrência usando Redis? Feedbacks e discordâncias técnicas são muito bem-vindos nos comentários.