Come disattivare il Cron interno di WordPress e configurare un Cron Job esterno (Guida Completa)

Cron interno di WordPress

Uno dei meccanismi meno noti ma più importanti in WordPress è il sistema di cron interno, utilizzato per eseguire operazioni pianificate come pubblicazione post programmati, aggiornamenti automatici, pulizia del database, invio di email e altro ancora.

Tuttavia, su ambienti shared (hosting condivisi) questo sistema può causare rallentamenti e un inutile consumo di risorse, soprattutto in siti con traffico elevato o molti plugin.

La soluzione? Disattivare il cron interno di WordPress e sostituirlo con un cron job esterno configurato direttamente dal pannello di controllo dell’hosting.

Perché disattivare il cron interno di WordPress?

Il cron interno (wp-cron.php) si attiva a ogni visita al sito. Questo significa che:

  • Su siti con traffico medio-alto può sovraccaricare il server.
  • Su siti con poco traffico, le attività pianificate potrebbero non avviarsi nei tempi previsti.
  • Nei piani di hosting economici, può causare latenze, timeout o errori interni.

1. Disattivare il cron interno di WordPress

Apri il file wp-config.php nella root del tuo sito WordPress e inserisci questa riga di codice prima del commento finale:

define('DISABLE_WP_CRON', true);

2. Creare un cron job esterno dal pannello di controllo dell’hosting

Ora bisogna sostituire il cron interno con un cron job vero e proprio, che esegue periodicamente wp-cron.php dall’esterno.

Esempio per cPanel (ma simile su molti altri pannelli):

  1. Accedi al pannello di controllo del tuo hosting (es. cPanel, DirectAdmin, Plesk).
  2. Vai nella sezione Cron Jobs (o azioni programmate).
  3. Imposta la frequenza (es. ogni 15 minuti).
  4. Inserisci uno dei seguenti comandi:
wget -q -O - https://www.tuosito.it/wp-cron.php?doing_wp_cron >/dev/null 2>&1

oppure

curl https://www.tuosito.it/wp-cron.php?doing_wp_cron >/dev/null 2>&1

Importante: sostituisci https://www.tuosito.it con l’URL reale del tuo sito.

La maggior parte degli hosting supportano cron job personalizzati, anche nei piani base.

Frequenza consigliata

  • Ogni 15 minuti è generalmente sufficiente per la maggior parte dei siti.
  • Per siti con traffico più alto o operazioni frequenti (es. e-commerce), puoi abbassarla a 5 minuti.

Disattivare il cron interno di WordPress e sostituirlo con un cron job esterno è una best practice spesso trascurata, ma fondamentale per migliorare le performance in ambienti di hosting condiviso.


Vantaggi: facciamo un po’ di conti

Capisco perfettamente che decidere di intervenire sul cron di WordPress possa sembrare, a prima vista, un’operazione un po’ tecnica o complessa. Ma fidati: non lo è, soprattutto se segui passo-passo questa guida.

E per aiutarti a capire quanto vale davvero la pena, vediamolo con un esempio pratico.

Scenario:

Il tuo sito è visitato da circa 100 utenti al giorno. Ognuno di loro visita in media 5 pagine. Questo significa che, in un giorno, WordPress riceve 500 visite.

Con il cron interno attivo, ogni visita attiva wp-cron.php, quindi stiamo parlando di 500 attivazioni del cron in 24 ore — oltre 20 ogni ora!

Ora, se invece configuri un cron job esterno:

  • Con una frequenza di 15 minuti, il cron si attiverà solo 4 volte ogni ora.
  • Con una frequenza di 5 minuti, saranno 12 attivazioni all’ora.

In entrambi i casi, la differenza è netta.

Attenzione: wp-cron.php non genera una pagina web. Viene eseguito in background per gestire operazioni pianificate, e non è ottimizzato dalla cache. Ogni attivazione implica un’elaborazione reale da parte del server, a volte anche pesante se hai molti plugin o script collegati.

Risultato?

Questa semplice modifica può ridurre il carico causato dal cron dal 50% fino al 75%, anche con un sito di medio traffico.

E se il tuo sito riceve molto più traffico, la riduzione diventa ancora più significativa, arrivando a ridurre il carico cron fino al 90% o più!

Esempio comparativo

Visite al giornoAttivazioni wp-cron con WordPressAttivazioni con cron ogni 15 minAttivazioni con cron ogni 5 minRiduzione
5005009628881%
2.0002.0009628895%
5.0005.0009628898%

Conclusioni

Disattivare il cron interno di WordPress e sostituirlo con un cron job esterno è una best practice spesso trascurata, ma fondamentale per migliorare le performance in ambienti di hosting condiviso.

Con pochi minuti di configurazione, puoi:

  • Ridurre il carico sul server
  • Evitare rallentamenti
  • Garantire un’esecuzione regolare delle operazioni pianificate

Vuoi un altro motivo per farlo? Migliora anche la tua SEO. Sì, hai letto bene: un sito più veloce e stabile viene premiato dai motori di ricerca. Usa questa e altre tecniche di ottimizzazione per migliorare il tuo posizionamento e aumentare il numero di visite.

Scopri di più consultando gli altri articoli dedicati alla SEO.

Uso VHosting per i miei siti da anni e lo consiglio per affidabilità e convenienza. Ho un’affiliazione attiva: se segui il mio link, io ricevo una commissione, ma il costo per te resta lo stesso!

no admin