Přejít na obsah

Nastavení cookies

Zvolte, které druhy cookies povolíte. Svou volbu můžete kdykoli změnit přes Nastavení cookies v dolní části každé stránky. Prohlášení o ochraně osobních údajů

Nezbytné

Vždy zapnuté

Potřebné pro přihlášení, uchování košíku a zapamatování vašich voleb. Jsou vždy zapnuté.

Které cookies?
  • weboke_sessie, weboke_klant, weboke_remember: vaše relace a trvalé přihlášení
  • weboke_basket: váš košík
  • wkBtwIncl: zobrazení cen s DPH nebo bez DPH
  • wok_cookies: vaše volba cookies, 12 měsíců

Měří, která reklama vede k návštěvě nebo objednávce, abychom neplatili za reklamy, které nic nepřinášejí.

Které cookies?
  • Google Ads přes Google Tag Manager (_gcl_au, _gcl_aw), až 90 dní
  • OpenAI Ads, reklamy v ChatGPT
  • wok_aff: partner, který vás k nám doporučil (partnerský program), 60 dní

4,6

Země a jazyk

Každá země má vlastní web s cenami a DPH dané země.

Zobrazit

Aktualizace, zálohy a role

Modul 6: Správa a zabezpečení · Doba čtení: 11 minut

Cíl lekce: Po této lekci budete umět aktualizovat a zálohovat e-shop s WooCommerce, aniž byste přišli o objednávky, a rozdělit oprávnění tak, aby každý mohl dělat jen to, co skutečně potřebuje.

Klíčové pojmy: velká a malá aktualizace, aktualizace databáze, rozšíření a kompatibilita, přepsání šablon (template overrides), zastaralé šablony, záloha před aktualizací, objednávky mezi zálohou a obnovením, tabulky HPOS, role Manažer obchodu (Shop manager) a Zákazník (Customer), princip nejmenších oprávnění, zobrazování verzí, xmlrpc.php

Proč je e-shop jiný než běžný web

V kurzu WordPressu (lekce 7.2, 8.1 a 8.2) se dozvíte, jak WordPress aktualizovat, jak vytvářet zálohy a jak je obnovit. U e-shopu to všechno platí také, ale s jedním velkým rozdílem: databáze se mění po celý den. Ukládá se do ní každá objednávka, každý zákazník, každá změna skladu a každá platba. U informačního webu přijdete se včerejší zálohou nanejvýš o jeden příspěvek. U e-shopu přijdete o objednávky, které už byly zaplaceny.

Pro tuto lekci proto platí dvě základní pravidla:

  1. Obnovení ze zálohy je u e-shopu poslední krok, ne první.
  2. Aktualizujte podle plánu, ne „jen tak mimochodem v pátek odpoledne“.

Aktualizace WooCommerce

WooCommerce pravidelně vydává nové verze a mezi nimi drobné opravy. Číslo verze má tři části, například 11.2.2. Změna posledního čísla znamená drobnou opravu nebo bezpečnostní aktualizaci. Změna prvního nebo druhého čísla přináší nové funkce a někdy i změny, na které se musí přizpůsobit rozšíření nebo Vaše šablona.

Při aktualizaci WooCommerce se dějí tři věci, které u běžného pluginu vidíte méně často:

  • Aktualizace databáze. Někdy musí WooCommerce upravit tabulky. V administraci se pak zobrazí upozornění, že probíhá aktualizace databáze. Ta běží na pozadí prostřednictvím naplánovaných akcí (lekce 7.3). Nepřerušujte ji a v části WooCommerce > Stav zkontrolujte, zda je dokončena.
  • Rozšíření musí držet krok. Platební pluginy, napojení na dopravce a napojení na účetnictví uvádějí, do které verze WooCommerce byla otestována. Na obrazovce pluginů uvidíte varování, pokud rozšíření novější verzi neuvádí. Před aktualizací si přečtěte seznam změn svého platebního pluginu: nefunkční platební plugin znamená e-shop, který neprodává.
  • Přepsání šablon. Mnoho šablon vzhledu obsahuje vlastní kopie šablon WooCommerce (složka woocommerce/ v šabloně). Pokud WooCommerce originál změní, kopie se stane zastaralou. V části WooCommerce > Stav (Stav systému) najdete dole u šablony vzhledu, které šablony přepisuje a které jsou zastaralé. Zastaralým šablonám mohou chybět nová pole nebo mohou způsobovat chyby. Aktualizujte šablonu vzhledu, nebo požádejte jejího autora o aktualizaci.

