HostGator
Palestra técnica
WordPress em alta escala

Escalando SEO para milhões de hits

Yoast + PHP-FPM + WordPress: do rankeamento à infraestrutura que aguenta o tráfego que o SEO traz.

HostGator02
O caminho

Rankear é metade. Aguentar o tráfego é a outra.

01
Yoast + AI+
Sitemaps, schema e o Yoast AI+ otimizando título e meta de cada post.
Como fazer
02
PHP-FPM
Tunar os workers para servir muita requisição em paralelo.
Calculadora
03
WordPress em cache
OPcache, página, objeto e CDN: as camadas que mudam tudo.
Simulador
HostGator03
O paradoxo do SEO que deu certo

Seu conteúdo subiu no Google. E aí o site caiu.

1
WordPress é dinâmicoCada visita roda PHP e consulta o banco. Sem cache, cada hit é trabalho do zero.
2
Pico não avisaUma matéria viraliza, o Googlebot rastreia milhares de URLs e os workers acabam.
3
502 / 504PHP-FPM sem workers livres devolve erro. O tráfego que o SEO trouxe vira bounce.
A tese: SEO e performance são o mesmo projeto. Não adianta rankear para um tráfego que a infra não aguenta.
HostGator04
O caminho de um request

Onde cada peça entra

Visitanteou Googlebot
›
CDNcache na borda
›
Nginxcache de página
›
PHP-FPMworkers + OPcache
›
WordPress+ Yoast
›
Redisobject cache
›
MySQLbanco
A regra de ouro: quanto mais à esquerda a resposta é resolvida, mais barata e mais rápida ela é. A borda responde em milissegundos; o MySQL, em centenas deles.
HostGator05

Quantos visitantes ao mesmo tempo o seu WordPress aguenta agora, sem cache?

Spoiler: provavelmente menos do que você imagina. Vamos medir e consertar.

HostGator06
Parte 1 de 3

Yoast: SEO que escala com o site

Sitemaps, dados estruturados e meta tags consistentes em milhares de URLs, sem trabalho manual.

HostGator07
Configuração que importa

Três alavancas do Yoast para escala

Sitemaps XMLO Yoast gera um índice que aponta para vários sitemaps filhos. É por ele que o Google descobre cada URL nova./sitemap_index.xml
Schema (dados estruturados)Gera JSON-LD automático de artigo, autor e breadcrumb. Rende rich results e mais cliques.@graph JSON-LD
Títulos e meta em massaTemplates por tipo de conteúdo preenchem title e description de todo post sem edição manual.%%title%% %%sep%% %%sitename%%
Resultado esperado: cada post publicado entra no sitemap em minutos, com schema e meta corretos, e é rastreado sem você tocar em nada.
HostGator08
INTERATIVO

Quantos sitemaps o seu site precisa?

Padrão do Yoast: 1.000 URLs por sitemap. Dá para subir até o limite do Google, 50.000, com o filtro wpseo_sitemap_entries_per_page.
Sua estrutura de sitemap
8sitemaps filhos no índice

      
    
Referência: documentação do Yoast SEO e limites de sitemap do Google (50.000 URLs ou 50 MB por arquivo).
HostGator09
Yoast AI+ (no Premium)

A IA que otimiza dentro do editor

AI GenerateLê o texto pronto e sugere vários títulos SEO e meta descriptions. Você escolhe um e edita.título + meta
AI OptimizeAponta o que melhorar: palavra-chave cedo na introdução, frases mais curtas, melhor distribuição.até ~1.000 palavras
Bloco de resumoGera um "Key Takeaways" em lista a partir do conteúdo. Deixa o post fácil de escanear.Key Takeaways
O que ele não faz: não escreve o artigo do zero. O Yoast AI+ otimiza o que você já escreveu. Ótimo para publicar em volume sem perder a qualidade do SEO.
HostGator10
INTERATIVO

Yoast AI+ na prática

Rascunho no editor · foco: "café especial"
Café especial é aquele avaliado acima de 80 pontos. Neste guia, você vê como escolher os grãos, ajustar a moagem e preparar em casa sem erro. Também comparamos métodos como coado, prensa francesa e aeropress.
Sugestões da IA
Clique em AI Generate para a IA sugerir títulos e meta, ou em AI Optimize para ver uma melhoria no texto.
Exemplo ilustrativo do fluxo do Yoast AI+. As sugestões reais são geradas pela IA dentro do WordPress.
HostGator11
Parte 2 de 3

