Staging je kopija tvog live sajta na izoliranoj URL adresi (npr. staging.tvojsajt.hr). Na njoj testiraš sve što planiraš na produkciji — plugin updates, novi dizajn, code deploy, MySQL izmjene — bez rizika da slomiš stvarne posjete. Bez staginga ažuriraš naslijepo i molit ćeš se da nije baš ovaj put. Sa stagingom znaš.
Ovaj vodič pokazuje praktičan staging workflow na cPanelu — koje alate koristi, kako automatizirati push between staging i production, i koje su zamke koje treba znati prije nego napraviš push.
Tko treba staging
- Bilo tko tko ima sajt koji generira prihod ili posjete koje nije OK izgubit na 30 minuta.
- Razvijaš novu temu, custom plugin, ili veće layout promjene.
- Imaš WooCommerce s aktivnim narudžbama — refund i čak najmanja greška u checkout flow je trošak.
- Imaš agenciju ili tim koji radi paralelno na promjenama.
- Razvijaš sustave koji vise od WP-a (Laravel app, custom Craft instance, headless setup).
Single-page brand portfolio koji ažuriraš jednom u 6 mjeseci ne treba staging. Sve ostalo — da.
Tri tipična pristupa staging-u na cPanelu
1. WordPress Manager (Softaculous) staging — najbrži za WP
Većina cPanel hostova ima ugrađen WordPress Manager by Softaculous. Kroz njega:
- Otvori WordPress Manager, odaberi svoj sajt.
- Klikni Create Staging — bira tipa subdomain (
staging.tvoj.hr) ili direktorij. - Softaculous klonira fileove i bazu u par minuta.
- Testira na staging URL-u, kad si gotov klikni Push to Live — vraća promjene na production.
Prednosti: 5-minutni setup, automatic search-and-replace URL-ova, integrirano.
Mane: Push to live može prebrisati production izmjene koje su nastale tijekom rada na staging-u (npr. nove narudžbe). Pažljivo s WooCommerce stagingovima.
2. Manual klon (file copy + database export/import)
Klasično za sve CMS-ove i custom aplikacije:
- Kreiraj subdomain
staging.tvojsajt.hru cPanelu (Subdomains). - U Terminal-u (SSH):
cp -r ~/public_html/* ~/staging.tvojsajt.hr/ # ili rsync za velike sajtove rsync -av --progress ~/public_html/ ~/staging.tvojsajt.hr/ - U phpMyAdmin: export baze, importaj kao novu (
tvojsajt_staging). - Edit
wp-config.php(ili.env) na staging — promijeni DB credentials. - WP search-replace URL-ova:
wp search-replace 'tvojsajt.hr' 'staging.tvojsajt.hr' --skip-columns=guid - Provjeri da staging radi.
Prednosti: Full kontrola, radi na bilo kojoj aplikaciji.
Mane: 15-30 min za prvi setup. Nema automatic push-back.
3. Git-based deploy (production-grade)
Za team setup ili aplikacije koje se redovito ažuriraju:
- Repo na GitHub/GitLab. Branchevi:
main(production),staging. - cPanel Git Version Control deploy:
mainbranch deploy →~/public_htmlstagingbranch deploy →~/staging.tvojsajt.hr
- Workflow: pull request u
staging→ cPanel deploy → testirate → merge umain→ cPanel deploy production.
Prednosti: Verzionirano, više developera, audit trail.
Mane: Baza i uploadi ne idu kroz Git — moraš ih ručno sinkronizirati.
Najveći problem: sinkronizacija baze i uploadova
File deploy je riješen problem (Softaculous, Git, rsync). Baza i media upload-i nisu — i tamo većina staging procedura ima rupe.
Scenariji koji izlaze iz kontrole:
- Radiš na staging-u dva dana. U međuvremenu, na production-u dođu 47 narudžbi. Push-to-live prebriše bazu → 47 narudžbi izgubljeno.
- Uploadaš nove slike na staging. Push prebacuje fileove, ali stari production media ostane → mješavina starih i novih.
- User registrations na production-u tijekom rada na staging-u → izgubljeni.
Rješenja:
- Plugin-based push: WP Migrate DB Pro, WP Stagecoach — selektivno push samo određene tablice (npr.
wp_posts,wp_options, izostaviwp_users,wp_comments,woocommerce_*). - Code-only staging: staging je samo za file/code testing. Baza i uploadi ostaju live. Riješava 90% problema za WP/WooCommerce.
- Migrate ili merge? Ako menjaš samo CSS/JS/templates — full push OK. Ako menjaš sadržaj/posts/products — koristi plugin koji merge-uje, ne overrides.
Praktičan workflow za WP/WooCommerce
- Production lock: prije rada na staging-u, komuniciraj timu da nitko ništa ne menja na produkciji.
- Klone-iraj kao staging: Softaculous Create Staging ili manual.
- Radi promjene: tema, pluginovi, custom code.
- Testiraj sve scenarije: checkout, login, admin, search, mobile.
- Pre-deploy check: backup production baze (
wp db export production-pre-deploy.sql), backup uploads (tar -czf uploads-backup.tar.gz wp-content/uploads). - Push: Softaculous Push to Live, ali selektivno — samo files i specific theme/plugin tables. Ne overpisati
wp_orders,wp_users,wp_comments. - Post-deploy check: test 5 critical paths (homepage, product page, add-to-cart, checkout, login).
- Rollback ready: ako problem,
wp db import production-pre-deploy.sqli restore uploads tar.
Staging best practices
- Password-protect staging: kroz Directory Privacy u cPanelu. Inače Google indeksira staging i imaš duplicate content problem.
robots.txtna staging-u sDisallow: /i meta noindex u headeru.- Disable production-only servisi na staging-u: payment gateway u test mode, email sending u logger only (ne šalji stvarne mailove kupcima sa staging-a).
- Wipe staging redovito — staging koji se mjesecima vuče sa stale podacima više škodi nego koristi.
- Naming convention:
staging.tvojsajt.hrilidev.tvojsajt.hr— konzistentno preko svih klijenata.
Kako WMD postavlja staging
Na WMD managed paketima:
- WordPress Manager by Softaculous predinstaliran — staging u jedan klik.
- Git Version Control dostupan u cPanelu za code-deploy workflow.
- Subdomain SSL automatski za sve staging URL-ove (Let's Encrypt).
- Direktna pomoć kad treba postaviti složeniji staging (Laravel queue worker testing, headless setup, multisite).
Najčešća pitanja
Mogu li imati više staging environment-a?
Naravno. Tipično: staging.tvoj.hr (latest), dev.tvoj.hr (work-in-progress), qa.tvoj.hr (formal testing). Subdomain count nije limitiran.
Što je sa SSL na staging subdomain-u?
cPanel automatski izda Let's Encrypt za sve subdomain-e ako je AutoSSL uključen. Manualni klik kroz SSL/TLS Status ako ne ide auto.
Trebam li staging za jednostavnu blog stranicu?
Ako menjaš samo posts — ne treba. Za bilo kakvu temu/plugin update preporučujemo. JetBackup snapshot prije update-a je minimum.
Mogu li koristit Local by Flywheel ili DDEV umjesto online staging-a?
Možeš za development, ali production-staging na istom hosting okruženju otkriva probleme koje lokalni dev ne hvata (PHP-FPM workeri, MySQL setup, server cache layer-i). Najbolje kombinacija: lokalni dev + online staging.