
O WordPress tem um sistema para executar tarefas agendadas em segundo plano. Este sistema realiza muitas tarefas valiosas, como limpar dados internos, verificar atualizações disponíveis e executar ações que os Plugins devem fazer numa altura específica ou regularmente, como criar Backups periódicos do teu site.
Se recebes uma mensagem a indicar que o agendador de cron jobs do WordPress não parece executar tarefas agendadas, verifica as razões abaixo:
O teu site tem visitantes?
Se ninguém visitou o teu site durante algum tempo, esta situação é de esperar. O WordPress só tem oportunidade de fazer algo quando os visitantes acedem às páginas. Sem visitantes, o WordPress nunca é acedido e não pode iniciar quaisquer tarefas agendadas em segundo plano. Por isso, esta mensagem não é surpreendente se o teu site é um site de Staging ou de desenvolvimento sem visitantes reais por outras razões. Visita algumas páginas e a mensagem deve desaparecer.
Modo de manutenção do WordPress ativo?
O teu site está em modo de manutenção? Isto desativa todas as tarefas agendadas. Por isso, desliga o modo de manutenção para ativar os cron jobs do WordPress.
O WP Cron está ativo ou desativado?
O agendador do WordPress pode estar desativado na configuração do teu site. O WP STAGING avisa-te se for o caso e mostra um aviso de que DISABLE_WP_CRON está como true no wp-config.php do teu site.
Também podes verificar manualmente:
Procura no ficheiro wp-config.php (localizado na raiz da tua instalação WordPress) a linha abaixo e remove-a. Opcionalmente, podes mudar true para false:
define('DISABLE_WP_CRON', true);Neste caso, desativá-lo pode ser algo que o teu fornecedor de Hosting fez intencionalmente, por isso tem em conta que podem voltar a desativá-lo. Contudo, também pode ser algo que tu fizeste deliberadamente e encontraste outra forma de aceder ao agendador do WordPress, talvez através do painel de controlo do teu fornecedor de Hosting.
Neste caso, a mensagem sobre DISABLE_WP_CRON é de esperar. Então, deves garantir que o agendador é chamado com frequência suficiente para processar todas as tarefas agendadas para o teu site.
Nenhum Backup agendado vai correr até que tenhas configurado o sistema agendador para o invocar.
Nota também que o DISABLE_WP_CRON pode estar definido num ficheiro que não o wp-config.php. O wp-config.php é simplesmente o local mais provável. Se recebes um aviso sobre DISABLE_WP_CRON, deve estar noutro sítio, mas não no wp-config.php. O melhor é procurares.
As ligações loopback estão a funcionar?
Alguns fornecedores de Hosting desativam intencionalmente, embora sem boa razão, as ligações “loopback” que permitem ao WordPress executar o seu agendador. Isto também acontece se o teu site está protegido com palavra-passe ou se executas um site de Staging que não está aberto ao público.
Se as ligações loopback não funcionarem (intencionalmente desativadas ou não), podes experimentar usar o sistema de agendamento alternativo do WordPress.
Adiciona algures a meio do teu ficheiro wp-config.php uma linha com o seguinte texto:
define('ALTERNATE_WP_CRON', true);Não a adiciones demasiado tarde no ficheiro, ou não terá efeito.
Todo o teu site está protegido por palavra-passe?
Outra razão para o WP Cron e os Backups agendados não funcionarem pode ser que todo o teu site esteja protegido por palavra-passe ao nível HTTP. Isto pode ser feito através de um ficheiro .htaccess.
Isto também impede que o agendador do WordPress funcione. Deves configurar o teu servidor web para permitir ligações “loopback” para permitir ligações a si próprio. Caso contrário, o agendador do WordPress e tudo o que depende dele vai deixar de funcionar. Se usas Apache e .htaccess, tenta adicionar estas duas linhas à secção de controlo de acesso do teu .htaccess:
Allow from 0.0.0.0
Satisfy AnySubstitui 0.0.0.0 pelo endereço IP do teu site.
Usas o servidor web LiteSpeed?
Consulta este artigo se usas o servidor web LiteSpeed e os teus cron jobs do WP não funcionam.
Artigos relacionados
- Desativar o cron do WordPress (wp-cron) e ativar cron jobs externos
- Como desativar cron jobs do WordPress num site de Staging
- Como criar um Backup agendado. Criar um Backup a uma hora específica
- Ativar o registo de debug do WordPress (modo Debug)
- Como desativar o Action Scheduler / subscrições do WooCommerce num site de Staging