Ilustração de um agendador de tarefas calendário com engrenagens ao lado do logotipo do WordPress

Cron jobs no WordPress: desmistificando e otimizando (guia 2026)

Muitos desenvolvedores não sabem, mas o WordPress possui um sistema de agendamento de tarefas embutido chamado WP-Cron. Ele é responsável por executar atividades recorrentes, como verificar atualizações de plugins, publicar posts agendados, enviar e-mails em segundo plano e limpar caches. No entanto, o WP-Cron tradicional tem uma falha grave: ele é acionado a cada visita ao site. Isso pode deixar seu site lento e, em casos extremos, causar erros de timeout. Por isso, neste guia, você vai entender como o WP-Cron funciona, quais são suas limitações e, mais importante, como substituí-lo por cron jobs reais do servidor para melhorar a performance do seu WordPress.

🎯 O que você vai aprender:
• Por que o WP-Cron padrão pode prejudicar seu site.
• Como desativar o WP-Cron e configurar um cron job verdadeiro.
• Dicas para monitorar e otimizar tarefas agendadas em 2026.

Como o WP-Cron funciona (e por que ele pode ser problemático)

Primeiramente, é essencial entender que o WP-Cron não é um cron job tradicional do sistema operacional. Ao contrário de um cron real, que é executado em intervalos fixos independentemente do tráfego, o WP-Cron é acionado sempre que alguém acessa o site. Dessa forma, se uma tarefa agendada estiver atrasada, ela será executada durante o carregamento da página. Consequentemente, isso pode aumentar o tempo de resposta do servidor, especialmente se a tarefa for pesada (como um backup ou uma sincronização de API). Além disso, em sites com baixo tráfego, tarefas críticas podem nunca ser executadas no momento certo. Portanto, o WP-Cron padrão é uma solução conveniente, mas não é adequada para sites profissionais ou de alto tráfego.

⚙️ Curiosidade: O WordPress verifica se há tarefas agendadas a cada 10 minutos. No entanto, essa verificação só ocorre quando há visitantes. Em um site com poucos acessos, um post pode levar horas para ser publicado automaticamente, embora o agendamento estivesse correto.

Como desativar o WP-Cron padrão

Felizmente, o WordPress permite desativar o acionamento automático do cron. Para isso, basta adicionar a seguinte linha ao arquivo wp-config.php (antes do “That’s all, stop editing!”):

define('DISABLE_WP_CRON', true);

Após adicionar essa constante, o WordPress não tentará mais executar o cron durante as visitas. Porém, as tarefas agendadas continuarão acumulando no banco de dados. Portanto, você precisará substituí-las por um cron job real do servidor.

⚠️ Atenção: Antes de desativar o WP-Cron, certifique-se de que você tem acesso ao painel de controle da sua hospedagem (cPanel, DirectAdmin, etc.) ou permissão para criar cron jobs via SSH. Caso contrário, as tarefas agendadas simplesmente pararão de funcionar.

Configurando um cron job real (passo a passo)

A melhor alternativa é substituir o WP-Cron por um agendador real do sistema. Dessa forma, as tarefas serão executadas em intervalos precisos, sem depender de visitas. Veja como fazer nos principais ambientes:

1. No cPanel (maioria das hospedagens compartilhadas)

  1. Acesse o cPanel da sua hospedagem.
  2. Procure por “Cron Jobs” (geralmente na seção Avançado).
  3. Escolha o intervalo desejado (ex: a cada 15 minutos).
  4. No campo “Comando”, insira:
wget -q -O - https://seusite.com/wp-cron.php?doing_wp_cron >/dev/null 2>&1

Explicação: Esse comando chama o arquivo wp-cron.php do WordPress, que é o responsável por executar as tarefas agendadas. O parâmetro doing_wp_cron evita loops infinitos. Portanto, essa é a forma mais segura e recomendada.

2. No DirectAdmin ou painéis similares

O processo é muito semelhante. Procure por “Cron Jobs” ou “Task Scheduler” e insira o mesmo comando acima.

3. Via SSH (servidores VPS/dedicados)

Se você tem acesso root ao servidor, pode editar o crontab diretamente:

crontab -e

Em seguida, adicione a linha:

*/15 * * * * wget -q -O - https://seusite.com/wp-cron.php?doing_wp_cron >/dev/null 2>&1

Isso configurará a execução a cada 15 minutos. Por fim, salve o arquivo.

Exemplo de configuração de cron job no cPanel com o comando wget
✅ Benefícios imediatos após configurar o cron real:
• O tempo de carregamento das páginas diminui, pois nenhuma tarefa será executada durante a navegação.
• Tarefas críticas (backups, envio de e-mails, sincronizações) ocorrem precisamente nos horários programados.
• Seu site fica mais estável, especialmente em picos de tráfego.

