Što web-trgovina traži od hostinga
Modul 7: Vidljivost na tražilicama i hosting · Vrijeme čitanja: 10 minuta
Cilj učenja: Nakon ove lekcije moći ćete procijeniti odgovara li hosting paket WooCommerce trgovini, provjeriti i prilagoditi najvažnije PHP postavke te prepoznati kada Vaš paket postaje premalen.
Ključni pojmovi: preporuke za poslužitelj, PHP inačica, WordPress ograničenje memorije (WP_MEMORY_LIMIT), memory_limit, max_execution_time, max_input_vars, upload_max_filesize, baza podataka, predmemorija objekata, CPU, procesi, 503, Resource Limit Is Reached, WooCommerce > Status, rast
Web-trgovina je zahtjevnija od obične stranice
Obična WordPress stranica s predmemorijom stranica većini posjetitelja poslužuje spremljeni HTML. Web-trgovina to može samo djelomično (lekcija 6.4): košarica, blagajna i Moj račun izrađuju se iznova za svakog posjetitelja, a čim netko stavi nešto u košaricu, dobiva sesiju i predmemorija se za njega često više ne primjenjuje. Uz to:
- svaka narudžba upisuje podatke u bazu podataka (narudžba, stavke, adrese, zalihe, bilješke);
- pružatelj usluga plaćanja putem webhooka javlja da je plaćanje izvršeno, a taj zahtjev mora brzo dobiti odgovor;
- WooCommerce ima zakazane radnje koje se izvode u pozadini (lekcija 7.3);
- administracija (narudžbe, izvješća, uređivanje proizvoda) zahtjevnija je nego kod bloga.
Trgovina koja na malom paketu bez problema radi s deset narudžbi dnevno može se zaustaviti tijekom rasprodaje sa stotinama istodobnih posjetitelja. Zato se isplati znati što Vaš paket može.
Što WooCommerce preporučuje
WooCommerce objavljuje preporučene postavke poslužitelja (stanje u studenom 2026., za inačicu 10.8 i novije):
| Komponenta | Preporuka |
|---|---|
| WordPress | 6.9 ili novija |
| PHP | 8.3 ili novija (testirano do uključivo 8.4) |
| Baza podataka | MySQL 8.0 ili novija, ili MariaDB 10.6 ili novija |
| WordPress ograničenje memorije | 256 MB ili više |
| HTTPS | obavezno |
To su preporuke, a ne minimum: sam dodatak za instalaciju traži PHP 7.4. No trgovina na staroj PHP inačici sporija je i više ne dobiva sigurnosna ažuriranja. Kako sigurno prijeći na noviju PHP inačicu opisano je u tečaju o WordPressu, lekcija 8.4; postupak je za web-trgovinu isti, samo u probnom okruženju (staging) posebno temeljito testirate blagajnu i plaćanje.
Gdje vidite što trenutačno imate? U WooCommerce > Status (Stanje sustava). Ondje se pod WordPress okruženje nalazi, među ostalim, WordPress ograničenje memorije, a pod Poslužiteljsko okruženje PHP inačica, PHP ograničenja i inačica baze podataka. Kod problema razvojni programer ili podrška nekog dodatka često traži ovo izvješće; gumbom za dohvaćanje izvješća o sustavu ("Get system report") kopirate ga.
PHP postavke koje su važne
Četiri postavke kod web-trgovine susrećete najčešće:
- memory_limit (i WP_MEMORY_LIMIT): koliko radne memorije smije koristiti jedan PHP zahtjev. Premalo memorije daje bijelu stranicu ili poruku "Allowed memory size exhausted", često kod izvješća, uvoza ili uređivanja velikog varijabilnog proizvoda. WooCommerce preporučuje WordPress ograničenje memorije od 256 MB. WordPress koristi vrijednost iz wp-config.php (
WP_MEMORY_LIMIT), ali nikada više nego što dopušta sam PHP. - max_execution_time: koliko dugo smije trajati jedan zahtjev. Uvoz CSV datoteke ili izvoz tisuću narudžbi može trajati dulje od zadanog. Bolje je uvoziti u manjim dijelovima nego ograničenje postaviti vrlo visoko.
- max_input_vars: koliko polja smije poslati jedan obrazac. Kod varijabilnog proizvoda s mnogo varijacija ili velikog izbornika administracija šalje stotine polja. Ako je ograničenje prenisko, posljednja se polja tiho odbacuju: kliknete Ažuriraj, ne vidite pogrešku, ali dio Vaših varijacija nije spremljen. Primijetite li to, povećajte vrijednost (na primjer na 3000 ili 5000) ili napravite manje varijacija (lekcija 3.2).
- upload_max_filesize i post_max_size: koliko smije biti velika datoteka koju prenosite. Važno za fotografije proizvoda i za proizvode za preuzimanje (lekcija 3.3).
Kod većine pružatelja hostinga ove vrijednosti prilagođavate u upravljačkoj ploči. Kod WebOké to radite u DirectAdminu, u PHP postavkama Vašeg paketa (pogledajte KB 212 i KB 200); kod drugih pružatelja postupak je sličan, ponekad putem datoteke .user.ini ili zaslona php.ini. Mijenjajte jednu po jednu vrijednost i u WooCommerce > Status provjerite je li primijenjena.
Kada paket postaje premalen
Na dijeljenom hostingu svaki paket ima ograničenja: koliko CPU-a, koliko memorije i koliko procesa istodobno. Kod WebOké i drugih pružatelja hostinga s CloudLinuxom vidite ih u DirectAdminu, u pregledu korištenja Vašeg paketa. Prijeđe li Vaša trgovina ta ograničenja, posjetitelji dobivaju 503 ili poruku poput "Resource Limit Is Reached". Kod web-trgovine to je posebno neugodno: kupac koji upravo želi platiti, ili webhook pružatelja usluga plaćanja koji ne dobiva odgovor, zbog čega plaćena narudžba ostaje na statusu "Obrada uplate".
Prije nego što uzmete veći paket, najprije provjerite što uzrokuje opterećenje. Najčešći uzroci kod web-trgovina:
- nema predmemorije stranica ili je pogrešno postavljena (lekcija 6.4);
- botovi koji prolaze kroz filtre, rezultate pretraživanja ili poveznice
?add-to-cart=; - WP-Cron pri svakom posjetu i puni red zakazanih radnji (lekcija 7.3);
- zahtjevni dodaci ili tema koja na svakoj stranici šalje mnogo upita bazi podataka;
- nema predmemorije objekata (Redis) uz mnogo prijavljenih kupaca (lekcija 6.4).
Alati za pronalaženje uzroka su pregled korištenja Vašeg paketa, zapisnici i kod nekih pružatelja hostinga alat poput PHP X-Ray koji za svaku stranicu pokazuje koja je funkcija spora (KB 227).
Ako je trgovina dobro postavljena, a Vi ipak dosežete ograničenja, rast je opravdan: veći paket ili vlastiti poslužitelj (VPS) na kojem sami određujete koliko procesa PHP smije pokretati. Taj korak zahtijeva i više održavanja. Ne planirajte ga usred svog najprometnijeg tjedna; najprije testirajte na novom mjestu (lekcija 7.3).
Što još pripada web-trgovini
Osim PHP-a, web-trgovina od svog hostinga traži:
- HTTPS s automatskim obnavljanjem certifikata (tečaj o WordPressu, lekcija 3.1);
- sigurnosne kopije koje se izrađuju dovoljno često za Vaše narudžbe, uz test vraćanja (lekcija 6.2);
- pravi cron za zakazane zadatke (lekcija 7.3);
- pouzdanu e-poštu ili povezivanje s uslugom za slanje e-pošte (lekcija 6.1);
- mogućnost probnog okruženja (staging) (lekcija 7.3);
- dovoljno veliku bazu podataka: narudžbe i zakazane radnje rastu svaki dan.
Trgovina Theehuis Example započela je na običnom hosting paketu. Nakon biltena s popustom u jednom je satu stiglo više prometa nego inače u tjedan dana, a plaćanja su zapinjala. U pregledu korištenja stalno je bio dosegnut najveći broj procesa. Uzrok: predmemorija stranica bila je isključena nakon ažuriranja teme. Predmemorija je ponovno uključena i sljedeća je akcija prošla bez greške 503.
Sažetak
- Web-trgovina je zahtjevnija od obične stranice: dinamične stranice, upisivanje u bazu podataka, webhookovi i zakazane radnje.
- WooCommerce preporučuje PHP 8.3+, MySQL 8.0+ ili MariaDB 10.6+, ograničenje memorije od 256 MB i HTTPS; svoje vrijednosti vidite u WooCommerce > Status.
- Pazite na memory_limit, max_execution_time, max_input_vars (tihi gubitak podataka kod mnogo varijacija) i ograničenja prijenosa datoteka.
- Greška 503 ili Resource Limit Is Reached znači da su dosegnuta ograničenja Vašeg paketa; najprije potražite uzrok, a tek zatim rastite.
Kviz
Zadatak
Zadatak A7.2: Odgovara li Vaša verzija PHP-a WooCommerceu? Otvorite WooCommerce > Status i zabilježite PHP inačicu (Poslužiteljsko okruženje) i WordPress ograničenje memorije u MB (WordPress okruženje). Unesite adresu svoje trgovine i te dvije vrijednosti. Program pronalazi niz Vaše PHP inačice u tablici na php.net (koje inačice još dobivaju ažuriranja) i provjerava prikazuje li početna stranica zaglavlje X-Powered-By s PHP inačicom. Zeleno ako se Vaš niz još aktivno podržava i iznosi najmanje 8.3, a ograničenje memorije iznosi najmanje 256. Narančasto ako Vaš niz dobiva još samo sigurnosna ažuriranja, ako je niži od 8.3, ali se još podržava, ako je ograničenje memorije između 128 i 255 ili ako Vaša stranica prikazuje PHP inačicu u zaglavlju. Crveno ako Vaš niz više ne dobiva ažuriranja ili je nepoznat, ako je ograničenje memorije ispod 128 ili ako zaglavlje prikazuje drugi niz od onoga koji ste unijeli ("postoji li više PHP inačica?").
Pitanje za Vas (ne provjerava se): što u WooCommerce > Status piše kod max_input_vars i kod najveće veličine prijenosa? Je li to dovoljno za Vaš najveći proizvod i Vaše najveće preuzimanje?
Daljnje čitanje
Ovi članci opisuju korake u upravljačkim pločama WebOké; u drugim upravljačkim pločama postupak je sličan.
- Promjena PHP verzije i PHP postavki (i što učiniti u slučaju grešaka nakon nadogradnje)
- Učitavanje ne uspijeva: povećajte upload_max_filesize i max_execution_time
- DirectAdmin priručnik 14.1: Odabir PHP verzije (Select PHP version)
- DirectAdmin Resource Usage i problemi s performansama (Resource Limit Is Reached)
- Resource limit reached / 503 / PHP X-Ray
- DirectAdmin priručnik 17.5: 503 ili 'Resource Limit Is Reached': što sada?
- Besplatan WordPress tečaj 8.4: PHP inačice i nadogradnje
- Server requirements (woocommerce.com, na engleskom): https://woocommerce.com/document/server-requirements/