Malé aktualizace (poslední číslo) instalujte co nejdříve, ideálně automaticky, protože často opravují bezpečnostní chyby. Velké aktualizace nejprve otestujte na stagingu (lekce 7.3), v klidné chvíli a se zálohou vytvořenou těsně předtím.

Zálohy: co zmizí při obnovení

Příklad: Theehuis Example vytváří zálohu každou noc ve 03.00. V úterý v 10.00 administrátor aktualizuje WooCommerce a stránka produktu poté zobrazuje chybu. Mezi 03.00 a 10.00 přišlo šest objednávek zaplacených přes poskytovatele plateb. Pokud nyní obnovíte zálohu z 03.00:

  • těchto šest objednávek zmizí z databáze, přestože peníze u poskytovatele plateb jsou;
  • e-shop už nebude vědět, že je na skladě méně zboží;
  • e-shop může později ještě dostávat od poskytovatele oznámení (webhooky) o objednávkách, které nezná.

Proto:

  • Vytvořte zálohu těsně před aktualizací, ne jen v noci. Mezera tak bude co nejmenší.
  • Při obnovení si poznamenejte, které objednávky přišly po záloze (z e-mailů „Nová objednávka“ a z přehledu u Vašeho poskytovatele plateb), a poté je ručně vraťte zpět, nebo je předem vyexportujte.
  • Pokud je problém v kódu, obnovte raději jen soubory (starou složku pluginu nebo šablony vzhledu) a databázi nechte být. Aktualizaci lze často vrátit instalací předchozí verze pluginu. Kurz WordPressu, lekce 8.2, ukazuje, jak obnovovat cíleně. Pokud aktualizace už databázi upravila, starší verze s ní možná nebude fungovat: proto nejprve testujte na stagingu.
  • Zálohujte častěji než u běžného webu: e-shop, do kterého přicházejí objednávky celý den, potřebuje zálohu databáze alespoň jednou denně, ideálně častěji, a kopii mimo server (pravidlo 3-2-1, kurz WordPressu, lekce 8.1).

Od verze WooCommerce 8.2 se objednávky u nových obchodů ukládají do vlastních tabulek (HPOS, lekce 1.2), například wp_wc_orders. Zálohovací plugin, který zálohuje jen „příspěvky“ nebo vybírá tabulky podle názvu, musí zahrnout i tyto tabulky. Při zkušebním obnovení (kurz WordPressu, lekce 8.2) ověřte, že v záloze objednávky opravdu jsou.

U WebOké vytváří služba WebOké Backups každou noc zálohu, která se uchovává 30 dní v jiném datovém centru (DA 16.1). Kromě toho si můžete před aktualizací sami vytvořit zálohu v DirectAdmin nebo Installatron. U jiných poskytovatelů hostingu to funguje podobně; zeptejte se, jak často a jak dlouho se zálohy uchovávají.

Role: kdo smí co

WooCommerce přidává do WordPressu dvě role (kurz WordPressu, lekce 3.3):

  • Zákazník (Customer): zákazník s účtem. Vidí jen své vlastní objednávky a údaje. Této roli nikdy nedávejte administrátorská oprávnění.
  • Manažer obchodu (Shop manager): může spravovat produkty, objednávky, zákazníky, kupóny a nastavení WooCommerce, ale nemůže instalovat pluginy ani měnit šablonu vzhledu.

Pro zaměstnance, kteří balí objednávky, odpovídají na dotazy zákazníků nebo zadávají produkty, stačí role Manažer obchodu. Role Administrátor je jen pro toho, kdo se stará o techniku. Každý zaměstnanec má mít vlastní účet s dvoufázovým ověřením (kurz WordPressu, lekce 7.3), žádný sdílený účet „obchod“. Manažer obchodu vidí všechny údaje zákazníků, proto účty odstraňte, jakmile někdo odejde.

Klíče API (lekce 2.4) jsou také formou oprávnění: napojení, které nemusí nic zapisovat, nastavte jen pro čtení a klíče, které se už nepoužívají, smažte.

Co Váš e-shop ukazuje všem

Útočníci hledají e-shopy se starou verzí WooCommerce nebo s platebním pluginem se známou zranitelností. WooCommerce ve výchozím stavu vkládá do zdrojového kódu řádek <meta name="generator" content="WooCommerce 11.2.2"> a verze je uvedena i za styly (?ver=). Skrytí verze je malý přínos, aktualizace velký. E-shop, který je řádně aktuální, si s viditelným číslem verze nemusí dělat velké starosti. E-shop, který zaostává, se tím prozradí.

