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

7 Min.

Programmare la pubblicazione dei post in WordPress , controllare Plugins 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 vostri denti, lo fareste?

Il tuo sito WordPress ha dei compiti di manutenzione automatica che deve eseguire regolarmente. In questo articolo, vedremo cosa sono questi compiti, quali problemi possono causare e come RAIDBOXES rende super facile la loro gestione.

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.

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. Sotto Windows, la funzionalità si chiama "Task Scheduler".

La documentazione sull'uso della funzione cron in questi sistemi può essere trovata qui: 

Cosa fa 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 avete installato sulla vostra macchina, più lavori saranno probabilmente aggiunti. Per esempio, lo screenshot qui sotto mostra un cronjob in Task Scheduler in Windows 10. 

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

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. 

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 . 

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

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 Plugins 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 prestazioni

A causa del fatto che WP-Cron viene attivato ogni volta che un utente visita il tuo sito web, questo può causare problemi sia per i siti piccoli che per quelli grandi. Ora vi 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 siete andati nel panico e avete 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.

C'è 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.

Configurare l'esecuzione lato server di wp-cron.php su RAIDBOXES

Per rendere il tuo lavoro il più facile possibile, il team di RAIDBOXES ha incorporato questa funzione proprio in RB-dashboard . Hai letteralmente bisogno di cinque clic per impostare l'esecuzione lato server dei cronjob di WordPress ! Se sei uno sviluppatore che vuole risparmiare tempo, questa è una delle modifiche più facili da fare.

Per abilitare i cronjob lato server nel tuo RAIDBOXES dashboard , vai prima alle impostazioni del tuo BOX e poi clicca su "Cronjobs" nella barra laterale. 

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

Ora vedrete tutte le impostazioni per i vostri cronjob. 

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


Ora dovreste configurare quanto segue nel cronjobs:

  1. Disattiva "Run WP-Cron" (questo impedisce che WP-Cron venga attivato dai visitatori del sito).
  2. Attivare "Run WP-Cron server-side" (questo aggiunge un compito cron al server per attivare wp-cron.php all'intervallo specificato). 

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.

Quindi per questa personalizzazione non è necessario contattare il tuo hoster, andare nel cPanel o modificare il tuo file wp-cron.php manualmente. Su RAIDBOXES bastano pochi clic e puoi monitorare e gestire i tuoi cronjob direttamente in RB-dashboard . Quindi non c'è bisogno di installare un ulteriore Plugin per vedere i vostri cronjob.

Se vuoi fare ulteriori configurazioni, puoi anche definire in RAIDBOXES dashboard in quale intervallo il wp-cron.php deve essere eseguito.

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

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

Modifica il tuo WordPress cronjobs

Senza Plugins

Se non vuoi installare Plugin per modificare il tuo file wp-cron.php, non è un problema! Su RAIDBOXES potete facilmente gestire i vostri cronjob come descritto sopra tramite RB-dashboard . Naturalmente potete anche accedere ai vostri cronjob tramite una connessione SSH. Una volta connesso al tuo account, puoi modificare wp-cron.php nella directory principale del tuo sito web 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 Plugins

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 Plugins e installarlo. 

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

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

Impostare 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

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

Dopo di che, wp-cron.php non sarà più attivato quando un utente visita il tuo sito web.

  1. Aggiungi un cronjob al tuo server

Nel vostro ambiente server

A seconda del vostro ambiente di hosting, una delle due opzioni seguenti può essere applicata alla vostra 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 vostri cronjob WP tramite RAIDBOXES dashboard il più facile e conveniente possibile. In questo modo puoi ottimizzare ulteriormente lo sviluppo e la gestione del tuo sito attraverso questo accesso veloce 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.

Come sviluppatore web a RAIDBOXES Marten lavora sempre su nuove funzionalità per i nostri clienti. In "wp unboxed" segna anche con le sue conoscenze sullo sviluppo web, WordPress e il nostro dashboard. E anche nel suo tempo libero gli piace occuparsi di self-hosting e delle ultime tendenze su Internet.

Articoli correlati

Commenti su questo articolo

Scrivi un commento

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