O que é WP-Cron e quando é que os cronjobs "reais" são úteis para o seu site WordPress ?

7 min.

Agendando a publicação de posts em WordPress , verificando Plugins para atualizações, criando backups - todos estes são exemplos típicos de tarefas que acontecem repetidamente. E é aqui que a WP-Cron entra em jogo em WordPress . O que isto significa e quando os trabalhos de cron do lado do servidor fazem mais sentido, nós explicamos neste post.

Como você sabe, o seu computador realiza inúmeros cálculos com uns e zeros, todos eles com uma tarefa a completar. Muitas destas são tarefas que precisam de ser repetidas. Uma e outra vez - como escovar os dentes. Portanto, tenho a seguinte pergunta para si:

Se pudesses automatizar a escovagem dos dentes, não o farias?

O seu site WordPress tem tarefas de manutenção automatizadas que precisa de executar regularmente. Neste artigo, vamos ver quais são estas tarefas, que problemas podem causar e como RAIDBOXES torna super fácil para você administrá-las.

Cada vez que a sua máquina local lhe dá uma mensagem popup de que uma actualização foi encontrada ou um e-mail chegou à sua caixa de entrada, é quase de certeza um cronjob a trabalhar nos bastidores.

O que é Cron? 

Cron é um comando de agendamento de tarefas que é integrado em sistemas baseados em Linux - como Ubuntu, Debian ou mesmo Mac OSX - e também em servidores. No Windows, a funcionalidade é chamada de "Agendador de Tarefas".

Documentação sobre a utilização da função cron nestes sistemas pode ser encontrada aqui: 

O que é que o Cron faz afinal?

O objetivo do cron é realizar tarefas repetitivas - por exemplo, verificar as atualizações disponíveis ou enviar e receber e-mails. Isto normalmente é configurado para você por padrão. Mas quanto mais software você tiver instalado em sua máquina, mais trabalhos provavelmente serão adicionados. Por exemplo, a captura de tela abaixo mostra um cronjob no Agendador de Tarefas no Windows 10. 

O que é WP-Cron e quando é que os cronjobs "reais" são úteis para o seu site WordPress  ?

Está se perguntando como isso funciona? Cron funciona agendando tarefas com base na hora do seu aparelho, e pode ser configurado por minuto, hora, dia, semana, mês e ano. Em Cron, você define um horário específico para uma ação a ser executada. 

O que é WP-Cron?

WordPress Cron, também conhecido como WP-Cron, é um arquivo PHP que normalmente pode ser encontrado no diretório raiz da sua instalação WordPress . 

O que é WP-Cron e quando é que os cronjobs "reais" são úteis para o seu site WordPress  ?

E o que faz o WP-Cron?

O arquivo WordPress cron (wp-cron.php) contém as tarefas automatizadas que sua instalação WordPress precisa realizar. Por exemplo, coisas como verificar se há actualizações em Plugins e WordPress ou publicar mensagens agendadas. Para mais informações, consulte a documentação"O que é WP-Cron" no manual oficial WordPress Plugin Handbook. 

WP-Cron versus Cron

A principal diferença entre WordPress cron e o cron scheduler é que o wp-cron.php só é executado quando um usuário visita seu site e aciona um carregamento de página. Isto significa que WordPress requer uma solicitação HTTP/HTTPS do seu site para executar tarefas agendadas. A tarefa cronológica é então enfileirada para ser executada. 

Você pode estar se perguntando, e com razão:

Porque é que o WP Cron só funciona quando um utilizador visita o meu site! 

Bem, muitos hosts WordPress só oferecem hospedagem compartilhada, o que geralmente significa que o host não lhe dá acesso ao comando cron. Porque se o fizessem, você teria acesso aos comandos do servidor e todos os dados no servidor estariam potencialmente comprometidos. Então WordPress Cron é a solução para este problema.

A segunda diferença é que ao usar o Cron, você pode definir horários específicos (por exemplo, 17:00 diariamente para executar uma tarefa). Em WP-Cron, por outro lado, você define intervalos (por exemplo, 14:00 e intervalo X depois disso). O WP-Cron então executa a tarefa nesses intervalos, desde que um usuário tenha visitado o site. Para mais informações, consulte também: Entendendo a Programação de WP-Cron