Frequência recomendada para o cron job

Não há uma resposta única, pois depende do que seu site precisa. Todavia, seguem algumas recomendações práticas:

  • A cada 5 minutos: Para sites com muitas tarefas urgentes (ex: e-commerces com atualização de estoque em tempo real).
  • A cada 15 minutos: É o intervalo padrão do WP-Cron e funciona bem para a maioria dos sites.
  • A cada 30 minutos: Para blogs ou sites institucionais com poucas tarefas agendadas.
  • Uma vez por hora: Para sites que só usam cron para backups diários ou limpeza de caches.

É importante lembrar que intervalos muito curtos podem sobrecarregar o servidor, especialmente se você estiver em uma hospedagem compartilhada. Portanto, comece com 15 minutos e ajuste conforme necessário.

Ferramentas para monitorar tarefas agendadas

Depois de configurar o cron real, você pode querer visualizar e gerenciar as tarefas existentes. Para isso, recomendo dois plugins gratuitos:

  • WP Crontrol – Permite ver, editar e até executar manualmente qualquer tarefa agendada. É indispensável para depuração.
  • Advanced Cron Manager – Alternativa com interface amigável e suporte a eventos recorrentes personalizados.

Com eles, você pode, por exemplo, identificar se alguma tarefa está travando ou se o cron job do servidor está realmente funcionando.

Interface do plugin WP Crontrol mostrando lista de tarefas agendadas

Cuidados ao migrar para cron real

Apesar de ser uma melhoria significativa, a migração exige atenção:

  • Teste em staging primeiro: Desative o WP-Cron no ambiente de testes e configure o cron real. Verifique se tarefas como publicação agendada, backups e e-mails continuam funcionando.
  • Mantenha o WP-Cron desativado em produção: Não se esqueça de adicionar a constante DISABLE_WP_CRON. Caso contrário, o sistema continuará tentando executar o cron antigo.
  • Configure o comando corretamente: Substitua “seusite.com” pelo seu domínio real. Além disso, use protocolo HTTPS se seu site tiver certificado SSL.
  • Monitore os logs do servidor: Nos primeiros dias, verifique se o cron job está sendo executado sem erros. Se necessário, ajuste o intervalo.
🔴 Erro comum: Muitos usuários esquecem de desativar o WP-Cron e configuram o cron real simultaneamente. Isso pode causar execuções duplicadas e conflitos. Portanto, siga a ordem: primeiro adicione define('DISABLE_WP_CRON', true);, depois crie o cron job.

Alternativa avançada: usar o WP-CLI para cron

Se você tem acesso WP-CLI no servidor, pode substituir o comando wget por:

wp cron event run --due-now

Essa abordagem é mais eficiente, pois não faz requisições HTTP, executando as tarefas diretamente via PHP. Portanto, é a recomendação para servidores VPS/dedicados. O comando completo no crontab seria:

*/15 * * * * cd /caminho/do/seu/wordpress && wp cron event run --due-now >/dev/null 2>&1

Nota: Substitua /caminho/do/seu/wordpress pelo diretório raiz da sua instalação.

📊 Resumo prático:
• Sites pequenos/blogs: podem manter o WP-Cron padrão (mas com risco de atrasos).
• Sites profissionais/lojas: obrigatório migrar para cron real.
• Servidores com WP-CLI: use wp cron event run para máxima performance.

Como testar se o cron real está funcionando

Depois de configurar, aguarde alguns minutos e acesse o site. Em seguida, vá até o plugin WP Crontol e verifique se os “agendados” estão sendo executados no horário correto. Outra forma é inspecionar o header da resposta HTTP: adicione ?doing_wp_cron ao final da URL do seu site (ex: https://seusite.com?doing_wp_cron). Se o cron job estiver funcionando, o arquivo será chamado sem erros. Por fim, você pode olhar os logs de acesso do servidor para confirmar as requisições ao wp-cron.php.

Passo a passo visual para testar cron job usando WP Crontrol

🚀 Quer um WordPress mais rápido e confiável?

Além de otimizar o cron, você pode turbinar seu site com plugins de cache, CDN e temas leves disponíveis em nosso catálogo. Acesse agora!

🛒 Explorar catálogo →

Compartilhe esse conteúdo se considerar relevante.


Você já substituiu o WP-Cron por um job real? Continue acompanhando o blog para mais dicas de performance e otimização.

Para utilizar nosso site, é necessário concordar com nossos termos de consentimento, adesão e suporte. Por isso, recomendamos que você leia-os atentamente antes de prosseguir.