Cos'è WP-Cron e quando sono utili i "veri" cronjob per il tuo sito WordPress  ?

Cos'è WP-Cron e quando sono utili i "veri" cronjob per il tuo sito WordPress ?

Programmare la pubblicazione dei post in WordPress , controllare Plugins per gli aggiornamenti, creare i backup - questi sono tutti esempi tipici di compiti che avvengono ripetutamente. Ed è qui che WP-Cron entra in gioco in WordPress . Cosa significa questo e quando i cron job lato server hanno più senso, lo spieghiamo in questo post.

Come sapete, il vostro computer esegue costantemente e a rotta di collo innumerevoli calcoli con uno e zero, che hanno tutti un compito da svolgere. Molti di questi sono compiti che devono essere ripetuti. Più e più volte - come lavarsi i denti. Quindi ho la seguente domanda per voi:

Se poteste automatizzare il lavaggio dei tuoi denti, lo fareste?

Il tuo sito WordPress ha dei compiti di manutenzione automatizzati che deve eseguire regolarmente. In questo articolo vedremo cosa sono questi compiti, quali problemi possono causare e come Raidboxes rende super facile la loro gestione.

Ogni volta che la vostra macchina locale vi dà un messaggio popup che un aggiornamento è stato trovato o una e-mail è arrivata nella vostra casella di posta, è quasi certamente un cronjob che lavora dietro le quinte.

Consenso*
Questo campo è per la convalida e non deve essere modificato.

Cos'è Cron? 

Cron è un comando di pianificazione delle attività che è integrato nei sistemi basati su Linux - come Ubuntu, Debian o anche Mac OSX - e anche sui server. Sotto Windows, la funzionalità si chiama "Task Scheduler".

La documentazione sull'uso della funzione cron in questi sistemi può essere trovata qui: 

Cosa fa Cron?

Lo scopo di cron è quello di eseguire compiti ripetitivi - per esempio, controllare gli aggiornamenti disponibili o inviare e ricevere e-mail. Questo di solito è impostato per voi in modo predefinito. Ma più software hai installato sulla vostra macchina, più lavori saranno probabilmente aggiunti. Per esempio, lo screenshot qui sotto mostra un cronjob in Task Scheduler in Windows 10. 

Windows Cron

Ti stai chiedendo come funziona? Cron funziona programmando le attività in base al tempo del vostro dispositivo, e può essere impostato per minuto, ora, giorno, settimana, mese e anno. In Cron, si imposta un tempo specifico per l'esecuzione di un'azione. 

Cos'è WP-Cron?

WordPress Cron, noto anche come WP-Cron, è un file PHP che di solito si trova nella directory principale della vostra installazione WordPress . 

Wp Cron Posizione

E cosa fa WP-Cron?

Il file cron di WordPress (wp-cron.php) contiene i compiti automatici che la tua installazione WordPress deve eseguire. Per esempio, cose come il controllo degli aggiornamenti di Plugins e WordPress o la pubblicazione di post programmati. Per maggiori informazioni, vedere la documentazione"Cos'è WP-Cron" nel manuale ufficiale di WordPress Plugin . 

WP-Cron contro Cron

La differenza principale tra WordPress cron e il cron scheduler è che wp-cron.php viene eseguito solo quando un utente visita il tuo sito web e attiva il caricamento di una pagina. Questo significa che WordPress richiede una richiesta HTTP/HTTPS dal tuo sito web per eseguire compiti programmati. Il compito cron viene quindi messo in coda per essere eseguito. 

Vi starete chiedendo, e giustamente:

Perché WP Cron funziona solo quando un utente visita il mio sito! 

Bene, molti host WordPress offrono solo hosting condiviso, il che di solito significa che l'host non ti dà accesso al comando cron. Perché se lo facessero, avreste accesso ai comandi del server e tutti i dati sul server sarebbero potenzialmente compromessi. Quindi WordPress Cron è il workaround per questo problema.

La seconda differenza è che quando si usa Cron, si possono impostare orari specifici (per esempio, le 17:00 di ogni giorno per eseguire un compito). In WP-Cron, invece, si impostano gli intervalli (per esempio, 14:00 & intervallo X dopo). WP-Cron quindi esegue il compito a quegli intervalli finché un utente ha visitato il sito. Per maggiori informazioni, vedi anche: Capire la programmazione di WP-Cron

