Modul 7 · 7.2
Čo e-shop vyžaduje od hostingu
Modul 7: Vyhľadateľnosť a hosting · Čas čítania: 10 min.
Cieľ lekcie: Po tejto lekcii dokážete posúdiť, či sa hostingový balík hodí pre e-shop s WooCommerce, skontrolovať a upraviť najdôležitejšie nastavenia PHP a rozpoznať, kedy je váš balík príliš malý.
Kľúčové pojmy: odporúčania pre server, PHP verzia, limit pamäte WordPress (WP_MEMORY_LIMIT), memory_limit, max_execution_time, max_input_vars, upload_max_filesize, databáza, objektová cache, CPU, procesy, 503, Resource Limit Is Reached, WooCommerce > Stav, rast
E-shop je náročnejší ako bežná stránka
Bežná stránka na WordPresse s cache stránok obsluhuje väčšinu návštevníkov z uloženého HTML. E-shop to dokáže len čiastočne (lekcia 6.4): košík, pokladňa a Môj účet sa pre každého návštevníka vytvárajú nanovo a hneď ako niekto vloží niečo do košíka, dostane reláciu a cache sa preňho často už nepoužije. Navyše:
- každá objednávka zapisuje do databázy (objednávka, položky, adresy, sklad, poznámky);
- poskytovateľ platieb oznamuje cez webhook, že platba prebehla, a táto požiadavka musí rýchlo dostať odpoveď;
- WooCommerce má naplánované akcie, ktoré bežia na pozadí (lekcia 7.3);
- administrácia (objednávky, prehľady, úprava produktov) je náročnejšia ako pri blogu.
E-shop, ktorý na malom balíku bez problémov zvláda desať objednávok denne, sa môže pri výpredaji so stovkami súčasných návštevníkov zaseknúť. Preto sa oplatí vedieť, čo váš balík zvládne.
Čo odporúča WooCommerce
WooCommerce zverejňuje odporúčané nastavenia servera (stav k novembru 2026, pre verziu 10.8 a novšie):
| Časť | Odporúčanie |
|---|---|
| WordPress | 6.9 alebo novší |
| PHP | 8.3 alebo novšie (testované až po 8.4) |
| Databáza | MySQL 8.0 alebo novšia, alebo MariaDB 10.6 alebo novšia |
| Limit pamäte WordPress | 256 MB alebo viac |
| HTTPS | povinné |
Ide o odporúčania, nie o minimum: samotný plugin vyžaduje na inštaláciu PHP 7.4. E-shop na starej verzii PHP je však pomalší a už nedostáva bezpečnostné aktualizácie. Ako bezpečne prejsť na novšiu verziu PHP, nájdete v kurze o WordPresse, lekcia 8.4; postup je pre e-shop rovnaký, len v stagingu obzvlášť dôkladne otestujete pokladňu a platbu.
Kde zistíte, čo máte teraz? V WooCommerce > Stav (Stav systému). V časti Prostredie WordPress tam nájdete okrem iného Limit pamäte WordPress a v časti Serverové prostredie PHP verzia, limity PHP a verziu databázy. Pri problémoch vás vývojár alebo podpora pluginu často požiada o tento report; tlačidlom na získanie systémového reportu („Get system report“) ho skopírujete.
Nastavenia PHP, na ktorých záleží
S týmito štyrmi nastaveniami sa pri e-shope stretnete najčastejšie:
- memory_limit (a WP_MEMORY_LIMIT): koľko operačnej pamäte smie použiť jedna požiadavka PHP. Pri nedostatku sa zobrazí biela stránka alebo „Allowed memory size exhausted“, často pri prehľadoch, importoch alebo úprave veľkého variabilného produktu. WooCommerce odporúča limit pamäte WordPress 256 MB. WordPress používa hodnotu z wp-config.php (
WP_MEMORY_LIMIT), nikdy však viac, než povoľuje samotné PHP. - max_execution_time: ako dlho môže trvať jedna požiadavka. Import CSV alebo export tisícky objednávok môže trvať dlhšie ako predvolený čas. Radšej importujte po menších častiach, než by ste limit nastavili veľmi vysoko.
- max_input_vars: koľko polí smie formulár odoslať. Pri variabilnom produkte s mnohými variáciami alebo pri veľkom menu posiela administrácia stovky polí. Ak je limit príliš nízky, posledné polia sa potichu zahodia: kliknete na Aktualizovať, neuvidíte žiadnu chybu, no časť variácií sa neuloží. Ak si to všimnete, zvýšte hodnotu (napríklad na 3000 alebo 5000) alebo vytvorte menej variácií (lekcia 3.2).
- upload_max_filesize a post_max_size: aký veľký môže byť nahrávaný súbor. Dôležité pre fotografie produktov a pre produkty na stiahnutie (lekcia 3.3).
U väčšiny poskytovateľov hostingu tieto hodnoty upravíte v paneli. Vo WebOké to urobíte v DirectAdmin v nastaveniach PHP vášho balíka (pozri KB 212 a KB 200); u iných poskytovateľov to funguje podobne, niekedy cez .user.ini alebo obrazovku php.ini. Meňte vždy len jednu hodnotu a vo WooCommerce > Stav skontrolujte, či sa prevzala.
Kedy je balík príliš malý
Na zdieľanom hostingu má každý balík limity: koľko CPU, koľko pamäte a koľko procesov naraz. Vo WebOké a u iných poskytovateľov s CloudLinuxom ich nájdete v DirectAdmin pri využití vášho balíka. Ak ich váš e-shop prekročí, návštevníci dostanú 503 alebo hlásenie ako „Resource Limit Is Reached“. Pri e-shope je to obzvlášť nepríjemné: zákazník, ktorý práve chce zaplatiť, alebo webhook poskytovateľa platieb, ktorý nedostane odpoveď, takže zaplatená objednávka zostane v stave „Prijatá“.
Skôr než prejdete na väčší balík, zistite, čo záťaž spôsobuje. Najčastejšie príčiny pri e-shopoch:
- chýbajúca alebo nesprávne nastavená cache stránok (lekcia 6.4);
- boty, ktoré prechádzajú filtre, výsledky vyhľadávania alebo odkazy
?add-to-cart=; - WP-Cron pri každej návšteve a plný front naplánovaných akcií (lekcia 7.3);
- náročné pluginy alebo téma, ktorá na každej stránke posiela veľa databázových dopytov;
- chýbajúca objektová cache (Redis) pri veľkom počte prihlásených zákazníkov (lekcia 6.4).
Pri hľadaní príčiny pomôže prehľad využitia vášho balíka, logy a u niektorých poskytovateľov nástroj ako PHP X-Ray, ktorý pre každú stránku ukáže, ktorá funkcia je pomalá (KB 227).
Ak je e-shop dobre nastavený a napriek tomu narážate na limity, rast je opodstatnený: väčší balík alebo vlastný server (VPS), na ktorom sami určíte, koľko procesov smie PHP spúšťať. Tento krok si vyžaduje aj viac správy. Neplánujte ho uprostred najrušnejšieho týždňa; najprv všetko otestujte na novom mieste (lekcia 7.3).
Čo ešte k e-shopu patrí
Okrem PHP e-shop od hostingu vyžaduje:
- HTTPS s automatickým predlžovaním certifikátu (kurz o WordPresse, lekcia 3.1);
- zálohy, ktoré sú dostatočne časté vzhľadom na vaše objednávky, s testom obnovy (lekcia 6.2);
- skutočný cron pre naplánované úlohy (lekcia 7.3);
- spoľahlivú poštu alebo prepojenie s e-mailovou službou (lekcia 6.1);
- možnosť stagingu (lekcia 7.3);
- dostatočne veľkú databázu: objednávky a naplánované akcie pribúdajú každý deň.
E-shop Theehuis Example začínal na bežnom hostingovom balíku. Po newsletteri so zľavou prišlo za hodinu viac návštevnosti než zvyčajne za týždeň a platby sa zasekávali. V prehľade využitia bol neustále dosiahnutý maximálny počet procesov. Príčina: po aktualizácii témy sa vypla cache stránok. Po opätovnom zapnutí cache prebehla ďalšia akcia bez chyby 503.
Zhrnutie
- E-shop je náročnejší ako bežná stránka: dynamické stránky, zápisy do databázy, webhooky a naplánované akcie.
- WooCommerce odporúča PHP 8.3+, MySQL 8.0+ alebo MariaDB 10.6+, limit pamäte 256 MB a HTTPS; svoje hodnoty uvidíte vo WooCommerce > Stav.
- Sledujte memory_limit, max_execution_time, max_input_vars (tichá strata údajov pri mnohých variáciách) a limity nahrávania.
- Chyba 503 alebo Resource Limit Is Reached znamená, že sa dosiahli limity balíka; najprv hľadajte príčinu, až potom rastite.
Kvíz
Úloha
Úloha A7.2: Zodpovedá vaše PHP požiadavkám WooCommerce? Otvorte WooCommerce > Stav a zapíšte si PHP verziu (Serverové prostredie) a limit pamäte WordPress v MB (Prostredie WordPress). Zadajte adresu svojho e-shopu a tieto dve hodnoty. Program vyhľadá rad vašej verzie PHP v tabuľke na php.net (ktoré verzie ešte dostávajú aktualizácie) a skontroluje, či domovská stránka zobrazuje hlavičku X-Powered-By s verziou PHP. Zelená, ak je váš rad ešte aktívne podporovaný a je aspoň 8.3 a limit pamäte je aspoň 256. Oranžová, ak váš rad dostáva už len bezpečnostné aktualizácie, je nižší ako 8.3, no ešte podporovaný, ak je limit pamäte medzi 128 a 255 alebo ak vaša stránka zobrazuje verziu PHP v hlavičke. Červená, ak váš rad už nedostáva aktualizácie alebo je neznámy, limit pamäte je pod 128 alebo hlavička ukazuje iný rad, než ste zadali („beží tam viac verzií PHP?“).
Otázka pre vás (nekontroluje sa): čo je vo WooCommerce > Stav uvedené pri max_input_vars a pri maximálnej veľkosti nahrávaného súboru? Stačí to pre váš najväčší produkt a váš najväčší súbor na stiahnutie?
Ďalšie čítanie
Tieto články opisujú kroky v paneloch WebOké; v iných paneloch to funguje podobne.
- Zmena verzie PHP a nastavení PHP (a čo robiť pri chybách po aktualizácii)
- Nahrávanie sa nedarí: zvýšte hodnoty upload_max_filesize a max_execution_time
- Návod na DirectAdmin 14.1: Voľba verzie PHP (Select PHP version)
- DirectAdmin Resource Usage a pomalé webové stránky (Resource Limit Is Reached)
- Návod na DirectAdmin 17.5: 503 alebo „Resource Limit Is Reached“: čo teraz?
- Bezplatný kurz WordPress 8.4: Verzie PHP a aktualizácie
- Server requirements (woocommerce.com, v angličtine): https://woocommerce.com/document/server-requirements/
