monitoramento de WordPress
Monitore cada site WordPress que você administra
Nada para instalar no site. O Uptimepage verifica cada site WordPress de fora, numa página que o cache não consegue servir sozinho, e avisa você no Slack ou por e-mail quando algo quebra o site, geralmente antes que o dono do site tenha percebido.
Verifique uma página que o cache não consegue servir
A maioria dos sites WordPress tem um cache de páginas na frente do PHP, vindo de um plugin, da hospedagem ou de uma CDN. Isso é bom para os visitantes e ruim para o monitoramento: o cache pode continuar servindo a página inicial enquanto o PHP caiu e o banco de dados está inacessível, então uma verificação na página inicial fica verde durante toda a queda. Mantenha a verificação da página inicial, porque é o que os visitantes veem, e adicione outra numa página que o cache ignora, como /wp-json/, o índice da API REST. Ela não consegue responder sem o PHP e o banco de dados, então, quando falha, foi o WordPress que falhou. Se um plugin de segurança fecha a API REST para visitantes, ela responde 401 ou 403, o que ainda prova que o PHP e o banco de dados funcionam, então configure a verificação para esperar esse código. Alguns plugins de cache e algumas hospedagens também colocam essa página em cache; se for o seu caso, use qualquer outra página que o seu cache exclua.
Um 200 não prova que é o seu site
Uma página em branco pode voltar como 200. Também pode a página de estacionamento que o registrador coloca no ar depois de uma renovação esquecida, ou um site invadido que redireciona para o de outra pessoa. Dê à verificação uma frase que só a sua página real contém, como o nome do site no rodapé, e uma resposta sem ela conta como fora do ar, seja qual for o código de status.
As atualizações rodam quando ninguém está olhando
Desde o WordPress 5.5, plugins e temas podem se atualizar sozinhos, e as atualizações em segundo plano rodam duas vezes por dia, tenha alguém olhando ou não. Desde a versão 6.6, o WordPress reverte uma atualização de plugin que cause um erro fatal. Uma atualização que quebra uma página sem erro fatal continua no ar, e quem percebe é a verificação do conteúdo ou um fluxo de navegador. Num monitor verificado de várias regiões, uma falha passageira vista de uma região só não aciona ninguém por padrão, então o alerta que você recebe é sobre o site e não sobre um caminho de rede ruim. Quando for atualizar manualmente, agende antes uma janela de manutenção, e os alertas desse site ficam suspensos até ela terminar.
Uma loja que carrega mas não vende
Numa loja WooCommerce, a página inicial e as páginas de produto podem carregar normalmente enquanto uma atualização, um plugin de pagamento ou uma troca de tema quebrou o carrinho ou o checkout. Uma verificação de fluxo de navegador percorre o caminho de um comprador, até a cada cinco minutos: abre um produto, adiciona ao carrinho, vai ao checkout e confirma que o botão “Place order” (finalizar pedido) está lá. Escolha um produto com o gerenciamento de estoque desativado, porque o checkout em blocos reserva o estoque do carrinho por alguns minutos cada vez que carrega. Quando uma etapa falha, o resultado indica qual foi, então você sabe que o problema é o checkout e não o site inteiro. Quantas verificações de fluxo você tem depende do plano.
O WP-Cron espera por visitantes
Posts agendados, plugins de backup e as tarefas em segundo plano do WooCommerce esperam pelo WP-Cron, e o WP-Cron só começa quando uma visita carrega o WordPress. Visitas que o cache de páginas responde nunca o carregam, então um site com cache só roda o WP-Cron nas visitas que escapam do cache. Sites que o desligam com DISABLE_WP_CRON dependem de um cron do sistema, e essa linha é fácil de perder numa migração de servidor. De um jeito ou de outro, nada dá erro. O primeiro sinal é um post marcado como “Missed schedule” (agendamento perdido) ou uma pasta de backup que parou de crescer há semanas. Uma verificação de heartbeat transforma esse silêncio em alerta: rode o WP-Cron pelo cron do sistema, faça um ping na URL do heartbeat logo depois e, quando os pings pararem, você fica sabendo.
Certificados e domínios vencem em silêncio
A renovação do Let's Encrypt costuma quebrar depois de uma mudança de DNS ou de uma migração de servidor, e ninguém percebe até os navegadores mostrarem um aviso. Domínios de clientes muitas vezes ficam na conta do próprio cliente no registrador, pagos com um cartão que venceu no ano passado. Uma verificação TLS avisa antes de o certificado vencer. Configure o aviso alguns dias abaixo do ponto em que a sua renovação roda, para que uma renovação normal passe em silêncio e só uma que falhou chegue até você. Uma verificação de vencimento de domínio avisa 30 dias antes de o registro terminar, o que deixa tempo para ligar para o cliente.
Páginas de status que seus clientes podem abrir
Um cliente pode ter uma página de status com a própria marca e só os sites dele. Os incidentes são publicados nela conforme as verificações falham, então, quando um cliente perguntar o que aconteceu ontem à noite, você manda um link.
Uma lista de clientes sem um formulário por site
O formulário dá conta dos primeiros sites. Para uma lista inteira de clientes, o provider do Terraform, a API REST e o servidor MCP criam os monitores de uma vez só, com as mesmas verificações e os mesmos canais de alerta em cada um, e, com o Terraform, a lista fica num arquivo que você pode revisar.
Um crontab para o usuário dono do site. Defina o período do heartbeat igual ao intervalo do cron, aqui 5 minutos, com 5 minutos de tolerância
# Primeiro adicione ao wp-config.php: define( 'DISABLE_WP_CRON', true );
# Rode como o usuário do site, não como root: o WP-CLI se recusa a rodar como root.
URL=https://app.uptimepage.dev/ping/your-token
*/5 * * * * cd /var/www/example.com && /usr/local/bin/wp cron event run --due-now --quiet; curl -fsS -o /dev/null "$URL/$?"
# Hospedagem compartilhada sem WP-CLI: coloque isto no campo de cron da hospedagem,
# no menor intervalo que ela permitir, e ajuste o período do heartbeat a ele.
# curl -fsS -o /dev/null "https://example.com/wp-cron.php?doing_wp_cron" && curl -fsS -o /dev/null https://app.uptimepage.dev/ping/your-token
Perguntas frequentes
Como monitorar um site WordPress?
Preciso instalar um plugin de WordPress?
Verificações a cada 60 segundos deixam o site mais lento?
Um plugin de segurança ou firewall bloqueia as verificações. E agora?
Dá para monitorar o checkout do WooCommerce?
Um cliente pode ter a própria página de status?
Visão geral
- Plugin para instalar nenhum, as verificações rodam de fora
- Intervalo de verificação a cada 60 s
- Canais de alerta e-mail, Slack, Telegram, webhooks e mais
- WP-Cron heartbeat a partir de um cron do sistema
- Alertas de vencimento certificado SSL e domínio
- Preço para começar grátis, sem cartão
Links
- Páginas de status para agências
- Monitoramento de cron jobs
- Monitoramento de login no navegador
- Os nove tipos de verificação
- “Missed schedule” no WordPress: por que acontece
- Seu domínio pode vencer enquanto seu monitor continua verde
- Verificador de certificado SSL
- Como liberar a sonda na lista de permissões
- Preços e plano gratuito