WP-Cron e prestazioni

A causa del fatto che WP-Cron viene attivato ogni volta che un utente visita il tuo sito web, questo può causare problemi sia per i siti piccoli che per quelli grandi. Ora vi spiego perché.

Siti web piccoli e geograficamente specifici

Per i siti web più piccoli con poco traffico, il problema è che il compito cron non viene eseguito abbastanza spesso. Esempio: Cosa succede se il tuo sito web dovrebbe fare il backup alle 2:00 del mattino, ma hai un piccolo sito di guide turistiche che opera solo in una città. In questo caso, è improbabile che il tuo pubblico di riferimento visiti il tuo sito alle 2:00 del mattino e attivi il cronjob. E se è in bassa stagione, potresti non avere un visitatore sul tuo sito per giorni. 

Siti web più grandi e portata globale

Tuttavia, per i siti con un gran numero di utenti, WP-Cron può causare alcuni problemi di prestazioni e persino rendere il tuo sito vulnerabile a un attacco DDoS. Ora, se probabilmente sei andati nel panico e hai afferrato il vostro mouse o la vostra tazza di caffè alla menzione di un attacco DDoS: non preoccupatevi troppo, perché c'è una soluzione per tutto.

Qual è la causa del problema?

La quantità di traffico è la causa del problema. Per i grandi siti web, il traffico è ovviamente un must e importante per il business, quindi frenare le chiamate non è un'opzione per risolvere il problema. 

Ricorda, ogni visita di pagina comporta l'attivazione di WP-Cron - e naturalmente, questo mette a dura prova il tuo server perché richiede risorse.

C'è un modo migliore?

Fortunatamente, la risposta è "sì". Anche se non possiamo facilmente frenare il traffico, aprire negozi fisici in tutto il mondo, o cambiare il modo in cui WordPress è costruito. Ma possiamo cambiare ciò che fa funzionare WP-Cron. 

Invece di eseguire wp-cron.php in base alle visite della pagina, possiamo impostare un compito cron sul server di hosting che esegue WP-Cron a intervalli specifici. Vi mostrerò come fare.

Configurare l'esecuzione lato server di wp-cron.php su Raidboxes

Per rendere il tuo lavoro il più facile possibile, il team di Raidboxes ha incorporato questa funzione proprio in RB-Dashboard . Hai letteralmente bisogno di cinque clic per impostare l'esecuzione lato server dei cronjob di WordPress! Se sei uno sviluppatore che vuole risparmiare tempo, questa è una delle cose più facili da fare.

Per attivare i cronjobs lato server nel tuo Raidboxes Dashboard , vai prima alle impostazioni del tuo BOX e poi clicca su "Cronjobs" nella barra laterale.

raidboxes dashboard wp-cron

Ora vedrete tutte le impostazioni per i tuoi cronjob. 

Lavori in crono Raidboxes


