Cos'è WP-Cron e quando sono utili i "veri" cronjob per il tuo sito WordPress  ?

Cos'è WP-Cron e quando sono utili i "veri" cronjob per il tuo sito WordPress ?

Programmare la pubblicazione dei post in WordPress , controllare plugin per gli aggiornamenti, creare i backup - questi sono tutti esempi tipici di compiti che avvengono ripetutamente. Ed è qui che WP-Cron entra in gioco in WordPress . Cosa significa questo e quando i cron job lato server hanno più senso, lo spieghiamo in questo post.

Come sapete, il vostro computer esegue costantemente e a rotta di collo innumerevoli calcoli con uno e zero, che hanno tutti un compito da svolgere. Molti di questi sono compiti che devono essere ripetuti. Più e più volte - come lavarsi i denti. Quindi ho la seguente domanda per voi:

Se poteste automatizzare il lavaggio dei tuoi denti, lo fareste?

Il tuo sito web WordPress ha delle attività di manutenzione automatizzate che deve eseguire regolarmente. In questo articolo vedremo cosa sono queste attività, quali problemi possono causare e come Raidboxes ti permette di gestirle in modo super semplice.

Ogni volta che la vostra macchina locale vi dà un messaggio popup che un aggiornamento è stato trovato o una e-mail è arrivata nella vostra casella di posta, è quasi certamente un cronjob che lavora dietro le quinte.

"*" indica i campi obbligatori

Desidero iscrivermi alla newsletter per essere informato sui nuovi articoli del blog, sugli ebook, sulle funzionalità e sulle novità di WordPress. Posso ritirare il mio consenso in qualsiasi momento. Si prega di prendere nota della nostra Politica sulla Privacy.
Questo campo è per la convalida e non deve essere modificato.

Che cos'è Cron? 

Cron è un comando di pianificazione delle attività che è integrato nei sistemi basati su Linux - come Ubuntu, Debian o anche Mac OSX - e anche sui server. In Windows, la funzionalità si chiama "Task Scheduler".

La documentazione sull'uso della funzione cron in questi sistemi è disponibile qui: 

A cosa serve Cron?

Lo scopo di cron è quello di eseguire compiti ripetitivi - per esempio, controllare gli aggiornamenti disponibili o inviare e ricevere e-mail. Questo di solito è impostato per voi in modo predefinito. Ma più software hai installato sulla vostra macchina, più lavori saranno probabilmente aggiunti. Per esempio, lo screenshot qui sotto mostra un cronjob in Task Scheduler in Windows 10. 

Windows Cron

Ti stai chiedendo come funziona? Cron funziona programmando le attività in base al tempo del vostro dispositivo, e può essere impostato per minuto, ora, giorno, settimana, mese e anno. In Cron, si imposta un tempo specifico per l'esecuzione di un'azione. 

Che cos'è WP-Cron?

WordPress Cron, noto anche come WP-Cron, è un file PHP che di solito si trova nella directory principale della vostra installazione WordPress . 

Posizione di Wp Cron

E cosa fa WP-Cron?

Il file cron di WordPress (wp-cron.php) contiene i compiti automatici che la tua installazione WordPress deve eseguire. Per esempio, cose come il controllo degli aggiornamenti di plugin e WordPress o la pubblicazione di post programmati. Per maggiori informazioni, vedere la documentazione"Cos'è WP-Cron" nel manuale ufficiale di WordPress Plugin . 

WP-Cron contro Cron

La differenza principale tra WordPress cron e il cron scheduler è che wp-cron.php viene eseguito solo quando un utente visita il tuo sito web e attiva il caricamento di una pagina. Questo significa che WordPress richiede una richiesta HTTP/HTTPS dal tuo sito web per eseguire compiti programmati. Il compito cron viene quindi messo in coda per essere eseguito. 

Vi starete chiedendo, e giustamente:

Perché WP Cron funziona solo quando un utente visita il mio sito! 

Bene, molti host WordPress offrono solo hosting condiviso, il che di solito significa che l'host non ti dà accesso al comando cron. Perché se lo facessero, avreste accesso ai comandi del server e tutti i dati sul server sarebbero potenzialmente compromessi. Quindi WordPress Cron è il workaround per questo problema.

