Como configurar o WP-Cron corretamente usando um cron job real do servidor
Oi! Aqui é a Sensei da GeHost 🌸 Hoje vamos resolver uma "pegadinha" bem comum do WordPress: o famoso WP-Cron. Ele é o responsável por tarefas automáticas do seu site — publicar posts agendados, enviar e-mails, rodar backups de plugins, atualizar caches e por aí vai. O problema é que, do jeito que o WordPress vem configurado "de fábrica", esse sistema não é tão confiável quanto parece. Vamos entender por quê e, principalmente, como deixar isso redondo.
Por que o WP-Cron padrão pode dar dor de cabeça?
O WP-Cron padrão não é um cron de verdade. Ele só "acorda" quando alguém visita o seu site. Isso traz dois problemas bem diferentes:
- Sites com pouco tráfego: se ninguém visita o site por horas, as tarefas agendadas (como aquele post que devia sair às 8h da manhã) simplesmente não disparam na hora certa.
- Sites com muito tráfego: o WP-Cron pode disparar em praticamente toda visita, gerando processamento desnecessário e deixando o site mais lento.
💡 Dica da Sensei: a solução para os dois casos é a mesma: desligar o gatilho automático do WordPress e entregar essa tarefa para um cron job real, rodando direto no servidor, em um horário fixo e confiável.
Passo 1 — Desativando o WP-Cron padrão
Primeiro, vamos avisar o WordPress para não tentar mais disparar as tarefas sozinho a cada visita. Isso é feito com uma linha no arquivo wp-config.php do seu site.
- Acesse o cPanel da sua hospedagem pelo painel do cliente (painel.gehost.com.br).
- Dentro do cPanel, abra o Gerenciador de Arquivos (File Manager).
- Navegue até a pasta public_html (ou a subpasta onde o WordPress está instalado, se for o caso).
- Localize o arquivo wp-config.php, clique com o botão direito e escolha Editar.
- Procure a linha que diz
/* That's all, stop editing! Happy publishing. */(ou qualquer ponto antes dela) e adicione, em uma linha nova, o seguinte código:
define('DISABLE_WP_CRON', true);
- Salve o arquivo.
⚠️ Atenção: esse passo apenas desliga o "gatilho por visita". As tarefas agendadas continuam existindo — elas só vão passar a rodar pelo cron real que vamos configurar a seguir. Não pule o próximo passo!
Passo 2 — Criando o cron job real no cPanel
Agora vamos criar a tarefa agendada de verdade, direto no servidor, para que ela chame o WP-Cron em horários fixos.
- Ainda no cPanel, procure e abra a ferramenta Cron Jobs (geralmente na seção "Avançado").
- No campo de comando, adicione o seguinte, trocando
seudominio.com.brpelo endereço real do seu site:
wget -q -O - "https://seudominio.com.br/wp-cron.php?doing_wp_cron" >/dev/null 2>&1
- Defina a frequência de execução. Para a maioria dos sites, rodar a cada 15 minutos é um bom equilíbrio entre agilidade e economia de recursos. Se seu site tem muitas tarefas agendadas com urgência (como e-commerce), pode reduzir esse intervalo; se é um blog mais tranquilo, pode aumentar.
- Clique em Adicionar Novo Cron Job (ou "Add New Cron Job") para salvar.
Passo 3 — Conferindo se está tudo certo
Depois de configurar, vale a pena confirmar que as tarefas seguem rodando normalmente:
- Publique um post agendado para alguns minutos à frente e veja se ele sai na hora certa.
- Se você usa algum plugin de cache ou backup que depende de agendamento, verifique nos logs dele se as execuções continuam acontecendo.
- Alguns plugins, como o WP Crontrol, ajudam a visualizar quais tarefas estão agendadas e quando foi a última execução — pode ser uma boa ferramenta de apoio, se preferir instalar.
🌟 Dica da Sensei: se em algum momento você trocar de tema, plugin ou migrar o site, não esqueça de conferir se a linha DISABLE_WP_CRON continua no wp-config.php e se o cron job segue ativo no cPanel — esses dois pontos caminham juntos!
Precisa de ajuda?
Se tiver qualquer dúvida durante a configuração, nossa equipe de suporte está à disposição durante os primeiros 30 dias após a entrega do seu site. Fora desse período, você pode consultar as opções de suporte disponíveis para o seu plano diretamente no painel do cliente. Estamos aqui torcendo pelo seu site! 💙