Melhore o desempenho desativando o WP-Cron (wp-cron.php)

Os trabalhos CRON desempenham um papel crucial na gestão de tarefas agendadas em um site WordPress, permitindo a execução automatizada em horários específicos, datas programadas ou intervalos regulares. Exemplos comuns de cron jobs no WordPress incluem agendar a publicação de postagens, verificar atualizações e executar backups de plugins de acordo com uma programação pré-determinada.

No ambiente WordPress, essa funcionalidade é implementada através do WP-Cron, uma ferramenta que simula a funcionalidade de um cron do sistema. No entanto, é importante observar que, dependendo do tráfego do seu site, o uso do WP-Cron integrado pode impactar negativamente o tempo de carregamento da página.

Para otimizar o desempenho do seu site, apresentaremos uma abordagem alternativa que envolve desabilitar o WP-Cron (wp-cron.php) e, em vez disso, utilizar um cron do sistema. Essa mudança pode resultar em uma melhoria significativa no tempo de carregamento da página, garantindo uma execução eficiente e rápida das tarefas agendadas. A seguir, detalharemos como realizar esse processo para otimizar a performance do seu site WordPress.

Problemas de desempenho com WP-Cron

Na HostHP, lidamos com uma variedade de sites exigentes e com alto tráfego, o que nos proporciona uma visão aprofundada dos desafios de desempenho associados ao manipulador Cron integrado do WordPress, conhecido como WP-Cron. É crucial reconhecer que o WP-Cron não opera como um cron job convencional; trata-se, na verdade, de uma implementação criada pelo WordPress para simular as funcionalidades de um cron do sistema.

Um dos principais inconvenientes do WP-Cron é sua natureza não contínua. Por padrão, os acionamentos do wp-cron.php são desencadeados a cada carregamento de página, o que, em sites de alto tráfego, pode acarretar problemas significativos. Em casos nos quais um site não dispõe de trabalhadores PHP em quantidade suficiente, pode ocorrer uma situação na qual uma solicitação é recebida, o WordPress gera o cron, mas este precisa aguardar a disponibilidade de um trabalhador, resultando em atrasos.

O inverso também é verdadeiro: em sites com baixo tráfego, compromissos agendados podem ser perdidos simplesmente porque ninguém carregou a página nesse período.

Uma solução mais eficaz é desabilitar o WP-Cron e adotar o uso do cron do sistema. Essa abordagem opera em um cronograma predefinido e é, inclusive, recomendada no manual oficial do Plugin. Fazer essa transição não apenas melhora o desempenho, mas também oferece uma gestão mais eficiente das tarefas agendadas, proporcionando uma experiência mais consistente para os usuários.

Como desativar o WP-Cron

Para desativar o WP-Cron, insira o seguinte código no arquivo wp-config.php, posicionando-o imediatamente antes da linha que contém a mensagem “Isso é tudo, pare de editar! Feliz blog.” Importante ressaltar: essa ação desativa a execução no carregamento da página, não quando você a chama diretamente através do arquivo wp-cron.php.

 

Como agendar o cron do sistema

Você deverá agendar a execução do arquivo wp-cron.php diretamente no seu servidor. Se você estiver utilizando um host com cPanel, é possível criar um cron do sistema diretamente no painel de controle. Importante observar: certifique-se de desativar o WP-Cron padrão mencionado anteriormente antes de prosseguir com essa configuração.

Passo 1:

Inicie sessão no cPanel. Na seção “Avançado”, clique em “Cron Jobs”.

Wp-cron

Passo 2:

Na área “Adicionar Novo Cron Job”, você terá a opção de escolher entre diversos agendamentos predefinidos, como a frequência de duas vezes por hora ou uma vez por semana. É importante observar que o seu provedor de hospedagem provavelmente impõe um limite na frequência permitida para a execução de cron jobs. A configuração de duas vezes por hora é comumente utilizada em ambientes de hospedagem compartilhada.

Wp-cron

Passo 3:

Insira o seguinte comando, substituindo “https://domain.com” pelo seu nome de domínio. Este comando pode ter variações com base na configuração específica da sua hospedagem. Após isso, clique em “Adicionar Novo Cron Job”.

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

Wp-cron

Nesta parte do comando  >/dev/null 2>&1 acima é desativa notificações por e-mail. Este tutorial terá novas atualizações para o DirectAdmin, fique atento.