Ora dovreste configurare quanto segue nel cronjobs:

  1. Disattiva "Run WP-Cron" (questo impedisce che WP-Cron venga attivato dai visitatori del sito).
  2. Attivare "Run WP-Cron server-side" (questo aggiunge un compito cron al server per attivare wp-cron.php all'intervallo specificato). 

Non c'è altro da dire!

Attenzione

Se disattivi Run WP-Cron e anche l'opzione Run WP-Cron server-side è disabilitata, nessun cron job verrà più eseguito sul tuo sito.

Per questa personalizzazione, non è quindi necessario contattare il vostro hoster, andare nel cPanel o modificare manualmente il vostro file wp-cron.php. Su Raidboxes , bastano pochi clic per monitorare e gestire i tuoi cronjob direttamente in RB-Dashboard . Questo significa che non hai bisogno di installare un plugin aggiuntivo per visualizzare i tuoi cronjob.

Se vuoi fare ulteriori configurazioni, puoi anche specificare in Raidboxes Dashboard l'intervallo in cui wp-cron.php deve essere eseguito.

Tempo di crono

Ci sono molte speculazioni sull'intervallo "migliore" per i cronjob. Di solito raccomandiamo di non scendere sotto i 5 minuti. 

Modifica il tuo WordPress cronjobs

Senza Plugins

Se non vuoi installare un plugin per modificare il tuo file wp-cron.php, non è un problema! Su Raidboxes potete facilmente gestire i tuoi cronjob tramite RB-Dashboard come descritto sopra. Naturalmente, potete anche accedere ai tuoi cronjob tramite una connessione SSH. Una volta che ti sei collegato al tuo account, puoi modificare wp-cron.php nella directory principale del tuo sito WordPress.

Se volete sapere come rendere il vostro flusso di lavoro ancora più efficiente con SSH, è meglio controllare il nostro articolo"The Perfect WordPress Development Workflow with Git & SSH". 

Con Plugins

Attualmente il più popolare Plugin per gestire i cronjob di WP è"WP Crontrol". Potete anche cercare e installare il Plugin direttamente nel vostro WordPress su Plugins e installarlo. 

Plugin Wp Control

Sulla pagina di WP Crontrol Plugin all'indirizzo WordPress .org si può anche trovare un'utile documentazione su come usare correttamente Plugin

Impostare manualmente il server per attivare WP-Cron (non necessario con Raidboxes)

Con un piccolo sforzo di impostazione, puoi anche configurare il tuo server stesso per eseguire wp-cron.php a intervalli specifici.

  1. Modifica il file wp-cron.php 

In wp-cron.php

  • Disabilita il tuo file wp-cron.php aggiungendo il seguente codice al file:
define('DISABLE_WP_CRON', 'true');

Dopo di che, wp-cron.php non sarà più attivato quando un utente visita il tuo sito web.

  1. Aggiungi un cronjob al tuo server

Nel vostro ambiente server

A seconda del vostro ambiente di hosting, una delle due opzioni seguenti può essere applicata alla vostra situazione specifica: 

  • Se usi un servizio di hosting condiviso WordPress , contatta il tuo fornitore di hosting e chiedi loro di aggiungere un trigger cron lato server per wp-cron.php se non hai accesso ai comandi Linux da solo.
  • Oppure, se stai eseguendo il tuo sito con cPanel e hai accesso alla tua linea di comando, controlla la documentazione appropriata di cPanel

Il file cron di WP è facilmente trascurato quando si costruisce un sito web WordPress , ma può portare a errori evidenti se il tuo sito guadagna una quantità decente di traffico.

WordPress Prepararsi ai picchi di traffico

Ti aspetti molto traffico sul tuo sito WordPress , ad esempio a causa di una campagna di marketing? Allora hai bisogno della giusta preparazione! Il nostro capo dello sviluppo Matthias ti mostra quali 13 misure puoi prendere per preparare il tuo WordPress per carichi elevati.

Conclusione

Spero che questo articolo vi aiuti a capire cos'è e come funziona la funzione WordPress cron. Usato correttamente, può aiutarvi ad automatizzare in modo affidabile i compiti importanti in modo da potervi concentrare su ciò che è importante.

Il nostro obiettivo è quello di rendere la gestione dei tuoi cronjob WP tramite Raidboxes Dashboard il più facile e conveniente possibile. In questo modo, puoi ottimizzare ulteriormente lo sviluppo e la gestione del tuo sito attraverso questo accesso veloce e diretto.

Hai altre domande su WP-Cron o sul nostro dashboard? Allora sentiti libero di lasciarci un commento! Vuoi essere informato dei nuovi post su WordPress ? Allora seguici su Twitter, Facebook o tramite la nostra newsletter.

Ti è piaciuto l'articolo?

Con la tua valutazione ci aiuti a migliorare ancora di più il nostro contenuto.

Un commento su"Cos'è WP-Cron e quando sono utili i "veri" cron jobs per il tuo sito WordPress?"

  1. Ist der Eintrag DISABLE_WP_CRON tatsächlich – wie im Artikel beschrieben – in der wp-cron.php einzufügen? Ich hätte einen solchen define-Eintrag eher in der wp-config.php vermutet.
    Viele Grüße Stefan

Scrivi un commento

Il tuo indirizzo e-mail non sarà pubblicato.