Kde se objednávka skutečně ztrácí
Největší past je v tom, že „košík funguje“ ještě neznamená, že objednávka opravdu prošla celým procesem. Ve WooCommerce může zákazník vidět potvrzení, ale objednávka se přitom nedostane do stavu, který by spustil další akce: e-mail, napojení na účetní systém, sklad nebo platební bránu. V praxi se problém nejčastěji láme ve čtyřech místech: platební brána, e-mail doručování, přechod mezi stavy objednávky a napojení na externí systémy.
Typický scénář? Zákazník zaplatí kartou, stránka po platbě se načte správně, ale objednávka zůstane ve stavu „čeká na platbu“ nebo se vůbec neobjeví v administraci. Nebo objednávka v systému je, jenže nepřišel notifikační e-mail, takže obchodník má pocit, že „nechodí“. Proto je nutné sledovat celý řetězec, ne jen poslední obrazovku.
Nejdřív ověřte, jestli je problém v platbě, nebo v notifikaci
Začněte jednoduchým testem: udělejte zkušební objednávku s různými způsoby platby a zapisujte si, co se stane v každém kroku. U plateb kartou sledujte, zda platební brána vrací úspěšný callback, jestli WooCommerce změní stav objednávky a zda se vytvoří e-mail pro zákazníka i administrátora. U dobírky a bankovního převodu je zase důležité, zda se objednávka uloží hned po odeslání formuláře.
Pokud objednávka v administraci existuje, ale e-mail nepřijde, problém je pravděpodobně v doručování. Pokud objednávka vůbec nevznikne, hledejte chybu v checkoutu, JavaScriptu, konfliktním pluginu nebo v platební bráně. A pokud objednávka vznikne, ale zůstává viset ve špatném stavu, jde často o problém v napojení webhooku nebo callbacku od poskytovatele platby.
- Kontrolní test 1: objednávka na dobírku – má se uložit okamžitě.
- Kontrolní test 2: platba kartou – má změnit stav po potvrzení od brány.
- Kontrolní test 3: e-mail administrátorovi – musí odejít do 1–2 minut.
- Kontrolní test 4: objednávka po přihlášení i bez přihlášení – rozdíl často odhalí problém s cookies nebo session.
Neviditelný zabiják: e-maily, které nikdy nedorazí
Spousta e-shopů si myslí, že „objednávky nechodí“, ale ve skutečnosti nechodí jen e-maily. WooCommerce ve výchozím nastavení posílá notifikace přes funkci wp_mail(), která je na mnoha hostinzích nespolehlivá. E-mail se sice vygeneruje, ale skončí ve spamu, nebo ho server vůbec neodešle. To je zvlášť časté u webů na levném hostingu bez správně nastaveného SMTP.
Praktické řešení je přejít na SMTP přes službu typu Brevo, Mailgun, Postmark nebo vlastní firemní SMTP. Důležité je mít správně nastavené DNS záznamy: SPF, DKIM a ideálně i DMARC. Bez nich se doručitelnost snadno propadá o desítky procent. Pokud chcete rychlý audit, zkontrolujte v Google Workspace nebo v e-mailové analytice míru doručení, spam rate a open rate. U objednávkových e-mailů by měla být doručitelnost velmi vysoká; pokud padá pod 95 %, je něco špatně.
Nezapomeňte ani na obsah e-mailu. Příliš mnoho odkazů, podezřelé fráze nebo špatně nakonfigurovaný „From“ adresát mohou spustit spam filtry. V e-commerce se vyplatí používat stabilní doménu odesílatele, například objednavky@vasedomena.cz, a ne obecné free e-mailové adresy.
Platební brána a webhooky: tady se láme chleba
U platebních bran je nejčastější tichý problém webhook. To je technická zpráva, kterou platební brána pošle zpět do e-shopu, aby oznámila, že platba proběhla. Když webhook nefunguje, objednávka zůstane ve stavu „čeká na platbu“, i když zákazník už peníze poslal. Výsledek? Zákazník je frustrovaný, obchodník objednávku ručně dohledává a účetní systém má zmatek.
Co zkontrolovat jako první:
- HTTPS a platný SSL certifikát: některé brány odmítají callback na nebezpečné nebo špatně nastavené URL.
- Správnou callback URL: po migraci webu nebo změně domény se často rozbije.
- Firewall nebo security plugin: Wordfence, iThemes Security nebo hostingový WAF může webhook blokovat.
- REST API ve WordPressu: některé brány ho používají pro komunikaci.
- Konflikt pluginů: hlavně cache pluginy a optimalizační nástroje umí rozhodit checkout.
Pokud používáte WooCommerce Payments, GoPay, ComGate, Stripe nebo PayU, projděte jejich logy. Ve většině případů tam najdete jasnou chybovou hlášku, například neplatný podpis požadavku, timeout nebo odmítnutý endpoint. U Stripe je užitečné sledovat sekci Webhooks v administraci, u jiných bran zase logy přímo v pluginu WooCommerce. Na produkčním e-shopu by mělo být logování zapnuté minimálně při řešení problému, ideálně dlouhodobě s rotací logů.
Když chyba není v platbě, ale v checkoutu a šabloně
Další častý problém je rozbitý checkout po aktualizaci šablony nebo pluginu. Na první pohled vše funguje, ale formulář se neodešle, tlačítko nereaguje nebo se po kliknutí nic nestane. Typicky za tím stojí JavaScript chyba, konflikt minifikace, chybějící nonce nebo zásah do šablony checkoutu.
Rychlá diagnostika:
- Otevřete konzoli prohlížeče a hledejte chyby JavaScriptu.
- Vypněte dočasně cache a minifikaci skriptů.
- Zkuste výchozí šablonu a deaktivujte doplňky postupně po jednom.
- Otestujte checkout v anonymním okně i na mobilu.
Velmi často se ukáže, že problém dělá plugin pro cookie lištu, četa, popup nebo měřicí skript. Na e-shopu s vyšší návštěvností může být i drobný konflikt drahý: když máte 200 objednávek denně a checkout selže jen u 3 % návštěvníků, přicházíte o 6 objednávek denně. Při průměrné hodnotě objednávky 1 200 Kč je to 7 200 Kč denně, tedy přes 200 tisíc měsíčně. A to už není „technická drobnost“.
Jak si nastavit kontrolu, aby vám objednávky nemizely znovu
Jakmile problém opravíte, nenechte web běžet naslepo. Zaveďte monitoring, který vás upozorní, když se objednávky zpomalí nebo přestanou přicházet. Sledujte minimálně počet objednávek v Google Analytics 4, počet dokončených objednávek ve WooCommerce a chování platební brány. Pokud máte denně stabilně 30–50 objednávek a najednou spadnete na nulu, potřebujete alarm, ne až pondělní poradu.
Praktický setup, který dává smysl:
- WooCommerce logy: kontrola chyb plateb a e-mailů jednou denně.
- Uptime monitoring: UptimeRobot nebo Better Stack pro sledování dostupnosti checkoutu.
- Transakční e-maily: samostatná služba s reporty doručení.
- GA4 + Search Console: sledování poklesů návštěvnosti a konverzí.
- Testovací objednávka: minimálně po každé větší aktualizaci pluginů, šablony nebo PHP.
Vyplatí se také nastavit interní proces: kdo kontroluje objednávky ráno, kdo sleduje neuhrazené platby, kdo hlídá logy a co se dělá při výpadku. U větších e-shopů je dobré mít testovací prostředí, kde si ověříte aktualizace bez rizika. A pokud používáte externí účetní nebo ERP systém, pravidelně porovnávejte počet objednávek ve WooCommerce, v platební bráně a v účetnictví. Rozdíl mezi těmito třemi čísly je často první signál, že něco potichu hnije.
Když košík funguje, ale objednávky pořád nechodí na účet, problém bývá skoro vždy konkrétní a dohledatelný. Jen se nesmíte dívat jen na „funguje/nefunguje“ z pohledu zákazníka. Sledujte celý řetězec od formuláře přes bránu až po doručení e-mailu a zápis do systému. Jakmile tenhle řetězec jednou rozkryjete, máte v ruce nejen opravu, ale i ochranu proti budoucím výpadkům.