Como desabilitar o wp-cron no WordPress e configurar trabalhos adequados no Cron

Publicados: 2022-06-28

Você está tendo problemas com ações agendadas que não funcionam no WordPress?

O WordPress tem um sistema de agendamento chamado wp-cron, mas às vezes ele perde uma tarefa agendada, como publicar postagens agendadas, enviar e-mails acionados, etc. Trabalhos cron adequados executados pelo sistema operacional do seu servidor geralmente são mais confiáveis.

Neste artigo, mostraremos como desabilitar o wp-cron no WordPress e abordaremos duas maneiras de configurar tarefas cron adequadas.

How to Disable wp-cron in WordPress and Set Up Proper Cron Jobs

Por que desativar o wp-cron?

Seu site WordPress possui um sistema de agendamento embutido chamado wp-cron. Ele executa tarefas sensíveis ao tempo, como verificar atualizações, publicar postagens agendadas, criar backups regulares automaticamente, enviar e-mails acionados etc.

Você pode aprender mais em nosso guia sobre como visualizar e controlar trabalhos cron do WordPress.

Viewing Scheduled Tasks in WordPress

O problema é que o WordPress só é solicitado a verificar os trabalhos agendados quando alguém visita seu site. Isso funciona bem o suficiente para a maioria dos sites, mas às vezes pode causar problemas para os menores.

Por exemplo, se seu site tiver pouco tráfego, suas postagens agendadas podem não ser publicadas a tempo. E se o seu site receber muito tráfego, o wp-cron será verificado com frequência, o que pode afetar o desempenho do seu site.

Agora, se você quiser apenas corrigir o erro de postagens agendadas ausentes, poderá usar o plug-in gratuito Missed Scheduled Publisher, mas se quiser resolver todos os problemas de ação agendada, precisará de um trabalho cron real.

Um trabalho cron real é executado pelo sistema operacional do seu servidor de hospedagem na web, não pelo WordPress. Você pode configurá-lo para verificar as tarefas agendadas mais de forma confiável. Por padrão, o WordPress não tem acesso para configurar isso no nível do servidor, mas você pode fazer isso facilmente seguindo nosso tutorial.

Com isso dito, vamos dar uma olhada em como desabilitar o wp-cron e configurar um trabalho cron adequado. Veja o que abordaremos neste tutorial:

  • Desativando o wp-cron no WordPress
  • Configurando um Cron Job adequado em seu host WordPress
  • Configurando um trabalho Cron adequado usando um serviço de terceiros

Desativando o wp-cron no WordPress

Para desabilitar o wp-cron, você precisa editar o wp-config.php, que é um arquivo de configuração central do WordPress. Ele está localizado na pasta raiz do seu site WordPress e você precisará usar um cliente FTP ou o gerenciador de arquivos em seu painel de controle de hospedagem na web.

Este arquivo contém muitas informações confidenciais e fazer as alterações erradas pode quebrar seu site WordPress. Recomendamos fazer um backup do arquivo primeiro, apenas por precaução. Você pode aprender seguindo nosso guia sobre como editar wp-config.php no WordPress.

Você precisará colar o seguinte código no arquivo wp-config.php logo antes da linha que diz 'Isso é tudo, pare de editar! Feliz blog.'

define('DISABLE_WP_CRON', true);
Pasting Code into wp-config

Depois disso, você precisa salvar o arquivo e enviá-lo de volta ao seu site.

O WordPress não acionará mais o wp-cron quando alguém visitar seu site.

Configurando um Cron Job adequado em seu host WordPress

Agora você precisará configurar um cron job adequado para executar suas tarefas agendadas. A maneira como você faz isso varia de acordo com as ferramentas fornecidas pelo seu provedor de hospedagem WordPress.

A maneira mais fácil de configurar tarefas cron é usando o cPanel, um painel de controle de site popular incluído em muitos planos de hospedagem na web, incluindo o Bluehost. Usaremos o Bluehost cPanel neste tutorial.

Nota: Alguns hosts da web não usam o cPanel e alguns podem nem permitir que você crie tarefas cron. Em caso de dúvida, você deve entrar em contato com seu provedor de hospedagem ou consultar sua documentação de suporte. Você sempre pode usar um serviço cron de terceiros (abaixo).

