Attivare WP-Cron con un cronjob su un sito WordPress con ISPConfig

Procédure

Che cos'è WP-Cron?

WP-Cron è il meccanismo interno di WordPress che imita il servizio cron di Linux per eseguire attività programmate in background su WordPress. Ciò consente, tra l'altro, di eseguire aggiornamenti automatici, riscaldamento della cache e attività di manutenzione di WooCommerce. Poiché i plugin hanno accesso a questo meccanismo, possono aggiungere compiti da eseguire per programmare azioni aggiuntive. Per saperne di più, consultate il nostro post dedicato: Cos'è WordPress CRON?

Perché attivare WP-Cron con un cronjob?

WP-Cron è stato originariamente progettato per sostituire cronjob sui pacchetti di web hosting che non consentono di aggiungere uno script al servizio cron di Linux. Di conseguenza, WP-Cron attiva l'esecuzione di attività grazie alle richieste fatte al file wp-cron.php, durante le richieste AJAX fatte a wp-admin/admin-ajax.php, e/o quando la pagina viene caricata. Quindi, il fattore scatenante di queste richieste HTTP è inevitabilmente la visita al sito web. Di conseguenza, il caricamento della pagina sarà intralciato dall'esecuzione delle attività di WP-Cron e le prestazioni potrebbero ridursi. Peggio ancora, alcuni plugin aggiungono attività troppo lunghe a Wp-Cron, al punto da superare i possibili tempi di attesa HTTP. E, cosa ancora più preoccupante, l'esecuzione dei task potrebbe essere ritardata perché non ci sono visitatori sul sito nel momento in cui il task dovrebbe essere eseguito. Alcuni task potrebbero quindi accumularsi e, quando un visitatore apre la pagina, decine o addirittura centinaia di task programmati potrebbero essere abbandonati, penalizzando notevolmente il tempo di caricamento per questo sfortunato visitatore.

L'attivazione di WP-Cron con un cron job assicura quindi che le attività pianificate con WP-Cron vengano eseguite senza influenzare i visitatori: wp-cron.php verrà quindi eseguito a intervalli regolari, indipendentemente dalla presenza o meno di visitatori, e questi ultimi potranno aprire immediatamente il sito senza attendere l'esecuzione delle attività in sospeso.

Passo 1: Disabilitare l'esecuzione di WP-Cron quando viene caricata una pagina

Prima di tutto, è necessario disabilitare l'esecuzione di WP-Cron quando viene caricata una pagina. Per farlo, aggiungete la seguente riga al file wp-config.php:

define( 'DISABLE_WP_CRON', true );

Per fare questo, andate sul vostro client FTP, connettetevi al vostro account FTP e modificate il file wp-config.php:

Attivare WP-Cron con un cronjob su un sito WordPress con ISPConfig

Passo 2: Attivare wp-cron.php da un lavoro di cron

Nel vostro pannello di controllo ISPConfig, andate su Siti > Cron job e cliccate su"Nuovo cron":

Attivare WP-Cron con un cronjob su un sito WordPress con ISPConfig

Inserire quindi un cronjob che venga eseguito ogni minuto ed esegua il file wp-cron.php:

Attivare WP-Cron con un cronjob su un sito WordPress con ISPConfig

Il comando da eseguire,"php7.4 [web_root]/wp-cron.php", può essere modificato:

  • php7.4 indica il binario PHP da utilizzare. Se il vostro sito web utilizza un'altra versione, assicuratevi di regolare la versione indicata.
  • [web_root] rappresenta la cartella "web" nel vostro FTP. Dovete regolare anche questo valore se il vostro sito WordPress si trova in una directory particolare.

La casella di controllo "Log output" consente di registrare l'output di wp-cron nella cartella "private" del vostro account FTP. È possibile selezionarla se si desidera avere l'output stdout e stderr di wp-cron.php, utile ad esempio per il debug.

Per saperne di più sulleattività di cron programmate sul vostro VPS, potete consultare l'articolo dedicato.

Alcune insidie da evitare

Per impostazione predefinita, i siti creati su ISPConfig non sono associati ad alcun account cliente:

Attivare WP-Cron con un cronjob su un sito WordPress con ISPConfig

Tuttavia, se avete volontariamente associato il vostro sito web a un account cliente o rivenditore creato su ISPConfig, questo account potrebbe avere alcuni limiti di cron che potrebbero impedire il corretto funzionamento del cron job. Per controllare questi limiti, andare alla scheda Limiti dell'account cliente/rivenditore:

Attivare WP-Cron con un cronjob su un sito WordPress con ISPConfig

Assicurarsi di aver scelto Cron completo, in modo che il cronjob non venga eseguito in una chroot jail limitata che non ha tutte le funzioni necessarie per il corretto funzionamento del cronjob:

Attivare WP-Cron con un cronjob su un sito WordPress con ISPConfig

Assicuratevi anche di impostare il tempo minimo tra le esecuzioni a "1", in modo che il cronjob possa essere eseguito ogni minuto.

Se sono già stati creati cronjob e/o utenti di shell per il sito, sarà necessario cancellare tutti i cronjob e gli utenti di shell esistenti e poi ricrearli, in modo che ISPConfig possa passare da un ambiente chroot a un ambiente cron completo.

Vota questo articolo :

5/5 | 2 parere

Questo articolo vi è stato utile ?

Article utile

Article non utileNo

Vous souhaitez nous laisser un commentaire concernant cet article ?

Si cela concerne une erreur dans la documentation ou un manque d'informations, n'hésitez pas à nous en faire part depuis le formulaire.

Pour toute question non liée à cette documentation ou problème technique sur l'un de vos services, contactez le support commercial ou le support technique

MerciMerci ! N'hésitez pas à poser des questions sur nos documentations si vous souhaitez plus d'informations et nous aider à les améliorer.


Vous avez noté 0 étoile(s)

Articoli simili

0mn lettura

Come si fa a disabilitare mod_security su un sito web sul proprio VPS usando il pannello ISPConfig?

1mn lettura

Limiti di larghezza di banda sui server VPS

2mn lettura

Come configurare l'autenticazione a due fattori su ISPConfig


Fate una domanda al team LWS e alla sua comunità