PHP-FPM: o motor de concorrência

É aqui que você decide quantas requisições dinâmicas o servidor processa ao mesmo tempo.

HostGator12
O que é

Um pool de workers que executam PHP

pm = staticNúmero fixoSempre N workers ligados. Previsível e rápido, mas gasta RAM parado. Ideal para servidor dedicado ao WordPress.
pm = dynamicElásticoSobe e desce workers conforme a demanda, entre um mínimo e um máximo. O equilíbrio mais comum.
pm = ondemandSob demandaZero workers parados; cria quando chega request. Economiza RAM, mas a primeira resposta é mais lenta.
O número que decide tudo é o pm.max_children: quantos requests dinâmicos rodam em paralelo. Baixo demais = fila e 502. Alto demais = estoura a RAM e o servidor trava.
HostGator13
INTERATIVO

Calcule o seu pm.max_children

Meça o tamanho real com ps --no-headers -o rss -C php-fpm em produção. 40 a 80 MB é o comum em WordPress com plugins.
Configuração sugerida (pm = dynamic)
41pm.max_children (requests em paralelo)

      
HostGator14
COMO FAZER

A config e o resultado

; /etc/php/8.3/fpm/pool.d/www.conf
pm = dynamic
pm.max_children = 41
pm.start_servers = 10
pm.min_spare_servers = 8
pm.max_spare_servers = 31
pm.max_requests = 500
; recicla o worker e evita vazamento de memória
; OPcache: compila o PHP uma vez e guarda
opcache.enable = 1
opcache.memory_consumption = 256
opcache.max_accelerated_files = 20000
opcache.validate_timestamps = 0
; 0 em produção: não checa o disco a cada hit
# passa o PHP para o pool do FPM
location ~ \.php$ {
    fastcgi_pass unix:/run/php/php8.3-fpm.sock;
    fastcgi_read_timeout 60;
    include fastcgi_params;
}
O que muda na prática
1Mais requests dinâmicos em paralelo, sem 502
2OPcache corta o tempo de compilar PHP a cada hit
3max_requests recicla workers e segura a RAM
Resultado esperado: com OPcache ligado, o tempo de PHP cai de forma relevante e o mesmo servidor passa a sustentar bem mais visitas simultâneas.
HostGator15
Parte 3 de 3

WordPress: as camadas de cache

Aqui é onde dezenas de hits viram milhões. Cada camada tira trabalho da camada seguinte.

HostGator16
Quatro camadas, de baixo para cima

Tire trabalho do PHP e do banco

OPcacheGuarda o PHP já compilado. Liga no php.ini, custo zero.
Object cache (Redis)Guarda resultados de query e transients na memória, fora do MySQL.
Page cache (Nginx / plugin)Entrega HTML pronto sem nem acordar o PHP. O maior salto.
// Redis como object cache do WordPress
define('WP_CACHE', true);
define('WP_REDIS_HOST', '127.0.0.1');
define('WP_REDIS_PORT', 6379);
define('WP_REDIS_MAXTTL', 86400);
# ativa o drop-in e confere
wp plugin install redis-cache --activate
wp redis enable
wp redis status
# Status: Connected · Hits/misses em tempo real
# HTML cacheável na borda e no navegador
Cache-Control: public, max-age=300, s-maxage=3600
Vary: Accept-Encoding
# s-maxage manda na CDN; max-age, no browser
HostGator17
SIMULADOR

Ligue as camadas e veja o salto

TTFB estimado
900ms
Hits por dia
1,3 mi
Capacidade relativa15 req/s
Sem cache, cada hit roda PHP e consulta o banco. É o pior cenário e o ponto de partida.
Valores didáticos, para mostrar a ordem de grandeza de cada camada. Números reais dependem do conteúdo, do plugin e do servidor.
HostGator18
Para sair daqui e aplicar

Checklist de escala

Yoast com sitemap index e schema ligados
OPcache ligado, validate_timestamps = 0
pm.max_children calculado pela RAM real
Redis como object cache, status Connected
Page cache de HTML no Nginx ou plugin
HostGator19
O antes e o depois

O mesmo servidor, outro patamar

Antes · WordPress cru
~900ms
TTFB alto, cada hit roda PHP e banco. Dezenas de visitantes simultâneos já derrubam.
Depois · pilha completa
~20ms
HTML servido na borda. O mesmo servidor sustenta o tráfego de uma matéria viral sem suar.
HostGator

Obrigado!

Perguntas

← → navegar · F tela cheia