Desempenho e monitorização
Substituir o WP-Cron por uma tarefa agendada do alojamento
O WordPress utiliza o WP-Cron para executar eventos pendentes, como publicações agendadas e tarefas de plugins. Habitualmente, são as visitas que ajudam a acionar a sua execução. Isto simplifica a instalação, mas um site com pouco tráfego pode executar tarefas tarde e um site com muita atividade pode preferir um acionamento de sistema.
Não se trata de eliminar as tarefas, mas de mudar a forma como se iniciam. Desativar o WP-Cron sem um substituto operacional pode deixar pendentes publicações, emails ou operações da loja.
Opção com o Softaculous
No WordPress Manager by Softaculous, localize a instalação correta e a opção WordPress Cron (wp-cron.php). O Softaculous permite desativar o acionamento por visitas e substituí-lo por uma tarefa do sistema.
Depois reveja Cron Jobs no cPanel: verifique se foi criada, que instalação executa e com que frequência. A modalidade documentada pelo Softaculous pode ser horária; não assuma que serve para tarefas que devem ser executadas a cada poucos minutos. Não acrescente outra tarefa equivalente se já existir uma.
Consulte o gestor oficial do Softaculous para conhecer as funções da sua versão e teste um evento agendado antes de dar a alteração por concluída.
Configuração manual
Guarde uma cópia do wp-config.php e reveja as tarefas existentes. A partir de Cron Jobs do cPanel, prepare uma tarefa com a frequência de que a aplicação precisa. A cada cinco minutos pode ser um ponto de partida, mas não garante precisão ao segundo nem que uma tarefa longa tenha terminado antes da seguinte.
Se utilizar um pedido HTTPS, teste primeiro este comando com o domínio e o caminho reais do WordPress:
curl --fail --silent --show-error --max-time 60 --output /dev/null 'https://oseudominio.com/wp-cron.php?doing_wp_cron'
Verifique que não responde um redirecionamento, uma página de login, um desafio da firewall ou uma cópia em cache. O comando não segue redirecionamentos: utilize o URL final correto. O limite de espera do cliente não demonstra que o trabalho do servidor tenha parado.
Se o WordPress estiver num subdiretório, inclua-o. No formulário do cPanel, os campos de data e hora estão separados do comando; não cole aí uma linha completa de crontab se só for pedido o comando.
Depois de o substituto estar testado e agendado, acrescente ao wp-config.php, antes de carregar o WordPress:
define('DISABLE_WP_CRON', true);
Se a constante já existir, altere o seu valor sem a duplicar. O procedimento do WordPress explica esta mudança de acionamento.
Verificar tarefas e evitar duplicados
Verifique uma publicação agendada de teste e os eventos importantes dos seus plugins. Reveja as tarefas em atraso e os erros. Uma resposta HTTP correta não garante que todos os callbacks tenham terminado sem falhas.
Se preferir executar os eventos através do WP-CLI, verifique com o programador o caminho, a versão de PHP, o contexto do site e a política de concorrência. Não mantenha ao mesmo tempo várias tarefas equivalentes do Softaculous, HTTP e WP-CLI.
Se algo falhar, reponha o acionamento anterior e retire ou pause o substituto que não funciona. Não deixe DISABLE_WP_CRON ativo enquanto investiga sem outra via que execute os eventos. Em multisite, reveja as necessidades de cada site da rede.
Também lhe pode ser útil
- Acelerar e otimizar o WordPress e o WooCommerce passo a passo Otimize o WordPress e o WooCommerce passo a passo revendo PHP, cron, LiteSpeed Cache, imagens, base...
- Como carregar o script do reCAPTCHA com o Contact Form 7 apenas onde for necessário Avalie o custo do reCAPTCHA no Contact Form 7 e limite o seu carregamento só depois de identificar t...
- Consultas SQL lentas do tipo "SELECT SQL_CALC_FOUND_ROWS" Diagnostique consultas lentas do WordPress com SQL_CALC_FOUND_ROWS, identifique a sua origem e valid...
- Consultas SQL para limpar dados órfãos e purgar a base de dados do WordPress Limpe dados órfãos, revisões e transientes do WordPress com consultas verificadas, cópia recuperável...
Algo não bate certo ou mudou? Diga-nos e revemos.