Disattivare WP-Cron: eseguire le attività di WordPress con un vero cron job

WordPress utilizza per impostazione predefinita il file wp-cron.php per eseguire le attività pianificate in background. Queste includono, ad esempio, la pubblicazione programmata di articoli, attività di plugin e temi, processi WooCommerce, l'invio di e-mail, scansioni di sicurezza, attività di caching o funzioni di manutenzione automatica.

Il meccanismo di cron nativo di WordPress si chiama WP-Cron. A differenza di un classico cron job del server, tuttavia, WP-Cron non si avvia automaticamente a un orario fisso. Al contrario, viene normalmente attivato dalle visite al tuo sito web. Non appena un visitatore, un bot o tu stesso caricate una pagina, WordPress verifica se vi sono attività pianificate in scadenza.

Per i siti web di piccole dimensioni, questo principio funziona spesso senza problemi. Sui siti web ad alto traffico, tuttavia, WP-Cron può generare un carico server non necessario. Per i siti web con scarso traffico può accadere il contrario: le attività pianificate vengono eseguite in ritardo o non vengono eseguite affatto perché nessuno visita il sito. Una soluzione pulita consiste quindi nel disattivare WP-Cron e configurare al suo posto un vero cron job nel cPanel.

Importante:
Disattiva WP-Cron solo se hai intenzione di configurare effettivamente un vero cron job subito dopo. Se WP-Cron viene disattivato ma non è attivo alcun cron job sostitutivo, le pubblicazioni pianificate, i backup, le attività dei plugin, le azioni WooCommerce e altri processi in background potrebbero non funzionare o essere eseguiti in ritardo.

Cos'è WP-Cron?

WP-Cron è il sistema interno di pianificazione delle attività di WordPress. Fa sì che le attività pianificate vengano eseguite automaticamente. Il nome si ispira ai classici cron job, ma dal punto di vista tecnico WP-Cron funziona in modo diverso rispetto a un vero cron job del server.

Le attività tipiche che vengono gestite tramite WP-Cron sono:

  • pubblicare gli articoli pianificati,
  • eseguire attività automatiche di plugin, temi o di WordPress stesso,
  • effettuare i controlli degli aggiornamenti,
  • rinnovare o ripulire i file di cache,
  • avviare i backup, a condizione che un plugin di backup utilizzi questo sistema,
  • elaborare i processi d'ordine o gli abbonamenti di WooCommerce,
  • inviare le e-mail in attesa nelle code,
  • avviare scansioni di sicurezza o malware,
  • ripulire i dati temporanei e i "transient".

WP-Cron non è fondamentalmente una soluzione errata. È una soluzione pratica perché funziona senza richiedere configurazioni lato server. Tuttavia, per i siti web di produzione, le installazioni WordPress cruciali per il business o gli shop online, un vero cron job è spesso più affidabile.

Perché WP-Cron può influenzare le prestazioni?

A ogni visualizzazione di pagina, WordPress controlla se un evento cron è in scadenza. Questo controllo è normalmente leggero, ma può diventare evidente in presenza di molti visitatori, molti plugin o molte attività pianificate. I siti web con WooCommerce, plugin di membership, di backup, di sicurezza o con automazioni complesse possono risentirne in modo particolare.

Ci sono due scenari problematici tipici:

  • Molti visitatori: WP-Cron può essere verificato molto frequentemente e innescare processi PHP aggiuntivi.
  • Pochi visitatori: Le attività in scadenza vengono eseguite in ritardo perché manca la visualizzazione della pagina come elemento di innesco.

Un vero cron job risolve entrambi i problemi. Richiama il file cron di WordPress indipendentemente dai visitatori a un intervallo fisso, ad esempio ogni 15 o 30 minuti. In questo modo le attività in background diventano più prevedibili e il sito web non deve più avviare questo controllo durante le normali visite degli utenti.

Vantaggio in termini di prestazioni:
Con un vero cron job del server, le attività in background di WordPress vengono eseguite in modo controllato a intervalli fissi. Ciò può migliorare il tempo di risposta del sito web e garantisce al contempo che le attività pianificate vengano elaborate in modo più affidabile.

Quando è consigliabile un vero cron job?

Un vero cron job è particolarmente raccomandato se il tuo sito web esegue regolarmente processi in background o è di fondamentale importanza per la tua attività commerciale. Questo riguarda, tra gli altri, i siti aziendali, gli e-commerce, le aree membri, le piattaforme di corsi e i siti web con workflow automatizzati.

Il passaggio a un vero cron job è opportuno se:

  • gli articoli pianificati vengono pubblicati in ritardo,
  • i backup non si avviano in modo affidabile,
  • le attività di WooCommerce subiscono ritardi nell'esecuzione,
  • le code di e-mail non vengono elaborate regolarmente,
  • il tuo sito web ha molti visitatori,
  • utilizzi molti plugin con attività in background,
  • sospetti problemi di prestazioni dovuti alla frequente esecuzione del cron,
  • desideri un maggiore controllo sulle attività pianificate di WordPress.

