FAQ - Come disabilitare il WP-CRON di Wordpress?

Il famoso CMS WordPress ha attivato di default la funzione WP-CRON, ovvero una sorta di cron job virtuale che ha il compito di verificare, ogni qualvolta viene caricata una pagina, se vi sono azioni pianificate, ad esempio: pubblicazione automatica di post, aggiornamenti automatici, invio di email e non solo.

Mantenere il WP-CRON attivo significa caricare il file wp-cron.php ogni volta che c'è un visitatore sul proprio sito WordPress. Per quanto concerne siti leggeri e a basso traffico non c'è alcun impatto, tuttavia per siti ad alto traffico e/o molto pesanti mantenere attiva la funzione WP-CRON potrebbe portare all'esaurimento delle proprie risorse, creando rallentamenti sul proprio sito o anche addirittura errori causati dall'esaurimento delle risorse.


Come disabilitare il WP-CRON di WordPress

Per disabilitare il WP-CRON di WordPress gestito dal file wp-cron.php, basta modificare il file wp-config.php, che si trova nella cartella principale dell'installazione WordPress, e inserire il codice a seguire:

define('DISABLE_WP_CRON', true);

Il codice sopra va inserito appena dopo il seguente codice già presente nel file wp-config.php:

define('WP_DEBUG', false);

Anche se in alcuni casi il valore "false" potrebbe essere diverso, questo sarà indifferente.


Dove inserire il codice

È importante non inserire il codice dopo la scritta a seguire, ma sempre appena prima:

"/* That's all, stop editing! Happy blogging. */"

Anche se dovrebbe essere sempre in inglese, in alcuni casi, in base alla versione scaricata, la lingua potrebbe differire. Ad esempio, in italiano potrebbe essere:

/* Finito, interrompere le modifiche! Buon blogging. */

Configurare il cron job da cPanel

Una volta disabilitata la funzione WP-CRON, ovvero il cron job virtuale di WordPress, sarà possibile richiamare il file wp-cron.php attraverso un normale cron job.

Ad esempio, per richiamarlo ogni 6 ore, nel caso WordPress sia installato nella cartella /public_html, basterà inserire i valori a seguire dalla sezione PROCESSI CRON del cPanel:

Minuto: 0
Ora: */6
Giorno: *
Mese: *
Giorno della settimana: *
Comando:
php -q /home/USERNAME/public_html/wp-cron.php >/dev/null 2>&1

Nell'esempio menzionato va ovviamente sostituito USERNAME con il nome utente del proprio account cPanel.

Avendo disabilitato la funzione WP-CRON, nell'esempio appena riportato verrà effettuato un controllo sulle eventuali automazioni da eseguire ogni 6 ore e non ogni volta che qualcuno visiterà una pagina del nostro sito.


Consiglio di sicurezza

Dopo aver disabilitato la funzione WP-CRON, per prevenire possibili attacchi, è consigliabile anche impostare il timer del wp-cron a 6 ore, ovvero 21600 secondi.