Prejsť na obsah

Nastavenia súborov cookie

Vyberte, aké druhy súborov cookie povolíte. Svoj výber môžete kedykoľvek zmeniť cez Nastavenia súborov cookie v dolnej časti každej stránky. Vyhlásenie o ochrane osobných údajov

Nevyhnutné

Vždy zapnuté

Potrebné na prihlásenie, uchovanie košíka a zapamätanie vašich volieb. Sú vždy zapnuté.

Ktoré súbory cookie?
  • weboke_sessie, weboke_klant, weboke_remember: vaša relácia a trvalé prihlásenie
  • weboke_basket: váš košík
  • wkBtwIncl: zobrazovanie cien s DPH alebo bez DPH
  • wok_cookies: váš výber súborov cookie, 12 mesiacov

Merajú, ktorá reklama vedie k návšteve alebo objednávke, aby sme neplatili za reklamy, ktoré nič neprinášajú.

Ktoré súbory cookie?
  • Google Ads cez Google Tag Manager (_gcl_au, _gcl_aw), najviac 90 dní
  • OpenAI Ads, reklamy v ChatGPT
  • wok_aff: ktorý partner vás k nám odporučil (partnerský program), 60 dní

4,6

Krajina a jazyk

Každá krajina má vlastný web s cenami a DPH danej krajiny.

Zobraziť

Cron, Action Scheduler a staging

Modul 7: Vyhľadateľnosť a hosting · Čas čítania: 10 min.

Cieľ lekcie: Po tejto lekcii dokážete vysvetliť, ako WooCommerce vykonáva úlohy na pozadí, skontrolovať plánované akcie a pri problémoch ich opraviť a nastaviť staging prostredie pre e-shop tak, aby neboli ohrození skutoční zákazníci a nevznikli problémy so skutočnými platbami ani objednávkami.

Kľúčové pojmy: WP-Cron, skutočný cron, DISABLE_WP_CRON, Action Scheduler, plánované akcie, čakajúce, dokončené, neúspešné, čistenie, staging pre e-shop, testovací režim poskytovateľa platieb, vypnuté e-maily, webhooky, prepojenia, neprepisovať produkčnú databázu

Čo sa deje, keď sa nikto nepozerá

E-shop vykonáva veľa práce, ktorá nesúvisí priamo s kliknutím návštevníka:

  • ruší nezaplatené objednávky, keď uplynie čas na držanie zásob (lekcia 3.4);
  • posiela e-maily po zmene stavu a webhooky do prepojených systémov;
  • aktualizuje prehľady a štatistiky v administrácii;
  • čistí vypršané relácie a dočasné údaje;
  • uplatňuje doby uchovávania z Účty a súkromie (lekcia 2.3);
  • pri predplatnom alebo prepojení s účtovníctvom strháva platby a odosiela údaje.

Na to WordPress používa WP-Cron a WooCommerce k tomu navyše Action Scheduler. Ak nefungujú správne, nezistíte to hneď. Prejaví sa to tak, že nezaplatené objednávky ďalej blokujú zásoby, prehľady zostávajú prázdne alebo prepojenie mešká o niekoľko dní.

WP-Cron a skutočný cron

Ako WP-Cron funguje a prečo je skutočná úloha cron lepšia, nájdete v kurze WordPress, lekcia 6.3: WP-Cron sa spúšťa pri návštevách, nie podľa hodín, a to je nespoľahlivé pri malom počte návštevníkov a zaťažujúce pri veľkom počte. Riešenie: DISABLE_WP_CRON v súbore wp-config.php a úloha cron v hostingovom paneli, ktorá spúšťa wp-cron.php každých pár minút.

Pre e-shop to nie je optimalizácia, ale nevyhnutnosť:

  • V noci, keď je málo návštev, sa nezaplatené objednávky aj tak musia zrušiť včas.
  • Počas rušnej akcie zase nechcete, aby sa náročná úloha na pozadí zviezla s požiadavkou zákazníka, ktorý chce zaplatiť.

Vo WebOké vytvoríte takúto úlohu v DirectAdmin v časti CRON úlohy (DA 15.1, KB 48), s cestou k PHP /usr/local/bin/php; u iných poskytovateľov hostingu to funguje podobne v ich obrazovke pre cron. Pre e-shop zvoľte interval od jednej do piatich minút, radšej ako desať. Úloha, ktorá beží každú minútu a nemá čo robiť, nestojí takmer nič.