Soubor xmlrpc.php je staré rozhraní, přes které se aplikace přihlašují do WordPressu. Často se zneužívá k hádání hesel. Pokud nepoužíváte aplikaci ani službu, která ho potřebuje, uzavřete ho (u WebOké je ve výchozím stavu uzavřený, KB 169). Otevřený soubor xmlrpc.php odpoví na běžný požadavek z prohlížeče textem "XML-RPC server accepts POST requests only." a stavovým kódem 405. Uzavřený vrátí 403 nebo 404.

Shrnutí

  • Databáze e-shopu se mění celý den: obnovení ze zálohy Vás připraví o objednávky, které už byly zaplaceny.
  • Malé aktualizace instalujte rychle, velké nejprve na stagingu; sledujte aktualizaci databáze, rozšíření a zastaralé šablony v části WooCommerce > Stav.
  • Zálohujte těsně před aktualizací a častěji než u běžného webu; ověřte, že záloha zahrnuje tabulky objednávek.
  • Zaměstnanci dostávají roli Manažer obchodu, ne Administrátor; každý má vlastní účet s dvoufázovým ověřením.
  • Skrytí verzí pomáhá málo, aktualizace hodně; pokud xmlrpc.php nepoužíváte, uzavřete ho.

Kvíz

1. Po aktualizaci zobrazuje Váš e-shop v 10.00 chybu. Poslední záloha je z 03.00. Jaké je největší riziko, když obnovíte celou zálohu?



2. Kde zjistíte, zda Vaše šablona vzhledu používá zastaralé šablony WooCommerce?



3. Zaměstnanec balí objednávky a odpovídá na dotazy zákazníků. Která role je vhodná?



4. Co znamená stavový kód 405 s textem "XML-RPC server accepts POST requests only.", když v prohlížeči otevřete /xmlrpc.php?



Úkol

Úkol A6.2: Zobrazuje Váš e-shop verze? Zadejte adresu svého e-shopu, svou verzi WordPressu (Nástěnka > Aktualizace) a svou verzi WooCommerce (Pluginy). Program načte domovskou stránku a feed a také soubor /wp-content/plugins/woocommerce/readme.txt (jen prvních 2 kB, řádek "Stable tag"). Hledá čísla verzí WordPressu a WooCommerce v řádcích generator a za ?ver= u stylů WooCommerce a na wordpress.org zjistí nejnovější verze. Zelená, pokud máte nejnovější verze a to, co je vidět, s nimi souhlasí. Oranžová, pokud čeká jen malá aktualizace, nebo pokud je verze vidět, ale je aktuální. Červená, pokud zaostáváte o velkou verzi, pokud se viditelná verze liší od toho, co jste zadali (běží něco jiného, než si myslíte), nebo při neplatném zadání.

Úkol A6.2: Zobrazuje Váš e-shop verze?




Co vyplníte a co zjistíme, neukládáme. Váš prohlížeč si pamatuje Vaše odpovědi a to, zda jste úkol splnili. Pokud jste přihlášeni, ukládáme v sekci Moje kurzy pouze to, že jste úkol měli (téměř) správně; i to tam můžete odstranit.

Úkol A6.2b: Je xmlrpc uzavřené? Zadejte adresu svého e-shopu a zaškrtněte políčko, pokud používáte aplikaci nebo službu, která xmlrpc.php potřebuje. Program načte /xmlrpc.php běžným požadavkem GET, aniž by cokoli odesílal. Zelená při 401, 403, 404, 410, přesměrování nebo běžné stránce HTML. Červená při 405 s textem "XML-RPC server accepts POST requests only." bez zaškrtnutí; oranžová, pokud jste uvedli, že ho potřebujete. Program také zkontroluje, zda je seznam uživatelských jmen přes /wp-json/wp/v2/users veřejný (oranžová, pokud jsou jména vidět).

Zelená fajfka znamená, že tato kontrola teď vychází správně, ne že je Váš e-shop bezpečný.

Úkol A6.2b: Je xmlrpc uzavřené?



Co vyplníte a co zjistíme, neukládáme. Váš prohlížeč si pamatuje Vaše odpovědi a to, zda jste úkol splnili. Pokud jste přihlášeni, ukládáme v sekci Moje kurzy pouze to, že jste úkol měli (téměř) správně; i to tam můžete odstranit.

Další čtení

Postupy v panelu platí pro WebOké; u jiných poskytovatelů to funguje podobně.

Chvíli strpení…

Nastavení vašich domén

U každé domény nastavte jmenné servery, propojení s hostingem a to, kdo bude držitelem.

Načítání vašich domén…