WP-Cron e desempenho

Devido ao facto de o WP-Cron ser accionado sempre que um utilizador visita o seu website, isto pode causar problemas tanto para websites pequenos como grandes. Eu vou explicar porquê agora.

Sites pequenos e geograficamente específicos

Para sites menores com pouco tráfego, o problema é que a tarefa cron não é executada com frequência suficiente. Exemplo: E se o seu site é suposto fazer backup às 2:00 da manhã, mas você tem um pequeno site guia de viagem que opera apenas em uma cidade. Neste caso, é improvável que o seu público-alvo visite o seu site às 2:00 da manhã e acione o cronjob. E se for em época baixa, você pode não receber um visitante no seu site por dias. 

Sites maiores e alcance global

Entretanto, para sites com um grande número de usuários, o WP-Cron pode causar alguns problemas de desempenho e até tornar seu site vulnerável a um ataque DDoS. Agora, se você provavelmente entrou em pânico e pegou seu mouse ou xícara de café na menção de um ataque DDoS: não se preocupe muito, porque há uma solução para tudo.

O que está a causar o problema?

A quantidade de tráfego está a causar o problema. Para os grandes sites, o tráfego é, naturalmente, obrigatório e importante para os negócios, por isso, limitar as chamadas não é uma opção para resolver o problema. 

Lembre-se, cada visita a uma página resulta no accionamento do WP-Cron - e, claro, isso coloca uma tensão no seu servidor porque requer recursos.

Há uma maneira melhor?

Felizmente, a resposta é "sim". Embora não possamos facilmente reduzir o tráfego, abrir lojas físicas ao redor do globo, ou mudar a forma como WordPress é construído. Mas nós podemos mudar o que faz o WP-Cron funcionar. 

Em vez de correr wp-cron.php baseado em visitas a páginas, podemos configurar uma tarefa cron no servidor de alojamento que corre WP-Cron em intervalos específicos. Vou mostrar-te como se faz isso.

Configure a execução do wp-cron.php do lado do servidor em RAIDBOXES

Para tornar o seu trabalho o mais fácil possível, a equipa aqui em RAIDBOXES incorporou esta funcionalidade directamente no painel do RB. Você literalmente precisa de cinco cliques para configurar a execução no lado do servidor do cronjobs WordPress ! Se você é um desenvolvedor procurando economizar tempo, este é um dos ajustes mais fáceis de se fazer.

Para ativar o cronjobs do lado do servidor no seu painel RAIDBOXES , primeiro vá para as configurações do seu BOX e depois clique em "Cronjobs" na barra lateral. 

O que é WP-Cron e quando é que os cronjobs "reais" são úteis para o seu site WordPress  ?

Agora você vai ver todas as configurações para os seus cronjobs. 

O que é WP-Cron e quando é que os cronjobs "reais" são úteis para o seu site WordPress  ?


Agora você deve configurar o seguinte no cronjobs:

  1. Desligue "Run WP-Cron" (isto evita que o WP-Cron seja accionado pelos visitantes do site).
  2. Ative "Run WP-Cron server-side" (isso adiciona uma tarefa cron ao servidor para acionar o wp-cron.php no intervalo que você especificar). 

É só isso!

Atenção

Se você desligar Run WP-Cron e também a opção Run WP-Cron server-side estiver desativada, nenhum trabalho cron será mais executado no seu site.

Para esta personalização, não é necessário, portanto, entrar em contato com seu hoster, entrar no cPanel ou editar manualmente seu arquivo wp-cron.php. Em RAIDBOXES você só precisa de alguns cliques e pode monitorar e gerenciar seus cronjobs diretamente no painel do RB. Então você não precisa instalar um Plugin adicional para ver seus cronjobs.

Se você quiser fazer outras configurações, você também pode definir o intervalo no qual o wp-cron.php deve ser executado no painel RAIDBOXES .

O que é WP-Cron e quando é que os cronjobs "reais" são úteis para o seu site WordPress  ?

