In acest articol vom discuta despre unele probleme de performanta cu wp-cron.php, va vom arata cum se face dezactivarea wp-cron.php si cum puteti programa un cron job de sistem.

Cron job-urile sunt folosite pentru a programa sarcini pentru site-ul dvs. WordPress  la ore fixe periodice, date sau intervale. Cateva exemple de sarcini WordPress sunt programarea unei postari pentru publicare, verificarea actualizarilor sau un plugin pentru backup care ruleaza dupa un program prestabilit.

In WordPress, toate acestea sunt gestionate prin intermediul wp-cron.php care este utilizat pentru a simula un cron job de sistem. Cu toate acestea, in functie traficul catre website-ul dvs. utilizarea handlerului cron incorporat in WordPress poate avea un  impact negativ asupra timpilor de incarcare a paginilor. In continuare, va vom discuta despre dezactivarea wp-cron.php si cum sa utilizati un cron job de sistem pentru performante imbunatatite.

 

Probleme de performanta cu wp-cron.php

Website-urile cu trafic intens pot avea probleme de performanta datorita handlerului cron incorporat in WordPress: wp-cron.php.

In primul rand, este important sa intelegem ca wp-cron.php nu este un cron job real, este ceea ce WordPress a creat pentru a imita functionalitatile unui cron job de sistem.

wp-cron.php nu ruleaza continuu. In mod implicit, wp-cron.php se declanseaza la fiecare incarcare a paginii, ceea ce pe site-urile cu trafic intens poate provoca probleme.

Scenariul invers este si el adevarat – daca un website nu are suficient trafic sarcinile programate ar putea fi ratate datorita faptului ca nimeni nu a accesat o pagina.

O solutie optima este dezactivarea wp-cron.php si utilizarea sistemului de taskuri din sistemul de operare. Acesta ruleaza dupa un program prestabilit, fiind de altfel si recomandat de catre producatorul WordPress.

 

Dezactivarea wp-cron.php

Pentru a dezactiva wp-cron.php adaugati urmatoarele informatii in fisierul wp-config.php, chiar inainte de linia care spune “That’s all, stop editing! Happy blogging.” :

define('DISABLE_WP_CRON', true);

Aceasta va dezactiva executia wp-cron.php la incarcarea paginilor sitului dar va fi in continuare posibila executia lui directa.

 

Programarea unui cron job de sistem

Daca sunteti familiarizat cu terminalul SSH, puteti sa gestionati cron job-urile-urile din linia de comanda (presupunand ca aveti un pachet de gazduire care include acces SSH).

Crearea unui cron job in cPanel

Daca utilizati un serviciu de gazduire web cu cPanel puteti crea un cron job din panoul de control. Asigurati-va mai intai ca dezactivati wp-cron.php implicit (pasul anterior).

  • Autentificati-va in cPanel. In sectiunea Advanced, faceti click pe Cron Jobs
  • In sectiunea Add New Cron Job, puteti alege un numar de sarcini predefinite, cum ar fi 2 pe ora sau o data pe saptamana. Furnizorul dvs. de gazduire web are (cel mai probabil) o limita cu privire la frecventa executarii de cron job-uri. Doua cron job-uri pe ora este o setare obisnuita pentru pachete de gazduire web shared.
  • Introduceti urmatoarea comanda, inlocuind https://domeniu.ro cu numele dvs. de domeniu:
wget -q -O - https://domeniu.ro/wp-cron.php?doing_wp_cron >/dev/null 2>&1

Partea >/dev/null 2>&1 a comenzii de mai sus va dezactiva notificarile prin email.

  • Faceti click pe “Add New Cron Job”

 

In cazul in care configurarea cron job-urilor pe serverul dvs. este prea complicata pentru dvs. sau furnizorul dvs. de gazduire nu ofera acces SSH, puteti utiliza si o solutie terta parte, cum este EasyCron.