La seconda differenza è che quando si usa Cron, si possono impostare orari specifici (per esempio, le 17:00 di ogni giorno per eseguire un compito). In WP-Cron, invece, si impostano gli intervalli (per esempio, 14:00 & intervallo X dopo). WP-Cron quindi esegue il compito a quegli intervalli finché un utente ha visitato il sito. Per maggiori informazioni, vedi anche: Capire la programmazione di WP-Cron

WP-Cron e le prestazioni

Dato che WP-Cron viene attivato ogni volta che un utente visita il tuo sito web, questo può causare problemi sia ai siti piccoli che a quelli grandi. Ora ti spiego perché.

Siti web piccoli e geograficamente specifici

Per i siti web più piccoli con poco traffico, il problema è che il compito cron non viene eseguito abbastanza spesso. Esempio: Cosa succede se il tuo sito web dovrebbe fare il backup alle 2:00 del mattino, ma hai un piccolo sito di guide turistiche che opera solo in una città. In questo caso, è improbabile che il tuo pubblico di riferimento visiti il tuo sito alle 2:00 del mattino e attivi il cronjob. E se è in bassa stagione, potresti non avere un visitatore sul tuo sito per giorni. 

Siti web più grandi e portata globale

Tuttavia, per i siti con un gran numero di utenti, WP-Cron può causare alcuni problemi di prestazioni e persino rendere il tuo sito vulnerabile a un attacco DDoS. Ora, se probabilmente sei andati nel panico e hai afferrato il vostro mouse o la vostra tazza di caffè alla menzione di un attacco DDoS: non preoccupatevi troppo, perché c'è una soluzione per tutto.

Qual è la causa del problema?

La quantità di traffico è la causa del problema. Per i grandi siti web, il traffico è ovviamente un must e importante per il business, quindi frenare le chiamate non è un'opzione per risolvere il problema. 

Ricorda, ogni visita di pagina comporta l'attivazione di WP-Cron - e naturalmente, questo mette a dura prova il tuo server perché richiede risorse.

Esiste un modo migliore?

Fortunatamente, la risposta è "sì". Anche se non possiamo facilmente frenare il traffico, aprire negozi fisici in tutto il mondo, o cambiare il modo in cui WordPress è costruito. Ma possiamo cambiare ciò che fa funzionare WP-Cron. 

Invece di eseguire wp-cron.php in base alle visite della pagina, possiamo impostare un compito cron sul server di hosting che esegue WP-Cron a intervalli specifici. Vi mostrerò come fare.

Configura l'esecuzione lato server di wp-cron.php su Raidboxes

Per semplificare al massimo il tuo lavoro, il team di Raidboxes ha integrato questa funzione all'interno di RB-Dashboard . Ti bastano letteralmente cinque clic per impostare l'esecuzione lato server dei cronjob di WordPress! Se sei uno sviluppatore che vuole risparmiare tempo, questa è una delle cose più semplici da fare.

Per attivare i cronjob lato server nel tuo Raidboxes Dashboard , vai prima nelle impostazioni del tuo BOX e poi clicca su "Cronjobs" nella barra laterale.

raidboxes dashboard wp-cron

Ora vedrete tutte le impostazioni per i tuoi cronjob. 

Lavori Cron Raidboxes


Ora dovreste configurare quanto segue nel cronjobs:

  1. Disattiva "Run WP-Cron" (questo impedisce che WP-Cron venga attivato dai visitatori del sito).
  2. Attiva "Esegui WP-Cron lato server" (questo aggiunge un'attività cron al server per attivare wp-cron.php all'intervallo che specifichi). 

Non c'è altro da dire!

Attenzione

Se disattivi Run WP-Cron e anche l'opzione Run WP-Cron server-side è disabilitata, nessun cron job verrà più eseguito sul tuo sito.

Per questa personalizzazione non è quindi necessario contattare il tuo host, entrare nel cPanel o modificare manualmente il file wp-cron.php. Su Raidboxes , ti bastano pochi clic per monitorare e gestire i cronjob direttamente nel sito RB-Dashboard . Ciò significa che non è necessario installare un plugin aggiuntivo per visualizzare i cronjob.

Se vuoi effettuare ulteriori configurazioni, puoi anche specificare in Raidboxes Dashboard l'intervallo di tempo in cui wp-cron.php deve essere eseguito.