Action Scheduler: front úloh WooCommerce

Action Scheduler je front úloh na pozadí, ktorý sa dodáva s WooCommerce a používa ho aj mnoho ďalších pluginov (predplatné, prepojenia s účtovníctvom, e-mailový marketing). Každá úloha je akcia s časom a stavom. Front sa spracúva cez úlohu WP-Cron (action_scheduler_run_queue), takže aj tu platí: bez spoľahlivého cronu front mešká.

Všetko nájdete v WooCommerce > Stav > Plánované akcie (Scheduled Actions). Pre každý stav je samostatná karta:

StavVýznamČo urobiť
Čakajúci (Pending)Ešte sa má spustiťAk ich je stovky s časom v minulosti, front mešká: skontrolujte cron
Prebieha (In-progress)Práve bežíAk akcia dlho visí, pozrite sa do záznamu vedľa nej
Dokončené (Complete)HotovoNič; automaticky sa vyčistia
Neúspešné (Failed)Skončila chybouPrečítajte si chybové hlásenie v stĺpci Záznam; často ide o plugin alebo prepojenie, ktoré nie je dostupné
Zrušené (Canceled)Zámerne nevykonanéVäčšinou nič

Podľa zdrojového kódu Action Scheduler predvolene čistí dokončené a zrušené akcie po mesiaci, neúspešné po troch mesiacoch. Ak tabuľka napriek tomu rýchlo rastie, pravdepodobne beží veľa akcií, ktoré opakovane zlyhávajú alebo sa stále znova vytvárajú; namiesto obyčajného vyprázdnenia tabuľky zistite, ktorý plugin ich vytvára (pomôže stĺpec Skupina a názov hooku).

Príklad z praxe v Theehuis Example: prepojenie s účtovným programom po zmene hesla zaradilo každú objednávku do frontu ako neúspešnú akciu. Po týždni tam bolo 400 neúspešných akcií a chýbalo 60 faktúr (lekcia 5.6). Po oprave prepojenia mohol správca akcie jednotlivo znova spustiť pomocou Spustiť (Run).

Staging pre e-shop

Čo je staging, ako ho vytvoriť a ako ho chrániť (heslo, noindex), nájdete v kurze WordPress, lekcia 8.3. Vo WebOké to ide pomocou klonovania v Installatron (DA 13.7, KB 232) a priečinka chráneného heslom (DA 15.9); iní poskytovatelia hostingu majú podobné nástroje. Pri e-shope pribúda niekoľko vecí navyše, pretože kópia e-shopu obsahuje skutočné údaje zákazníkov a môže vykonávať skutočné akcie.

Hneď po klonovaní, skôr než urobíte čokoľvek iné:

  1. Poskytovateľ platieb v testovacom režime, s testovacími kľúčmi. Staging s ostrými kľúčmi môže prijímať skutočné platby alebo vykonávať vrátenia peňazí.
  2. E-maily vypnuté alebo presmerované. Inak kópia posiela potvrdenia, pripomienky a e-maily o opustenom košíku skutočným zákazníkom. Použite plugin, ktorý zadrží všetky e-maily alebo ich pošle na jednu testovaciu adresu.
  3. Prepojenia a webhooky vypnuté. Účtovníctvo, synchronizácia zásob, prepravné štítky, e-mailový marketing: inak staging zaúčtuje faktúry alebo odošle balíky. Skontrolujte aj WooCommerce > Nastavenia > Pokročilé > Webhook a kľúče API.
  4. Prejsť plánované akcie. Front sa skopíroval spolu s webom. Čakajúce akcie (pripomienkový e-mail, platba predplatného) by sa inak na stagingu spustili ešte raz.
  5. Obmedziť osobné údaje. Ak na testovanie nepotrebujete skutočné údaje zákazníkov, na stagingu ich vymažte alebo anonymizujte. Staging podlieha GDPR a býva často horšie zabezpečený (lekcia 5.5).

A najdôležitejšie pravidlo pri vracaní zmien: nikdy neprepisujte databázou zo stagingu bežiaci e-shop. Medzi klonovaním a vrátením pribudli objednávky, zákazníci, pohyby zásob a platby; tie by ste stratili. Zmeny vykonajte znova na produkcii (teraz už viete, že fungujú), alebo synchronizujte iba súbory. Ak to musí byť aj s databázou, robte to iba s e-shopom v režime údržby, hneď po čerstvej zálohe a s nástrojom, ktorý objednávky a zákazníkov vynechá.

