Categorias: Code WordPress

Desativar WP-Cron para melhorar desempenho do site

Cron é um utilitário do Linux que agenda um comando ou script para ser executado automaticamente em um horário e data específica. Cron job é a tarefa agendada que será executada.

O WordPress usa o WP-Cron para simular o cron, mas ele é executado cada vez que um visitante entra no site. Sendo assim, dependendo da quantidade de visitas que o site recebe, pode ser um problema, pois acaba consumindo muitos recursos do servidor.

Por isso é recomendado desativar o WP-Cron e criar um cron job no cPanel, especialmente para sites com muito tráfego.

Desativando o WP-Cron

Para desativar o WP-Cron, abra o arquivo wp-config.php que fica na pasta raiz da instalação do WordPress que deseja desativar o wp-cron, e adicione o código abaixo, salve e suba novamente o arquivo:

/* disable wp cron */
define( 'DISABLE_WP_CRON', true );

Criando Cron Job no cPanel

No cPanel vá em Cron Jobs (Trabalhos Cron) e na seção Add New Cron Job (Adicionar novo trabalho cron) você terá as configurações para criar o cron.

Você poderá escolher o minuto, hora, dia, mês e semana, exatamente quando quer que o comando seja executado.

Para sites que tem muitos posts agendados, você pode escolher para executar a cada 15 minutos, que acredito que deva ser suficiente. Mas o ideal é você fazer um teste, deixe por um tempo, talvez uma semana, para ver se vai funcionar tudo como gostaria, se achar que ficou ruim, você pode editar a tarefa a qualquer momento, no cPanel.

Na linha Command (Comando), digite o código abaixo, alterando o https://site.com para o endereço do site que está configurando:

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

Ou você pode usar o Command (Comando) abaixo, alterando o usuario_cpanel para o usuário do cPanel do site que está configurando:

/usr/local/bin/php /home/usuario_cpanel/public_html/wp-cron.php >/dev/null 2>&1

Essa parte do comando acima >/dev/null 2>&1 é para desativar as notificações por email (ninguém precisa ficar recebendo email a cada 15 minutos – ou o tempo que você configurar no comando – só para avisar que foi executado).