Você já notou que suas postagens agendadas no WordPress estão faltando? Apesar de que o WordPress tenha seu próprio recurso de cron que determina o agendamento das postagens e dos eventos do seu blog, o WP-cron não é um trabalho cron literal.
Cron Job do cPanel vs. WP-Cron
As tarefas agendadas do Linux podem ser controladas pelo usuário, assegurando que os itens restritos por planejamento sejam executados adequadamente. Além disso, para um site WordPress de alto tráfego, uma tarefa cron do Linux pode ajudar a reduzir as chances de inatividade diminuindo a largura de banda no servidor, usando menos recursos do servidor.
O WP-cron é um cron virtual que só funciona quando a página é carregada. Por exemplo, o WP-cron é carregado pela primeira vez pelo WordPress quando uma página é solicitada na frente ou no back-end de um site, no ponto em que o WP-cron exibe a página necessária para o visitante do site. Embora seja conveniente, sabe-se que falha por diversos motivos, incluindo, entre outros, os seguintes:
- Conflito de plugins
- Problemas relacionados ao DNS
- Erros do WordPress
- Uso de plugins de cache
- Grande carga do servidor
Como substituir o WP-Cron por um trabalho Linux Cron
A melhor maneira de otimizar a eficiência de suas tarefas agendadas do WordPress é desabilitar o WP-cron e configurar uma tarefa normal do cron através do cPanel, que será executado a cada hora.
1. Desativar wp-cron.php
Você pode desabilitar o WP-cron modificando o wp-config.php (localizado na pasta onde o WordPress está instalado). Abra o arquivo wp-config.php, adicione uma nova linha após a tag “<?php” e adicione o seguinte código na nova linha:
define('DISABLE_WP_CRON', true);
2. Configurar um Linux Cron
Aviso: é importante que você se familiarize com o funcionamento das tarefas agendadas. Em tempo, você precisa ter um conhecimento prático dos comandos do Linux antes de usar os trabalhos cronicamente de forma eficaz.
Para configurar uma tarefa cron do Linux:
- Faça o login no seu cPanel.
- Na seção Avançado, clique em Tarefas Cron.
- Em Adicionar novo trabalho Cron, selecione o intervalo de tempo. Em princípio, a homehost recomenda que você não defina um intervalo de 15 minutos.
- Defina o comando cron para o seguinte, substituindo seusite.com pelo seu nome de domínio real:
wget -q -O - http://seusite.com/wp-cron.php?doing_wp_cron > /dev/null 2> & 1
O comando acima diz ao servidor Linux para executar o wp-cron via wget, que em seguida, acionará o script wp-cron.php para fazer seu trabalho em sua programação, e não em cada visualização de página. - Clique em Adicionar novo trabalho cron para definir o cron.
Para testar o novo cron, simplesmente aguarde o período de tempo decorrido para a execução da tarefa agendada. Em síntese, caso a tarefa do cron não seja executada, revise as etapas listadas acima para garantir que você concluiu todas as etapas corretamente.
Agendar a cron do wordpress pelas tarefas cron do servidor reduz o consumo de CPU de suas páginas. No entanto, caso tenha muitas instalações do wordpress em uma única conta tenha cuidado ao agendar suas tarefas para evitar que todos sejam executados ao mesmo tempo.