Home>Guide>Disabilitare il Cron di WordPress

Disabilitare il Cron di WordPress


Disabilitare il Cron di WordPress

WordPress gestisce alcune azioni automatiche, tra cui invio delle email e pubblicazione degli articoli programmati, attraverso un sistema di Cron concepito in maniera un po’ particolare rispetto al normale.
Scoprilo in questa guida, comprendendone prima il funzionamento ed imparando poi ad ottimizzarlo… le performance del tuo sito miglioreranno ed i tuoi utenti ti ringrazieranno!

  • Leggi l'articolo, ti bastano solo 2 minuti, 30 secondi
    Sei di fretta? Scarica il PDF e consultalo quando vuoi!

Cosa sono i Cron Jobs

Si tratta di task programmati per essere eseguiti esattamente in determinate date e/o orari e ripetuti sistematicamente, così da automatizzare eventi ricorrenti che altrimenti dovresti eseguire manualmente ogni tanto.

Per rendere l’idea, la sincronizzazione dell’inventario di magazzino di un e-commerce con un marketplace e l’invio di newsletter sono esempi di azioni sistematiche che vanno eseguite ad intervalli di tempo determinati e di solito la creazioni di un Cron Job avviene a livello sistema operativo sul server, impostando l’esecuzione di una certa URL che contiene le funzioni e gli script adatti allo scopo.


I Cron Jobs in WordPress

Anche WordPress ha un proprio sistema di Cron, che consente di svolgere alcune funzioni di base, come ad esempio la pubblicazione programmata degli articoli, impostando una data di pubblicazione.
Ma in WordPress la gestione dei task automatizzati è leggermente diversa da quella concepita per i sistemi Unix ed utilizza un sistema più semplice: esegue i comandi schedulati solo quando un visitatore accede al sito e l’ora di schedulazione è trascorsa.
Ma in che modo?


Il file wp-cron.php

Tutte le funzioni di gestione delle schedulazioni sono contenute nel file wp-cron.php presente nella cartella principale dell’installazione di WordPress, file che viene richiamato ad ogni esecuzione di una qualsiasi pagina del sito.

Semplifichiamo con un esempio: ipotizza di aver programmato in WordPress con un Cron Job l’esecuzione di una funzione alle ore 01:00:00 del giorno 15/01/2018. Se la prima visita dopo quella data/ora di un utente del sito avvenisse alle ore 08:00:00, l’esecuzione delle azioni programmate si attiverebbe proprio a quell’ora.

Ma questo sistema porta subito alla luce due grossi svantaggi:

Incremento dei tempi di caricamento della pagina: ad ogni visita, il file wp-cron.php viene incluso prima della visualizzazione del contenuto, le funzioni al suo interno vengono eseguite per capire se esiste una qualche azione programmata da eseguire ed in caso affermativo vengono eseguite.

Ritardo ed incertezza nell’esecuzione: come avrai notato nell’esempio precedente le azioni programmate sono state eseguire con un ritardo di ben 7 ore, ma se per assurdo non ci fossero stati utenti, quell’azione non sarebbe mai stata eseguita!

Quindi, sia se affidiamo ai Cron Jobs l’esecuzione di script che non possono avere ritardi rispetto all’orario stabilito (come ad esempio trasmissione di dati, sincronizzazioni, ecc), sia per risparmiare tempo di caricamento della pagina, è necessario trovare un modo per aggirare il problema.


Disabilitare il Cron di default di WordPress

La prima cosa da fare, è disattivare il comportamento di default del Cron, risultato ottenibile aggiungendo al file:

wp-config.php

che trovi nello spazio FTP del tuo sito, la seguente direttiva:

define( 'DISABLE_WP_CRON', true );

In questo modo, il sistema di gestione dei Cron Jobs di WordPress viene disabilitato.
Se però ti fermassi a questo punto, nessuna delle azioni programmate verrebbe eseguita!

È necessario quindi far sì che il file wp-cron.php venga richiamato con un vero Cron, impostato a livello server. In questo modo, le performance del tuo sito saranno più elevate, soprattutto in presenza di un gran numero di utenti!


Impostare un Cron a livello server

La creazione dei Cron Jobs a livello server può essere fatta nella maggior parte dei casi dal pannello di controllo (Plesk, cPanel, ecc.) messo a disposizione dal tuo hosting e purtroppo elencare tutte le procedure è impossibile, quindi ti consiglio di leggere le guide messe a disposizione da ogni web hosting o di contattarne l’assistenza per capire come fare

Ma per quanti come me hanno deciso di affidarsi ad hosting SiteGround, ecco il link alla guida ufficiale:


Se non hai ancora scelto un hosting, o vuoi cambiare il tuo attuale, ti consiglio di leggere l’articolo:




Ti è piaciuto questo articolo? Regalami un click per ripagarmi dello sforzo



Code4Life ti è stato utile? Sostienici con una donazione!

Dona con PayPal

Hai trovato interessante l’articolo? Allora ti consiglio di leggere:

Come creare una tabella responsive

Come creare una tabella responsive


Scopri come trasformare una normale tabella HTML in una struttura perfettamente adattabile anche sui dispositivi mobile, per rendere i tuoi dati sempre fruibili a qualsiasi device.

Inviare una notifica quando un cliente si registra su PrestaShop

Inviare una notifica quando un cliente si registra su PrestaShop


Ecco un piccolo suggerimento che consente di abilitare l’invio di una email che notifica la registrazione di un nuovo cliente nel tuo negozio PrestaShop.

Oppure cerca tra gli articoli correlati


E tu cosa ne pensi? Condividi la tua opinione e discutiamone insieme
La tua email non sarà resa pubblico o utilizzata per inviarti spam, te lo prometto

Iscrivimi alla newsletter per ricevere news ed aggiornamenti
Utilizziamo piattaforme di terze parti per l’invio di newsletter. (Informativa sulla privacy)
Tienimi aggiornato su questo articolo
Ricevi una email di notifica quando qualcuno scriverà un commento a questo articolo. (Informativa sulla privacy)
Ricorda i miei dati per la prossima volta che scriverò un commento
Il tuo nome e la tua email verranno salvati in un cookie in questo browser. (Informativa sulla privacy)