Craft CMS je u zadnjih nekoliko godina postao ozbiljan izbor za agencije i in-house timove koji žele content modeling iz prve, čist developer UX i Twig templating bez kompromisa. Ali ono što mnogi otkriju tek kad krene produkcija — Craft nije WordPress. Ne možeš ga samo uploadati na bilo koji shared hosting i očekivati da će raditi glatko.
Craft je Yii/PHP aplikacija s vlastitom filozofijom keširanja, queue sustava i asset transformacija. To znači da hosting mora razumjeti modernu PHP arhitekturu — ne samo "imamo PHP 8". U ovom vodiču prolazimo kroz sve što treba tražiti u hostingu za Craft, što izbjegavati, i kako postaviti deployment workflow koji ne boli.
Ako još uvijek vagaš između Crafta i drugih CMS-ova, pogledaj prvo naš usporedni članak Craft CMS vs WordPress — pomoći će ti odlučiti je li Craft uopće pravi alat za tvoj projekt.
Što Craft zapravo treba od hostinga
Krenimo od tehničkih zahtjeva. Craft 5 (trenutna stabilna verzija) ima sljedeće minimume:
- PHP 8.2+ (preporuka 8.3) s ekstenzijama:
ctype,curl,dom,iconv,imagickiligd,intl,json,mbstring,openssl,pcre,pdo,pdo_mysql(ilipdo_pgsql),reflection,spl,zip - MySQL 8.0.17+ ili MariaDB 10.4.6+
- Alternativno PostgreSQL 13+
- Minimalno 256 MB PHP memory_limit — realno 512 MB za queue i image transforms
- Composer 2.x dostupan preko SSH-a
- ImageMagick (preporučeno) ili GD za asset transforme
- Pisanje u
storage/iweb/cpresources/direktorije - Cron access za queue runner
Vidiš već gdje ide priča — ovo nije WordPress lista gdje "PHP 7.4 i MySQL 5.7" prolazi. Craft zahtijeva moderan stack i, što je još važnije, hosting koji ti dopušta da ga koristiš kako treba.
RAM i CPU — ne podcjenjuj queue
Craftov queue sustav obrađuje teške operacije u pozadini: re-saving entries nakon field promjena, generiranje asset transforma, slanje emailova, Algolia/Meilisearch indexing, GraphQL cache warming. Ako hosting daje 128 MB RAM-a po procesu, zaglavit ćeš na prvom većem batchu.
Praktično pravilo: za produkcijski Craft sajt s 1.000-10.000 entrija računaj minimalno 512 MB RAM-a po PHP procesu i mogućnost da paralelno teku 2-3 queue workera.
Shared hosting vs VPS — kad što za Craft
Ovo je pitanje koje dobijemo bar jednom tjedno. Kratak odgovor: moderan shared hosting s CloudLinux LVE limitima i LiteSpeed Web Serverom dovoljan je za 80% Craft projekata. Ali "moderan" je ključna riječ.
Shared hosting je OK za:
- Brošurni i corporate sajtovi (do ~5.000 entrija)
- Manji portali i blogovi
- Agency client sites s prosječnim prometom
- Staging i development okruženja
- Craft Commerce shopovi do ~500 proizvoda i umjerenog prometa
VPS ili dedicated treba ti kad:
- Imaš 50.000+ entrija i kompleksne GraphQL queryje
- Craft Commerce s tisućama proizvoda i real-time sync-om sa ERP-om
- Treba ti Redis ili Memcached kao dedicated cache layer
- Multi-site instalacija s 5+ jezičnih verzija i različitim domenama
- Headless setup s teškim GraphQL load-om iz mobile aplikacije
- Custom queue workeri koji moraju trčati 24/7 kao daemoni
Ono što je krivo razumijevanje — shared hosting ≠ jeftin hosting bez kontrole. Kvalitetan shared paket na CloudLinux + LiteSpeed arhitekturi daje ti izolaciju resursa (LVE), per-account PHP verzije, SSH, Composer i sve što Craftu treba. Razlika je samo u skali.
Što tražiti u "Craft-friendly" hostingu
Ovo je glavni dio članka — checklist koja razdvaja hosting koji "radi s Craftom" od hostinga koji je dobar za Craft.
1. SSH pristup, ne samo FTP
Bez SSH-a ne možeš pokrenuti php craft komande, ne možeš trčati Composer, ne možeš raditi migrations niti queue runner ručno. SSH je apsolutni minimum, ne luksuz.
2. Composer pre-installed
Composer 2 mora biti dostupan globalno (composer --version radi iz bilo kojeg direktorija). Bonus ako hosting ima i Node.js / npm za frontend build (Vite, Tailwind, Webpack).
3. Pravi web root mapping
Craft koristi web/ direktorij kao public root, dok ostatak aplikacije (vendor/, config/, templates/, storage/) mora ostati izvan public_html-a. Ovo je sigurnosno kritično. cPanel hosting koji ti dopušta da promijeniš document root domene na /home/user/craft-site/web — to je ono što tražiš. Ako te tjeraju da sve stavljaš u public_html, bježi.
4. .htaccess ili Nginx rewrites
Craft koristi pretty URLs preko .htaccess rewrita (Apache/LiteSpeed) ili Nginx config blokova. LiteSpeed Web Server nativno razumije .htaccess, što znači da Craft radi out-of-the-box bez custom server konfiguracije — to je velika prednost u odnosu na čisti Nginx setup gdje moraš ručno pisati rewrite pravila.
5. Environment variables
Craft 4+ ozbiljno cilja na 12-factor app pristup — sve credentials u .env fajlu izvan repozitorija. Hosting mora dopustiti čitanje .env fajlova iznad public_html-a (ovo je standard, ali provjeri).
6. Cron jobs za queue runner
Bez crona, Craft queue se obrađuje tek kad netko otvori sajt — i to spore stvari blokiraju response time. Pravilan setup:
* * * * * /usr/local/bin/php /home/user/craft-site/craft queue/run
Svaka minuta, queue runner pokupi sve pending jobove. cPanel ima Cron Jobs UI gdje ovo postaviš za 30 sekundi.
7. Backupi — ozbiljni, ne "vjeruj nam"
Craftov database drži sve — entries, fieldovi, users, plugin podatke. Asset fajlovi su zasebno u storage/ i upload direktoriju. Tražiš hosting koji backupira i bazu i fajlove, više puta dnevno, s retentionom od minimalno 14-30 dana. JetBackup 4 puta dnevno je dobar standard.
8. Besplatan SSL koji se automatski obnavlja
Craft control panel zahtijeva HTTPS od verzije 4. Wildcard SSL preko Let's Encrypta s auto-renewalom je obavezan, ne opcionalan.
Performance optimization za Craft
Craft je brz ako ga pravilno kešira. Inače je sporiji od WordPressa s desetak plugina. Evo što treba uključiti:
Yii cache backend
Default je file cache — radi, ali na shared hostingu IO operacije su skuplje od memory cachea. Ako hosting nudi Memcached ili Redis (čak i shared instancu), prebaci Craftov cache backend u config/app.php:
'cache' => ['class' => yii\caching\MemCache::class, ...]
Razlika u response time-u na content-heavy stranicama ide s 800ms na 80ms. Ozbiljno.
Template caching i element queries
Koristi {% cache %} tagove agresivno oko skupih element queryja. Craft zna invalidirati cache kad se entry promijeni — ne moraš to ručno raditi.
OPcache
Obavezno uključen, s minimalno opcache.memory_consumption=256. Ovo bi trebalo biti default na svakom modernom hostingu, ali provjeri preko phpinfo().
Asset transforms — generiraj unaprijed
Default Craft generira image transforme on-demand kod prvog requesta. To znači da prvi posjetitelj čeka 2-3 sekunde. Koristi {% do asset.url(transform) %} u kontrolnom panelu ili queue job da pre-generiraš sve varijante odmah pri uploadu.
GraphQL caching
Ako koristiš Craft kao headless backend, enableGraphqlCaching u config/general.php i postaviranje TTL-a štedi ti CPU sate. Pair s cache invalidation listenerima na entry save event.
LiteSpeed Cache
Ovo je gem koji mnogi propuste. LiteSpeed Web Server ima server-level page cache koji radi iznad Crafta. Konfiguriraš ga preko .htaccess i možeš dobiti static-like response times za anonimne posjetitelje, dok logirani users (autori, admini) i dalje vide live verziju. Combo LiteSpeed + Craft = jedan od najbržih CMS setupa koje možeš dobiti na shared hostingu.
Deployment workflow — kako to raditi profesionalno
Ovaj dio razdvaja agencije od "ja samo FTP-am izmjene". Pravilan Craft deployment koristi:
1. Git za sve osim vendor/ i .env
U .gitignore ide: vendor/, node_modules/, .env, storage/runtime/, web/cpresources/. Sve ostalo (config, modules, templates, migrations) je u repu.
2. Git deploy preko cPanela
cPanelov ugrađeni Git Version Control omogućava ti da push-aš na bare repo na serveru i automatski deploy-aš na live. Vodič za to: Kako koristiti Git version control u cPanelu. Nakon push-a, post-receive hook trči:
composer install --no-dev --optimize-autoloaderphp craft up(pokreće sve pending migrations + project config sync)php craft clear-caches/all
3. Project Config — single source of truth
Od verzije 3.1, Craft ima Project Config — sve postavke (sections, fields, user groups, sites) serijaliziraju se u config/project/ YAML fajlove. Ovi fajlovi idu u Git. Na deployu, php craft up pročita YAML i sync-a bazu. Više nema "u staging-u je polje X, u produkciji Y" drame.
4. Environment-specific config
Koristi CRAFT_ENVIRONMENT env variable (dev / staging / production) i grupiraj postavke u config/general.php po environmentu. devMode nikad na true u produkciji.
Što WMD nudi za Craft hosting
Kratko i bez prodajne magle — naš shared hosting stack je gradjen točno za ovakve workloadove:
- cPanel + WHM s per-account PHP managementom (8.1, 8.2, 8.3) — možeš mijenjati verziju per-site bez tiketa
- CloudLinux s LVE limitima — tvoj sajt nikad ne ovisi o tome što neki drugi user na serveru radi
- LiteSpeed Web Server s nativnim
.htaccesspodrškom i LiteSpeed Cache modulom - NVMe SSD storage u RAID 10 — IO operacije na bazi i cache fajlovima su 5-10x brže od standardnog SSD-a
- JetBackup 4x dnevno s 30-dnevnim retentionom — restore na klik, ne preko tiketa
- SSH pristup + Composer 2 + Node.js dostupni iz boxa
- Cron Jobs UI u cPanelu za queue runnere
- Besplatan Let's Encrypt SSL s auto-renewalom
- Neograničeni e-mail računi na tvojim domenama
- EU data residency — serveri u EU, GDPR compliant by default
- Podrška na hrvatskom 24/7/365 — i, što je važnije, podrška koja zna što je
php craft upi ne pita te "jeste li probali restartati"
Aktualne pakete i cijene možeš vidjeti na wmd.hr/hosting-akcija — trenutno traje akcija 1+1: platiš godinu, koristiš dvije. Za većinu Craft projekata START ili PRO paket pokriva sve, a uvijek možeš kasnije scale-ati.
FAQ — najčešća pitanja o Craft hostingu
Mogu li Craft staviti na bilo koji shared hosting?
Tehnički — ako shared hosting ima PHP 8.2+, MySQL 8 / MariaDB 10.4.6+, SSH, Composer i mogućnost da promijeniš document root na web/ direktorij, da. U praksi, većina jeftinih shared paketa nema barem jedan od ovih uvjeta. Ako te hosting tjera da sve staviš u public_html, to je deal-breaker za Craft.
Treba li mi Craft Pro licenca?
Craft ima tri edicije: Solo (besplatan, 1 admin user, ograničeni features), Team (~$199/godina, do 5 usera), i Pro (~$349/godina, neograničeno usera + GraphQL API + custom user permissions). Hosting nema veze s licencom — Craft sam provjerava licencu preko svog craftcms.com servera. Ali ako planiraš headless setup ili više content editora, treba ti Pro.
Kako migrirati postojeći Craft sajt na novi hosting?
Proces je dosta sličan WordPress migraciji, ali s nekoliko Craft specifičnosti. Imamo opći vodič za migraciju na WMD hosting, a za Craft konkretno: backup baze (mysqldump), backup storage/ i web/uploads/ direktorija, prebaci kod preko Gita, importaj bazu, prilagodi .env za novu okolinu, pokreni php craft up, provjeri da queue radi. Ako trebaš ruku, naša podrška ti može odraditi migraciju — javi se na info@wmd.hr.
Što s Craft Commerce — drugačiji zahtjevi?
Craft Commerce ima sve iste zahtjeve kao Craft core, plus malo agresivnije IO i memory potrebe zbog cart sessiona, order processinga i tax kalkulacija. Za shop do ~500 proizvoda i umjerenog prometa, kvalitetan shared hosting (npr. naš PRO paket) sasvim pokriva. Za veće shopove ili real-time ERP sync, razgovaramo o VPS-u ili dedicated rješenju.
Treba li mi dedicated server za Craft?
U 90% slučajeva ne. Moderan shared hosting s CloudLinux izolacijom resursa, LiteSpeed serverom i NVMe storageom pokriva sve do prilično ozbiljnih projekata. Dedicated treba kad imaš specifične zahtjeve — custom kernel moduli, dedicated Redis cluster, vlastiti load balancer, ili compliance koji zahtijeva fizičku izolaciju.
Mogu li koristiti više Craft sajtova na jednom hosting paketu?
Da. Naš START paket podržava 3 sajta, PRO 10. Svaki sajt ima vlastiti document root, vlastitu bazu, vlastiti .env. Tipičan workflow agencije: production + staging + client preview na istom paketu.
Spreman za Craft hosting koji ne usporava?
Ako gradiš ozbiljan Craft projekt — bilo client work, in-house produkt ili agency portfolio — hosting koji razumije moderan PHP stack je razlika između "radi" i "radi brzo, sigurno, i bez glavobolje".
Pogledaj naše hosting pakete i iskoristi aktualnu 1+1 akciju, ili nam se javi na kontakt formu ili direktno na info@wmd.hr ako trebaš pomoć oko izbora paketa, migracije postojećeg sajta, ili procjene koliko resursa će ti realno trebati. Odgovaramo brzo, na hrvatskom, i ne šaljemo te kroz tri reda supporta da dobiješ odgovor na tehničko pitanje.
Craft zaslužuje hosting koji ga razumije. Mi ga razumijemo.