Ai programat un articol pentru dimineață, dar la ora stabilită acesta nu apare pe site. În editor vezi în continuare data publicării, uneori alături de un mesaj despre o programare ratată. Problema poate ține de mecanismul care execută sarcinile WordPress, nu de articolul în sine. Ca să găsești cauza, merită să înțelegi cum funcționează WP-Cron, ce rol are traficul și ce verificări poți face înainte să modifici configurația site-ului.
1. Ce este WP-Cron și cum publică articolele programate
WP-Cron este mecanismul prin care WordPress gestionează sarcini programate. Publicarea articolelor la o dată viitoare este doar una dintre utilizări. WordPress și extensiile sale îl pot folosi și pentru verificări de actualizări, operațiuni de întreținere sau procesarea unor activități în fundal.
Când programezi un articol, WordPress înregistrează un eveniment asociat momentului publicării. La executarea acestuia, verifică articolul și îi poate schimba starea din programat în publicat. Simpla salvare a unei date viitoare nu înseamnă însă că un proces urmărește permanent ceasul.
În configurația obișnuită, încărcarea unei pagini care ajunge la WordPress poate declanșa verificarea evenimentelor scadente. Dacă există sarcini de executat, WordPress încearcă să pornească o cerere separată către mecanismul cron al site-ului.
Ora programată indică momentul de la care sarcina trebuie executată, nu garantează executarea exact în acea secundă. De aici apare diferența dintre o programare corect salvată și publicarea efectivă.
2. De ce pot întârzia articolele programate
O cauză frecventă este lipsa cererilor care ajung efectiv la WordPress în apropierea orei stabilite. Dacă nimeni nu accesează site-ul, mecanismul implicit poate să nu fie declanșat atunci. Pe un site cu trafic redus, articolul poate apărea abia după o accesare ulterioară.
Totuși, traficul nu explică orice întârziere. Verifică și următoarele situații:
- Cache la nivel de pagină sau CDN: unele accesări primesc direct o copie salvată și nu mai execută WordPress.
- Cereri interne blocate: reguli de securitate, autentificarea suplimentară sau configurarea serverului pot împiedica cererea prin care site-ul își pornește sarcinile.
- Erori PHP sau extensii incompatibile: execuția unei sarcini se poate întrerupe înainte să fie finalizată.
- Resurse insuficiente ori sarcini lente: procesele aglomerate și limitele de execuție pot afecta procesarea evenimentelor.
- WP-Cron dezactivat intenționat: configurația poate presupune existența unui cron pe server care nu mai rulează sau este configurat greșit.
Separă întârzierea publicării de întârzierea afișării. Dacă articolul apare ca publicat în administrare, dar lipsește de pe prima pagină, verifică și cache-ul, filtrele de afișare sau configurația temei.
3. Ce verifici la fusul orar WordPress
Înainte să investighezi serverul, deschide setările generale ale site-ului și verifică fusul orar WordPress. Compară ora afișată acolo cu ora locală pe care ai avut-o în vedere când ai programat articolul.
Pentru un site care publică după ora României, alegerea unui fus regional precum București este, de regulă, mai potrivită decât un decalaj UTC fix. Fusul regional ține cont de schimbările sezoniere ale orei, în timp ce un decalaj fix nu se ajustează automat.
- Verifică fusul orar configurat pentru site.
- Deschide articolul și confirmă data, ora și starea programării.
- Compară ora din administrare cu ora pe care o aștepți pentru publicare.
- Dacă ai schimbat fusul orar după programare, revizuiește articolele deja programate.
WordPress folosește marcaje temporale pentru evenimente, iar interfața afișează datele în funcție de setările site-ului. Nu presupune că fusul orar al serverului trebuie să fie identic cu cel din WordPress. Important este ca ora sistemului să fie corectă și configurațiile să fie interpretate consecvent.
4. Cum verifici evenimentele și starea site-ului
Instrumentul de sănătate a site-ului din administrarea WordPress poate semnala evenimente întârziate sau probleme cu cererile de tip loopback, prin care site-ul comunică cu el însuși. Aceste indicii ajută investigația, dar nu stabilesc singure cauza.
Inspectează evenimentul asociat publicării
Poți folosi un instrument de administrare a evenimentelor cron, compatibil cu versiunea ta WordPress. Alege o extensie întreținută și verifică lista evenimentelor, următoarea execuție și eventualele întârzieri. Publicarea articolelor programate este asociată în mod obișnuit cu evenimentul publish_future_post.
Existența evenimentului nu dovedește că acesta se va executa fără erori. Absența lui pentru un articol încă programat poate indica o problemă la înregistrarea programării. Nu șterge în masă evenimente necunoscute: unele aparțin extensiilor și sunt necesare funcționării lor.
Testează controlat și consultă jurnalele
Programează un articol de test, fără informații sensibile, și urmărește dacă starea lui se schimbă. Dacă instrumentul permite executarea manuală a unui eveniment, folosește opțiunea doar după ce înțelegi efectele: publicarea poate deveni vizibilă imediat.
Consultă jurnalele de erori disponibile și corelează mesajele cu momentul testului. Pentru orientare privind serviciul tău, poți verifica secțiunea întrebări frecvente. Evită să publici jurnale complete care pot conține date personale sau detalii de configurare.
5. WP-Cron și cron pe server: care este diferența
WP-Cron gestionează evenimentele din WordPress; un cron pe server pornește comenzi la intervale stabilite de sistemul de operare. Diferența importantă este sursa declanșării. În varianta implicită, WP-Cron depinde de cereri către site. O sarcină la nivel de server poate iniția procesarea fără să aștepte un vizitator.
Cele două mecanisme nu se exclud. Un cron pe server poate porni periodic procesarea evenimentelor WordPress, în timp ce WordPress păstrează lista sarcinilor și logica executării lor. Această abordare poate fi utilă când publici regulat sau ai activități de fundal importante.
- Verifică dacă serviciul de găzduire permite sarcini programate și ce metode de execuție acceptă.
- Alege un interval potrivit nevoilor site-ului și limitelor mediului de găzduire.
- Confirmă că sarcina vizează instalarea corectă și că se execută cu permisiunile necesare.
- Verifică execuția efectivă, nu doar existența configurației.
Într-o astfel de configurație, declanșarea automată prin accesări poate fi dezactivată folosind constanta DISABLE_WP_CRON. Nu face această modificare înainte să ai o alternativă funcțională. Chiar și cu un cron pe server, erorile aplicației sau lipsa resurselor pot întârzia sarcinile.
6. O ordine practică de verificare
Când articolele programate nu se publică, începe cu verificările simple și schimbă un singur lucru odată:
- Confirmă dacă articolul este încă programat sau este publicat, dar ascuns de cache.
- Verifică data, ora și fusul orar al site-ului.
- Caută evenimentul de publicare și avertismentele din sănătatea site-ului.
- Verifică erorile și eventualele blocaje ale cererilor interne.
- Stabilește dacă declanșarea se face prin accesări sau printr-o sarcină externă.
- Repetă testul după modificare și urmărește următoarele publicări.
Dacă evaluezi un serviciu de găzduire WordPress, verifică și opțiunile disponibile pentru sarcini programate. Pentru clarificări despre mediul oferit de GazduireOnline.ro, folosește pagina de contact și descrie testele făcute. O programare fiabilă începe cu setări coerente și verificarea execuției, nu doar cu alegerea unei ore în editor.