Tempo di Cron

Ci sono molte speculazioni sull'intervallo "migliore" per i cronjob. Di solito consigliamo di non scendere sotto i 5 minuti. 

Modifica il tuo WordPress cronjobs

Senza plugin

Se non vuoi installare un plugin per modificare il tuo file wp-cron.php, non c'è problema! Su Raidboxes puoi gestire facilmente i tuoi cronjob tramite RB-Dashboard come descritto sopra. Naturalmente, puoi accedere ai tuoi cronjob anche tramite una connessione SSH. Dopo esserti collegato al tuo account, puoi modificare wp-cron.php nella directory principale del tuo sito WordPress.

Se volete sapere come rendere il vostro flusso di lavoro ancora più efficiente con SSH, è meglio controllare il nostro articolo"The Perfect WordPress Development Workflow with Git & SSH". 

Con plugin

Attualmente il più popolare Plugin per gestire i cronjob di WP è"WP Crontrol". Potete anche cercare e installare il Plugin direttamente nel vostro WordPress su plugin e installarlo. 

Plugin Wp Control

Sulla pagina di WP Crontrol Plugin all'indirizzo WordPress .org si può anche trovare un'utile documentazione su come usare correttamente Plugin

Imposta manualmente il server per attivare WP-Cron (non è necessario con Raidboxes).

Con un piccolo sforzo di impostazione, puoi anche configurare il tuo server stesso per eseguire wp-cron.php a intervalli specifici.

  1. Modifica il file wp-cron.php 

In wp-cron.php

  • Disattiva il file wp-cron.php aggiungendo il seguente codice al file:
define('DISABLE_WP_CRON', 'true');

In seguito, wp-cron.php non verrà più attivato quando un utente visita il tuo sito web.

  1. Aggiungi un cronjob al tuo server

Nel tuo ambiente server

A seconda del tuo ambiente di hosting, una delle due opzioni seguenti potrebbe essere adatta alla tua situazione specifica: 

  • Se usi un servizio di hosting condiviso WordPress , contatta il tuo fornitore di hosting e chiedi loro di aggiungere un trigger cron lato server per wp-cron.php se non hai accesso ai comandi Linux da solo.
  • Oppure, se stai eseguendo il tuo sito con cPanel e hai accesso alla tua linea di comando, controlla la documentazione appropriata di cPanel

Il file cron di WP è facilmente trascurato quando si costruisce un sito web WordPress , ma può portare a errori evidenti se il tuo sito guadagna una quantità decente di traffico.

WordPress Prepararsi ai picchi di traffico

Ti aspetti molto traffico sul tuo sito WordPress , ad esempio a causa di una campagna di marketing? Allora hai bisogno della giusta preparazione! Il nostro capo dello sviluppo Matthias ti mostra quali 13 misure puoi prendere per preparare il tuo WordPress per carichi elevati.

Conclusione

Spero che questo articolo vi aiuti a capire cos'è e come funziona la funzione WordPress cron. Usato correttamente, può aiutarvi ad automatizzare in modo affidabile i compiti importanti in modo da potervi concentrare su ciò che è importante.

Il nostro obiettivo è quello di rendere la gestione dei cronjob di WP tramite Raidboxes Dashboard il più semplice e conveniente possibile. In questo modo, potrai ottimizzare ulteriormente lo sviluppo e la gestione del tuo sito grazie a un accesso rapido e diretto.

Hai altre domande su WP-Cron o sul nostro dashboard? Allora sentiti libero di lasciarci un commento! Vuoi essere informato dei nuovi post su WordPress ? Allora seguici su Twitter, Facebook o tramite la nostra newsletter.

Ti è piaciuto l'articolo?

Con la tua valutazione ci aiuti a migliorare ancora di più i nostri contenuti. Grazie!

Un commento a "Cos'è WP-Cron e quando sono utili i "veri" cron job per il tuo sito WordPress?"

  1. Ist der Eintrag DISABLE_WP_CRON tatsächlich – wie im Artikel beschrieben – in der wp-cron.php einzufügen? Ich hätte einen solchen define-Eintrag eher in der wp-config.php vermutet.
    Viele Grüße Stefan

Scrivi un commento

Il tuo indirizzo e-mail non sarà pubblicato. I campi obbligatori sono contrassegnati da *.