Per i siti web molto piccoli con pochi plugin e un traffico normale, WP-Cron è spesso sufficiente. Ciononostante, un vero cron job rappresenta una soluzione tecnica ottimale anche in quei casi, se preferisci un'esecuzione sempre affidabile.

Passo 1: Creare un backup

Prima di apportare modifiche al file wp-config.php, dovresti creare un backup aggiornato del tuo sito web. Il file wp-config.php è uno dei file di configurazione più importanti di WordPress. Modifiche errate possono impedire a WordPress di caricarsi correttamente.

Salva almeno:

  • il file wp-config.php,
  • i tuoi file di WordPress,
  • il database di WordPress.

Se stai effettuando solo una piccola modifica, nella maggior parte dei casi è sufficiente scaricare localmente il file wp-config.php esistente prima di modificarlo o duplicarlo all'interno del file manager.

Passo 2: Disattivare WP-Cron nel file wp-config.php

Per fare in modo che WordPress non esegua più WP-Cron in occasione delle normali visite alle pagine, devi impostare una costante all'interno del file wp-config.php.

Trovi il file wp-config.php nella directory principale della tua installazione di WordPress. Lì di norma si trovano anche le cartelle wp-admin, wp-content e wp-includes.

  1. Accedi al tuo cPanel.
  2. Apri il File Manager di cPanel.
  3. Naviga fino alla directory principale della tua installazione di WordPress.
  4. Cerca il file wp-config.php.
  5. Crea una copia del file o scaricalo come backup.
  6. Apri il file per la modifica.
  7. Inserisci la riga seguente sopra a /* That's all, stop editing! Happy publishing. */.
define('DISABLE_WP_CRON', true);

Successivamente salva il file. Questo impedirà a WordPress di avviare automaticamente WP-Cron durante le normali visite degli utenti alle pagine.

Nota:
Assicurati di non inserire il codice alla fine assoluta del file dopo un tag PHP di chiusura. Nella maggior parte delle installazioni di WordPress non è presente un tag di chiusura ?> alla fine del file wp-config.php. La riga va inserita sopra l'avviso That's all, stop editing!.

Passo 3: Configurare un vero cron job nel cPanel

Dopo aver disattivato WP-Cron, configura un vero cron job all'interno di cPanel. Questo richiamerà automaticamente il file wp-cron.php a intervalli fissi.

  1. Accedi al tuo cPanel.
  2. Nella sezione Avanzate, apri la voce di menu Cron job.
  3. Sotto Impostazioni comuni, seleziona un intervallo appropriato.
  4. Per molti siti web è sensato impostare ogni 15 minuti oppure ogni 30 minutes.
  5. Inserisci nel campo Comando un comando di cron job appropriato.
  6. Salva il cron job.

Una variante semplice e utilizzata di frequente è il richiamo tramite wget:

wget -q -O - https://ilduodominio.ch/wp-cron.php?doing_wp_cron >/dev/null 2>&1

Sostituisci https://ilduodominio.ch con il tuo dominio effettivo. Assicurati di utilizzare l'indirizzo corretto del sito web, quindi comprensivo di https:// e senza errori di battitura.

Comandi alternativi per il cron job

A seconda dell'ambiente di hosting, possono essere utilizzati comandi differenti. Se wget non è disponibile, spesso funziona anche curl:

curl -s https://ilduodominio.ch/wp-cron.php?doing_wp_cron >/dev/null 2>&1

Un'altra possibilità è il richiamo diretto di PHP, a patto che il percorso corretto di PHP sia noto:

php /home/nomeutente/public_html/wp-cron.php >/dev/null 2>&1

Il richiamo diretto via PHP è tecnicamente pulito, ma presuppone che il percorso completo del server sia corretto. Questo percorso differisce a seconda dell'account di hosting e della directory di installazione.

Raccomandazione pratica:
Per la maggior parte dei clienti CURIAWEB, il richiamo via wget tramite il dominio è la soluzione più semplice e immediata da comprendere. In caso di dubbi su quale sia il comando adatto al tuo sito web, il supporto CURIAWEB sarà lieto di aiutarti.

Quale intervallo è sensato scegliere?

L'intervallo corretto del cron job dipende dalle attività che il tuo sito web deve svolgere. Un intervallo di un minuto è solitamente superfluo per i normali siti WordPress e può causare un carico elevato sul server. Al contrario, intervalli troppo lunghi possono far sì che le attività vengano eseguite in forte ritardo.

Tipo di sito web Intervallo consigliato
Normale sito aziendale o Blog Ogni 30 minuti
Sito web con articoli pianificati o attività regolari dei plugin Ogni 15-30 minutes
E-commerce WooCommerce o Area membri Ogni 5-15 minuti, a seconda delle esigenze
Sito molto attivo con code, prenotazioni o abbonamenti Ogni 5 minuti, se tecnicamente opportuno

Per molti siti web, impostare il cron ogni 15 minuti rappresenta un buon compromesso tra un'esecuzione affidabile e un funzionamento a basso consumo di risorse.

Come verificare se WP-Cron funziona

Dopo la configurazione, dovresti verificare che le attività pianificate continuino a essere eseguite. Il modo più semplice per testarlo è programmare la pubblicazione di un articolo di prova o utilizzare un plugin in grado di mostrare gli eventi cron.

