1

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:
    1. Base (só WP + WC)
    2. Yoast SEO (v22.x)
    3. 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árioTotal de Queries (Front-end)Queries no Painel (/wp-admin)Autoload na wp_optionsPico de Memória (PHP)TTFB Médio Local
WP 6.5 Limpo + WooCommerce2438~112 KB14.2 MB~140ms
+ Yoast SEO39 (+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.

Carregando publicação patrocinada...