Depois de fazer login na sua conta de hospedagem e navegar até o cPanel, você deve rolar para baixo até encontrar 'Cron Jobs' e clicar nele.

Você pode encontrá-lo na seção 'Avançado', mas isso pode variar dependendo do seu provedor de hospedagem.

Find 'Cron Jobs' in cPanel

Isso o levará a uma nova página onde você pode criar novos cron jobs.

Não se preocupe com o aviso que você verá sobre a necessidade de um bom conhecimento dos comandos do Linux. Apenas um comando é necessário, e mostraremos exatamente o que é abaixo.

The cPanel Cron Jobs Page

Se precisar, você pode alterar o endereço de e-mail para onde as notificações de tarefas cron serão enviadas. O endereço padrão é aquele que você usou quando se inscreveu para sua hospedagem na web, e isso funcionará bem na maioria dos sites.

Agora, vamos rolar para baixo até a seção 'Adicionar novo trabalho Cron' e configurar um trabalho cron.

Primeiro, você precisa decidir com que frequência o cron job será executado. Isso pode ser o que você quiser, mas recomendamos um intervalo de 30 minutos.

Você precisará clicar no botão 'Configurações comuns' e selecionar um intervalo de tempo no menu suspenso. 'Twice Per Hour' é uma boa escolha para a maioria dos sites se você não tiver certeza.

Creating a New Cron Job in cPanel

Agora você pode digitar o comando que pedirá ao WordPress para executar suas tarefas agendadas. Você precisa colar o seguinte código no campo 'Command':

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

Certifique-se de substituir 'example.com' pelo URL do seu próprio site.

Depois de fazer isso, certifique-se de clicar no botão 'Adicionar novo trabalho Cron' e você verá o novo trabalho cron adicionado à lista abaixo.

Viewing the List of Cron Jobs in cPanel

O WordPress agora verificará e executará tarefas agendadas a cada 30 minutos, em vez de quando alguém visitar seu site.

Configurando um trabalho Cron adequado usando um serviço de terceiros

Se o seu plano de hospedagem não oferecer cron jobs adequados ou se eles forem difíceis de configurar, você poderá usar um serviço cron de terceiros.

Esses são serviços dedicados que permitem configurar tarefas cron usando uma interface simples. Aqui estão alguns dos melhores:

  • EasyCron tem um plano gratuito que requer renovação mensal
  • cron-job.org é um serviço gratuito
  • O Cronitor é gratuito se você precisar apenas de um cron job
  • SetCronJob oferece planos pagos a partir de $ 10/ano

Para este tutorial, usaremos o EasyCron porque é fácil de usar e o plano gratuito é adequado para a maioria dos casos de uso de iniciantes.

Depois de criar uma conta gratuita, você pode criar um novo cron job clicando no botão '+ Cron Job' à esquerda.

Creating a New Cron Job in EasyCron

Isto irá abrir a tela 'Criar Trabalho Cron'. Primeiro, você precisa colar o seguinte URL no campo 'URL para chamar'.

https://example.com/wp-cron.php?doing_wp_cron

Certifique-se de substituir 'example.com' pelo URL do seu próprio site.

Creating a New Cron Job in EasyCron

Depois disso, você deve escolher 'A cada 30 minutos' no menu suspenso 'Quando executar'. Quando terminar, não se esqueça de clicar no botão 'Create Cron Job' para armazenar suas configurações.

O novo trabalho cron será adicionado à lista e executará wp-cron em seu site a cada 30 minutos.

Viewing the List of Cron Jobs in EasyCron

Esperamos que este tutorial tenha ajudado você a aprender como desabilitar o wp-cron no WordPress e configurar tarefas cron adequadas. Você também pode querer ver nosso guia passo a passo para WordPress SEO, ou confira nossa lista de erros comuns do WordPress e como corrigi-los.

Se você gostou deste artigo, assine nosso canal do YouTube para tutoriais em vídeo do WordPress. Você também pode nos encontrar no Twitter e no Facebook.