Há muita especulação sobre o "melhor " intervalo para o seu cronjobs. Geralmente recomendamos não descer abaixo de 5 minutos. 

Edite o seu WordPress cronjobs

Sem Plugins

Se você não quer instalar Plugin para editar seu arquivo wp-cron.php, isso não é problema! Em RAIDBOXES você pode facilmente gerenciar seus cronjobs através do painel do RB, como descrito acima. Claro, você também pode acessar seus cronjobs através de uma conexão SSH. Uma vez conectado à sua conta, você pode editar o wp-cron.php no diretório raiz do seu site WordPress .

Se você quer saber como tornar seu fluxo de trabalho ainda mais eficiente com o SSH, é melhor conferir nosso artigo"The Perfect WordPress Development Workflow with Git & SSH"

Com Plugins

Actualmente o mais popular Plugin para gerir o WP cronjobs é o"WP Crontrol". Você também pode pesquisar e instalar o Plugin diretamente em seu WordPress em Plugins e instala-a. 

O que é WP-Cron e quando é que os cronjobs "reais" são úteis para o seu site WordPress  ?

Na página do WP Crontrol's Plugin em WordPress .org você também pode encontrar documentação útil sobre como usar Plugin corretamente

Configurar manualmente o servidor para acionar o WP-Cron (não é necessário com RAIDBOXES)

Com um pequeno esforço de configuração, você também pode configurar seu próprio servidor para executar o wp-cron.php em intervalos específicos.

  1. Editar o wp-cron.php 

Em wp-cron.php

  • Desactive o seu ficheiro wp-cron.php adicionando o seguinte código ao ficheiro:
define('DISABLE_WP_CRON', 'true');

Depois disso, o wp-cron.php não será mais acionado quando um usuário visitar seu site.

  1. Adicione um cronjob ao seu servidor

No seu ambiente de servidor

Dependendo do seu ambiente de hospedagem, uma das duas opções abaixo pode se aplicar à sua situação específica: 

  • Se você usa um serviço de hospedagem WordPress compartilhado, entre em contato com o seu provedor de hospedagem e peça para adicionar um gatilho cron do lado do servidor para wp-cron.php se você mesmo não tiver acesso aos comandos do Linux.
  • Ou, se você estiver rodando seu site com o cPanel e tiver acesso à sua linha de comando, verifique a documentação apropriada do cPanel

O ficheiro cron do WP é facilmente ignorado quando se constrói um site WordPress , mas pode levar a erros notáveis se o seu site ganhar uma quantidade decente de tráfego.

WordPress Preparar para picos de tráfego

Você espera muito tráfego no seu site WordPress , por exemplo, devido a uma campanha de marketing? Então você precisa da preparação certa! O nosso Chefe de Desenvolvimento Matthias mostra-lhe quais as 13 medidas que pode tomar para preparar o seu WordPress para cargas elevadas.

Conclusão

Espero que este artigo o ajude a compreender o que é a função cron WordPress e como funciona. Usado corretamente, ele pode ajudá-lo a automatizar de forma confiável tarefas importantes para que você possa se concentrar no que é importante.

O nosso objectivo é tornar a gestão do seu cronjobs WP tão fácil e conveniente quanto possível através do painel de instrumentos RAIDBOXES . Desta forma, você pode otimizar ainda mais o desenvolvimento e a gestão do seu site através deste acesso rápido e direto.

Tem mais perguntas sobre o WP-Cron ou sobre o nosso painel de instrumentos? Sinta-se à vontade para nos deixar um comentário! Quer ser informado sobre novas mensagens em WordPress ? Depois siga-nos no Twitter, Facebook ou através da nossa newsletter.

Como desenvolvedor web em RAIDBOXES , Marten está sempre trabalhando em novos recursos para nossos clientes. Em "wp unboxed" ele também pontua com seus conhecimentos sobre desenvolvimento web, WordPress e nosso painel de controle. E em seu tempo livre ele também gosta de lidar com a auto-hospedagem e as últimas tendências na internet.

Artigos relacionados

Comentários sobre este artigo

Escreve um comentário

O teu endereço de e-mail não será publicado. Os campos obrigatórios estão marcados com *.