Testovanie aktualizácie na stagingu

Typický postup pri veľkej aktualizácii WooCommerce alebo platobného pluginu:

  1. Vytvorte čerstvý staging (klon produkcie) a nastavte päť bodov uvedených vyššie.
  2. Aktualizujte na stagingu a spustite aktualizáciu databázy, ak o ňu WooCommerce požiada.
  3. Urobte testovaciu objednávku v testovacom režime: zaplatenie, neúspešná platba, vrátenie peňazí (lekcia 4.5).
  4. Skontrolujte Plánované akcie a chybový záznam, či nepribudli nové chyby.
  5. Potom aktualizujte produkciu v pokojnom čase, so zálohou tesne predtým (lekcia 6.2).

Zhrnutie

  • WooCommerce vykonáva veľa práce na pozadí; beží cez WP-Cron a Action Scheduler.
  • Pre e-shop vždy používajte skutočnú úlohu cron (každú jednu až päť minút) namiesto WP-Cron pri návštevách.
  • Kontrolujte WooCommerce > Stav > Plánované akcie: veľa oneskorených čakajúcich alebo neúspešných akcií je znakom, že cron alebo niektoré prepojenie nefunguje.
  • Na stagingu: poskytovateľ platieb v testovacom režime, e-maily a prepojenia vypnuté, plánované akcie prejdené, osobné údaje obmedzené.
  • Nikdy neprepisujte databázou zo stagingu bežiaci e-shop; zmeny vykonajte znova na produkcii.

Kvíz

1. Prečo je skutočná úloha cron pre e-shop dôležitejšia ako pre blog?



2. V Plánovaných akciách je 2000 čakajúcich akcií s včerajším časom. Čo je najpravdepodobnejšia príčina?



3. Čo nastavíte na novom stagingu e-shopu ako prvé?



4. V pondelok ste vytvorili staging a v piatok chcete zmeny nasadiť naostro. Prečo databázu jednoducho nevrátite?



Úloha

Úloha A7.3: Je váš staging chránený? Ide o rovnakú kontrolu ako úloha A8.3 z kurzu WordPress. Najprv potrebujete doklad o vlastníctve vašej domény (záznam TXT _weboke-cursus.<domein> alebo súbor /.well-known/weboke-cursus-<code>.txt s kódom, ktorý dostanete). Potom zadajte adresu vášho e-shopu a adresu vášho stagingu (host pod rovnakou doménou). Program načíta domovskú stránku stagingu bez prihlasovacích údajov a domovskú stránku produkcie. Zelená, ak staging vyžaduje heslo (401), alebo ak má noindex a používa vlastnú adresu (vstupný bod REST ukazuje na host stagingu), pričom produkcia noindex nemá. Oranžová, ak má staging noindex, ale nie heslo, alebo nemá platný certifikát. Červená, ak je staging otvorený a indexovateľný, ak staging stále ukazuje na adresu produkcie, alebo ak má produkcia omylom noindex.

Otázky pre vás (nekontrolujú sa): Je poskytovateľ platieb na vašom stagingu v testovacom režime? Sú e-maily vypnuté alebo presmerované? Sú prepojenia a webhooky vypnuté? Koľko čakajúcich a neúspešných akcií je teraz v Plánovaných akciách na produkcii?

Úloha A7.3: Je váš staging chránený?

Táto kontrola zisťuje cesty, ktoré si môžete dať skontrolovať iba pri vlastnom e-shope. Najprv kliknite na "Zobraziť môj kód" a uložte tento kód ako TXT záznam na _weboke-cursus.<vaša doména> alebo ako súbor na svoj web (pozrite si vysvetlenie pri kóde).



Čo vyplníte a čo nájdeme, neukladáme. Váš prehliadač si pamätá vaše odpovede a to, či ste úlohu splnili. Po prihlásení si v sekcii Moje kurzy uchovávame iba to, že úloha bola (takmer) správne vyriešená; aj to tam môžete odstrániť.

Ďalšie čítanie

Tieto články opisujú kroky v paneloch WebOké; v iných paneloch fungujú podobne.

Chvíľu strpenia…

Nastavte svoje domény

Pri každej doméne nastavte nameservery, prepojenie s hostingom a to, kto bude jej vlastníkom.

Načítavajú sa vaše domény…