
Se você já mergulhou no universo do WordPress e explorou suas funcionalidades mais avançadas, é praticamente certo que já encontrou o WP-Cron Job em algum momento. Esse sistema interno do WordPress desempenha um papel crucial na automação de uma variedade de tarefas essenciais para o bom funcionamento do seu site. Entre essas tarefas, podemos destacar o agendamento de posts, permitindo que você programe a publicação de conteúdo em horários específicos, e a limpeza de transientes, que ajuda a manter o banco de dados do seu site otimizado e livre de dados desnecessários.
Este artigo tem como objetivo fornecer uma análise detalhada do funcionamento interno do WP-Cron. Vamos explorar como ele opera, como ele lida com as tarefas agendadas e quais são os seus mecanismos de disparo. Além disso, vamos examinar os prós e contras de utilizar o WP-Cron, ponderando suas vantagens e desvantagens em diferentes cenários de uso.
Finalmente, vamos discutir em que situações pode ser mais vantajoso optar por um cron job real, configurado diretamente no servidor, em vez de depender exclusivamente do sistema interno do WordPress. Entender as nuances do WP-Cron é fundamental para otimizar o desempenho do seu site e garantir que as tarefas agendadas sejam executadas de forma confiável.
O que é WP-Cron?
O WP-Cron é o sistema de agendamento de tarefas integrado do WordPress. Ele é usado para automatizar tarefas repetitivas que seu site precisa para funcionar com eficiência. Por exemplo:
- Publicação de postagens agendadas
- Verificando atualizações de plugins ou temas
- Enviando notificações por e-mail
- Limpando transientes expirados
- Importando produtos da Amazon automaticamente com plugins como TemasBlog
O WP-Cron é um sistema que desempenha um papel crucial na automação de tarefas dentro do seu site WordPress. A sua funcionalidade é ativada sempre que alguém, seja um visitante, um editor ou até mesmo você, acessa uma página do seu site. Em outras palavras, a cada vez que uma página web do seu site WordPress é carregada, o WP-Cron entra em ação.
Quando um visitante do seu site solicita uma página e esta começa a ser carregada, o WP-Cron entra em cena para verificar se existe alguma tarefa previamente agendada que necessita ser executada naquele momento.
Estas tarefas agendadas, frequentemente referidas como “tarefas cron”, são instruções que o WordPress deve seguir em horários específicos. Após essa verificação, o WP-Cron, caso encontre tarefas cron pendentes, procede ao processamento adequado dessas tarefas, garantindo que sejam executadas conforme o programado.
Como funciona o WP-Cron
O WP-Cron não é um verdadeiro cron job de nível de sistema. Em vez disso, é um script PHP (“wp-cron.php”) que é acionado durante o carregamento de páginas. Veja como funciona:
- Gatilho do visitante: quando um usuário visita seu site, o WP-Cron é acionado.
- Verificação de tarefas: o WP-Cron verifica o banco de dados do WordPress em busca de quaisquer tarefas agendadas que precisam ser executadas.
- Execução de tarefas: se houver tarefas pendentes, o WP-Cron as executa durante o carregamento da página.
Essa abordagem elimina a necessidade de acesso direto ao servidor, mas traz algumas desvantagens, como discutiremos em breve.
Prós do WP-Cron
- Fácil de usar: o WP-Cron funciona imediatamente, sem necessidade de configuração. É perfeito para usuários sem conhecimento técnico.
- Não é necessário acesso ao servidor: o WP-Cron não requer acesso ao painel de controle ou à linha de comando do seu servidor.
- Flexibilidade: plugins e temas podem facilmente agendar suas próprias tarefas usando o WP-Cron.
Contras do WP-Cron
- Execução inconsistente: o WP-Cron depende do tráfego do site para ser executado. Se o seu site tiver pouco tráfego, as tarefas podem não ser executadas no prazo.
- Problemas de desempenho: para sites de alto tráfego, o WP-Cron pode introduzir gargalos de desempenho porque ele é executado durante o carregamento das páginas.
- Dependência de recursos: o WP-Cron pode falhar se o servidor tiver recursos limitados ou se o tempo de execução exceder o limite do script PHP.
- Não adequado para tarefas críticas: tarefas com tempo limitado podem não ser executadas de forma confiável devido ao acionamento baseado em tráfego.
Por que usar um Cron Job real?
Um cron job real é um agendador de tarefas em nível de servidor que é executado em intervalos precisos, independentemente do tráfego do site. Aqui estão seus benefícios:
- Confiabilidade: os trabalhos cron reais são executados no prazo, sempre, independentemente do tráfego do site.
- Desempenho: como as tarefas cron operam no nível do servidor, elas não interferem no carregamento de páginas nem consomem recursos do PHP.
- Precisão: Ideal para tarefas críticas ou com tempo limitado.
Como desabilitar o WP-Cron e usar um Cron Job real
Para deixar de utilizar o sistema WP-Cron padrão e optar por uma tarefa cron configurada diretamente no servidor, garantindo assim uma execução mais precisa e controlada das suas tarefas agendadas, é necessário seguir um conjunto específico de passos. A substituição do WP-Cron, que depende da visita ao seu site para disparar as tarefas, por uma tarefa cron real oferece maior confiabilidade e performance. Desta forma, para realizar essa transição e usufruir dos benefícios de uma tarefa cron verdadeira, siga cuidadosamente as etapas descritas a seguir:
Desabilite o WP-Cron: adicione a seguinte linha ao arquivo do seu site wp-config.php
:define('DISABLE_WP_CRON', true);
- Abra o gerenciado de arquivo no cPanel:

- Procure o arquivo WP-Config na lista:

Com o arquivo WP-Config.php aberto adicione o seguinte código:
define('DISABLE_WP_CRON', true);

Agora vamos configurar a tarefa Cron no cpanel
Configure uma tarefa cron real: Use o painel de controle do seu servidor (por exemplo, cPanel) ou o acesso SSH para configurar uma tarefa cron que acione o sistema cron do WordPress em intervalos regulares. Por exemplo, para executar o WP-Cron a cada 5 minutos, use o seguinte comando:
wget -q -O - https://yourwebsite.com/wp-cron.php?doing_wp_cron > /dev/null 2>&1

Configure isso:

Substitua https://yourwebsite.com
pelo URL do seu site. Ao executar este comando, você garante que o sistema cron do WordPress seja executado em intervalos regulares (a cada 5 minutos) sem depender do tráfego do site. Isso elimina a dependência de tráfego do WP-Cron, garantindo a execução pontual das tarefas agendadas.
Verifique a configuração: certifique-se de que tarefas agendadas, como publicar postagens e limpar transientes, estejam sendo executadas conforme o esperado.
Conclusão
O WP-Cron é um recurso útil que simplifica o agendamento de tarefas para sites WordPress, mas tem suas limitações. Para sites de pequeno e médio porte com tráfego consistente, o WP-Cron pode funcionar bem. No entanto, para sites com alto tráfego ou com tarefas urgentes, mudar para um cron job real pode melhorar significativamente a confiabilidade e o desempenho.
Ao desabilitar o WP-Cron e configurar um cron job real, você garante que as tarefas agendadas do seu site WordPress sejam executadas de forma consistente e eficiente — uma pequena mudança que pode fazer uma grande diferença no desempenho geral do seu site.