Verifiche possibili:

  • Pianifica un articolo di prova per un futuro prossimo e controlla se viene effettivamente pubblicato.
  • Controlla se i plugin di backup continuano ad avviarsi automaticamente.
  • Verifica le azioni di WooCommerce, le code o le e-mail pianificate.
  • Se necessario, utilizza un plugin per visualizzare gli eventi cron pianificati.
  • Controlla all'interno del cPanel che il cron job sia stato salvato correttamente.

Se le attività non vengono eseguite, controlla prima il dominio nel comando del cron job, l'ortografia del file wp-cron.php e la posizione della riga inserita nel file wp-config.php.

Errori comuni durante la configurazione

Durante il passaggio da WP-Cron a un vero cron job si verificano spesso errori simili. La panoramica seguente aiuta nella risoluzione dei problemi.

  • WP-Cron disattivato, ma nessun cron job configurato: Le attività pianificate non vengono più eseguite in modo affidabile.
  • Dominio errato nel comando: Il cron job richiama il sito web sbagliato o un URL non raggiungibile.
  • HTTP invece di HTTPS: Utilizza, se possibile, l'indirizzo HTTPS corretto del tuo sito web.
  • Sito web bloccato dalla modalità di manutenzione: Il richiamo del cron non raggiunge correttamente WordPress.
  • Il plugin di sicurezza blocca wp-cron.php: Alcune regole di sicurezza possono limitare l'accesso al file.
  • Intervallo troppo breve: Cron job molto frequenti possono causare un carico inutile sul server.
  • Errore nel file wp-config.php: Un errore di sintassi può compromettere il funzionamento di WordPress.

Il file wp-cron.php dovrebbe essere accessibile pubblicamente?

Il file wp-cron.php è normalmente accessibile pubblicamente tramite il tuo dominio. Questo è lo standard per WordPress, poiché il richiamo del cron avviene solitamente tramite HTTP. Se utilizzi regole di sicurezza speciali, firewall o restrizioni di accesso, dovresti assicurarti che il tuo cron job sia comunque in grado di richiamare il file.

Se un plugin di sicurezza blocca l'accesso, può accadere che le attività pianificate non vengano più eseguite. In questo caso, dovresti consentire specificamente il richiamo del cron o passare a un richiamo PHP diretto tramite il percorso del server.

Riattivare WP-Cron

Se desideri tornare alla funzione predefinita di WordPress, rimuovi nuovamente la riga seguente dal file wp-config.php:

define('DISABLE_WP_CRON', true);

Successivamente, cancella il cron job creato nel cPanel, per evitare che wp-cron.php venga richiamato due volte o inutilmente.

Raccomandazione per i clienti CURIAWEB

Per i siti web WordPress professionali consigliamo di sostituire WP-Cron con un vero cron job. Specialmente in presenza di WooCommerce, plugin di backup, plugin di sicurezza, aree membri o siti web con pubblicazioni pianificate, questa variante è più affidabile e tecnicamente più pulita.

Su CURIAWEB.CH puoi configurare il cron job direttamente nel cPanel. Per la maggior parte dei siti web è adatto un intervallo di 15 o 30 minuti. Gli shop online o i siti web con molte attività urgenti potrebbero richiedere un intervallo più breve.

Domande frequenti su WP-Cron e veri cron job

Cosa succede se disattivo WP-Cron?

WordPress non avvierà più automaticamente le attività pianificate in concomitanza con le visite alle pagine. Pertanto, è necessario configurare un vero cron job che richiami regolarmente il file wp-cron.php.

Ogni quanto dovrebbe girare il cron job?

Per i siti web normali sono solitamente sufficienti 15-30 minuti. Per WooCommerce, aree membri o attività urgenti, può essere sensato impostare il controllo ogni 5-15 minuti.

Disattivare WP-Cron migliora sempre le prestazioni?

Non sempre in modo tangibile, ma dal punto di vista tecnico è spesso una soluzione più pulita. Il vantaggio principale risiede nell'esecuzione controllata e più affidabile delle attività pianificate.

Posso eliminare completamente wp-cron.php?

No. Il file wp-cron.php non deve essere eliminato. Continuerà a essere richiamato dal vero cron job. Viene disattivata unicamente l'attivazione automatica durante le normali visite alle pagine.

Un vero cron job è consigliato per WooCommerce?

Sì. WooCommerce e molte estensioni utilizzano attività pianificate per ordini, e-mail, abbonamenti, gestione del magazzino o code. Un vero cron job può garantire una maggiore affidabilità in questi casi.


Massima stabilità per il tuo sito WordPress

Con CURIAWEB.CH beneficiate di un hosting WordPress ad alte prestazioni con server con sede in Svizzera, gestione tramite cPanel e supporto personale.

Vai ai piani di hosting WordPress

Sei insicuro sulla configurazione del cron job? Il nostro Supporto CURIAWEB sarà lieto di aiutarti ulteriormente.

Hai trovato utile questa risposta? 0 Utenti hanno trovato utile questa risposta (0 Voti)