
WordPress ha un sistema per eseguire task pianificati in background. Questo sistema svolge molti compiti utili, come la pulizia dei dati interni, la verifica degli aggiornamenti disponibili e l’esecuzione di azioni che i Plugin devono compiere in un momento specifico o regolarmente, come creare Backup periodici del tuo sito.
Se ricevi un messaggio che lo scheduler dei cron job di WordPress non sembra eseguire alcun task pianificato, verifica i motivi qui sotto:
Il tuo sito ha visitatori?
Se nessuno ha visitato il tuo sito per un po’, questa situazione è normale. WordPress ha l’opportunità di fare qualcosa solo quando i visitatori accedono alle pagine. Senza visitatori, a WordPress non si accede mai e non può avviare alcun task di background pianificato. Quindi, questo messaggio non è sorprendente se il tuo sito è di staging o di sviluppo senza visitatori reali per altri motivi. Visita alcune pagine e il messaggio dovrebbe sparire.
Modalità di manutenzione WordPress attiva?
Il tuo sito è in modalità di manutenzione? Questo disattiva tutti i task pianificati. Quindi, disattiva la modalità di manutenzione per riattivare i cron job WordPress.
WP Cron è attivo o disattivato?
Lo scheduler di WordPress può essere disattivato nella configurazione del tuo sito. WP STAGING ti avviserà se è il caso e mostrerà un avviso che DISABLE_WP_CRON è impostato su true nel wp-config.php del tuo sito.
Puoi anche verificarlo manualmente:
Cerca nel file wp-config.php (situato nella root della tua installazione WordPress) la riga seguente ed eliminala. Opzionalmente, puoi cambiare true in false:
define('DISABLE_WP_CRON', true);In questo caso, disattivarlo può essere qualcosa che la tua società di Hosting ha fatto intenzionalmente, quindi tieni presente che potrebbero disattivarlo di nuovo. Tuttavia, può anche essere qualcosa che hai fatto deliberatamente e hai trovato un altro modo per accedere al sistema scheduler di WordPress, magari tramite il pannello di controllo del tuo provider di Hosting.
In questo caso, il messaggio su DISABLE_WP_CRON è normale. Quindi, devi assicurarti che lo scheduler venga chiamato con sufficiente frequenza per elaborare tutti i job pianificati del tuo sito.
Non verranno eseguiti Backup programmati finché non avrai configurato il sistema scheduler per invocarli.
Tieni anche presente che DISABLE_WP_CRON può essere definito in un file diverso da wp-config.php. wp-config.php è semplicemente la posizione più probabile. Se ricevi un avviso su DISABLE_WP_CRON, deve essere in un altro posto, ma non in wp-config.php. Il meglio è cercarlo.
Le connessioni loopback funzionano?
Alcuni provider di Hosting disattivano intenzionalmente, anche senza un buon motivo, le connessioni «loopback» che permettono a WordPress di eseguire il suo scheduler. Questo accade anche se il tuo sito è protetto da password o se gestisci un sito di staging che non è aperto al pubblico.
Se le connessioni loopback non funzionano (sia per disattivazione intenzionale o no), puoi provare a usare il sistema di scheduling alternativo di WordPress.
Aggiungi da qualche parte a metà del tuo file wp-config.php una riga con il seguente testo:
define('ALTERNATE_WP_CRON', true);Non aggiungerla troppo in fondo al file, altrimenti non avrà effetto.
Tutto il tuo sito è protetto da password?
Un altro motivo per cui WP Cron e i Backup programmati non funzionano potrebbe essere che tutto il tuo sito è protetto da password a livello HTTP. Questo potrebbe essere fatto tramite un file .htaccess.
Questo impedisce anche allo scheduler WordPress di funzionare. Devi configurare il tuo server web per permettere connessioni «loopback» che abilitino connessioni a se stesso. Altrimenti, lo scheduler WordPress e tutto ciò che ne dipende smetterà di funzionare. Se usi Apache e .htaccess, prova ad aggiungere queste due righe alla sezione di controllo accessi del tuo .htaccess:
Allow from 0.0.0.0
Satisfy AnySostituisci 0.0.0.0 con l’indirizzo IP del tuo sito.
Usi il server web LiteSpeed?
Consulta questo articolo se usi il server web LiteSpeed e i tuoi cron job WP non funzionano.
Articoli correlati
- Disattivare il cron di WordPress (wp-cron) e attivare cron job esterni
- Come disattivare i cron job di WordPress su un sito di staging
- Come creare un Backup programmato. Creare un Backup a un’ora specifica
- Attivare il debug log di WordPress (modalità Debug)
- Come disattivare Action Scheduler / le subscription WooCommerce su un sito di staging