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.
• 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.
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.
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)
- Acesse o cPanel da sua hospedagem.
- Procure por “Cron Jobs” (geralmente na seção Avançado).
- Escolha o intervalo desejado (ex: a cada 15 minutos).
- No campo “Comando”, insira:
wget -q -O - https://seusite.com/wp-cron.php?doing_wp_cron >/dev/null 2>&1Explicaçã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 -eEm seguida, adicione a linha:
*/15 * * * * wget -q -O - https://seusite.com/wp-cron.php?doing_wp_cron >/dev/null 2>&1Isso configurará a execução a cada 15 minutos. Por fim, salve o arquivo.

• 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.

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.
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-nowEssa 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>&1Nota: Substitua /caminho/do/seu/wordpress pelo diretório raiz da sua instalação.
• 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.

🚀 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.


